記得當年asp木馬出來的時候號稱“永不被殺的木馬”,呵呵,時至今日,隨便什么殺毒軟件都能將其殺得片甲不留^_^呵呵,受到木馬換殼躲避殺毒軟件思路影響,我們也可以給asp木馬“加殼”(呵呵,當然不是用UPX等)。還等什么?請往下看。 .
其實這個思路很簡單,就是把asp代碼編碼,執行時再解碼。這里有兩個方法,一是用微軟的工具Script Encoder;二是利用asp的execute函數。 特別注意:本站所有轉載文章言論不代表本站觀點,本站所提供的攝影照片,插畫,設計作品,如需使用,請與原作者聯系.
先說說Script Encoder。這個東東可以在微軟官方網站免費下到,而且還附贈詳細使用說明,這里就不多說了吧。但是經過它加密后的文件會有<%@ LANGUAGE = VBScript.Encode %>,呵呵,露馬腳了,管理員看到這句話就知道這個asp文件被加密了。那怎么解密呢?這里提供一個解密軟件(》點擊進入下載《)。現在知道了吧,微軟的Script Encoder不保險,所以呢,我們要自己寫一個程序出來“加殼”。 。
asp的execute函數是拿來執行字符串的,即是說可以把asp語句寫成字符串,然后用execute來執行。比如這行代碼:execute("response.write(""hackerXfiles"")"),執行后的效果等同于執行response.write("hackerXfiles")。這里由于execute函數里的東東是字符串,故遇到引號要雙寫。呵呵,既然execute里是字符串,那么我們就可以把里面的東東拿來加密了。 .
怎么加密呢?呵呵,就用最簡單的移位法好了。請看代碼:
but=1
cc=replace(nr,vbcrlf,"胡")
for i= 1 to len(cc)
if mid(cc,i,1)<>"胡" then
pk=asc(mid(cc,i,1))+but
if pk>126 then
pk=pk-95
elseif pk<32 then
pk=pk+95
end if
temp=temp&chr(pk)
else
temp=temp&"胡"
end if
next
temp=replace(temp,"""","""""")
response.write(temp) 版權申明:本站文章均來自網絡,如有侵權,請聯系028-86262244-215,我們收到后立即刪除,謝謝!
這段代碼就是asp下的循環移位法。那個變量but就是移位的位數,可修改。呵呵,怎么叫循環呢?因為程序會比較字符的ascii碼,當大于126或者小于32時就會處理,使范圍在32~126之間。因為這樣可以避免出現windows不能顯示的字符。這也是一開始就把回車換行符替換掉的原因。這里我自己寫了一個移位加密的asp程序xor.asp附上,希望對你有幫助。 .
那就讓我們來看看用上面代碼把response.write("hackerXfiles")加密后的結果:“sftqpotf/xsjuf)#ibdlfsYgjmft#*”,嘿嘿,這回神仙也看不懂了吧^_^ 。
既然加了密,當然要解密啦,看解密代碼: 本站所提供的攝影照片,插畫,設計作品,如需使用,請與原作者聯系。
function UnEncode(temp)
but=1 '這個是移位法所移的位數!注意修改此處與加密時使用的一致
for i =1 to len(temp)
if mid(temp,i,1)<>"胡" then
pk=asc(mid(temp,i,1))-but
if pk>126 then
pk=pk-95
elseif pk<32 then
pk=pk+95
end if
a=a&chr(pk)
else
a=a&vbcrlf
end if
next
UnEncode=a
end function 版權申明:本站文章均來自網絡,本站所有轉載文章言論不代表本站觀點
呵呵,現在知道怎么執行了吧,只需調用這個解密函數就是:execute(UnEncode("sftqpotf/xsjuf)#ibdlfsYgjmft#*")),怎么樣,是不是順利執行了! .