一个加密的vbs病毒照本宣科的解密之旅 -电脑资料
来源:鬼仔 blog
写在前面:
前不久拿到一个vbs脚本病毒 我的娘啊都是什么东西啊,万里江山一片黑 乱码实在是乱,才艺不精只摆渡哥哥了 运气不错 找到个完整的解密过程的介绍 感谢这个高手精彩的帖子 按步就班的解啊 解啊 就有了今天的这个帖子点击查看原帖
警告:
1,以下代码为vbs病毒源代码有可能危害你的计算机病毒,请在虚拟机中运行 如果不慎感染此病毒 建议参考非主流病毒——脚本病毒(VBS病毒)的简单分析与处理思路
清除该病毒
2,请不要使用还原以后的源代码从事非法勾当
病毒源乱码
1.txt
第一次解密过程
注意这段
:y="execute """"":z="&chr(&h":w=")":execute("do while len(x)>1:if isnumeric(left(x,1)) then y=y&z&left(x,2)&w:x=mid(x,3) else y=y&z+left(x,4)+w:x=mid(x,5)"&vbcrlf&"loop"):Intercept (y):end
将execute(y)修改为Intercept (y)Intercept代码
Sub Intercept (y)
WScript.Echo y
utPutFile="decode_2.txt"
Set bjFSO=CreateObject("Scripting.FileSystemObject")
Set bjTXT=objFSO.CreateTextFile(OutPutFile,True,False)
objTXT.Write y
objTXT.Close
Set bjWSH=CreateObject("WScript.Shell")
objWSH.Run OutPutFile
WScript.Quit
End Sub
保存一下内容为vbs文件然后运行,得到decode_2.txtdecode_2.txt
第二次解密
打开得到的decode_2.txt
依旧是修改execute 为Intercept
保存以下代码为vbs然后运行,得到decode_3.txt
decode_3.txt
第三次解密
注意源程序的这里(添加的代码段来自decode_3.txt)
:execute(uc(l0+q0))
修改为b=10+q0
c=vbcrlf:d=127:f=11:j=12:h=14:m=31:r=83:k=1:n=8:s=114:u=-5:v=5
i="if a=":t=" then ":e="elseif a>=":a=" and a<=":g="a=a+":o=t&c&g:p=c&e:q=c&i
execute(l&"for ii=1 to len(b):a=asc(mid(b,ii,1))"&q&"d"&t&"a=13"&q&"f"&t&"a=10"&q&"j"&t&c&"a=34"&c&e&"h"&a&"m"&o&"r"&p&"k"&a&"n"&o&"s"&p&"53"&a&"57"&o&"u"&p&"48"&a&"52"&o&"v"&c&"end if"&c&"uc=uc+chr(a)"&c&"next"&c&"uc=rn+c+uc")
修改新出现的execute为Intercept保存以下代码为vbs运行得到decode_4.txt
decode_4.txt
第四次解密
打开原来的乱码程序 关注
:execute(uc(lO+qO)
修改 execute 为 Intercept保存以下代码为vbs获取decode_5.txt
decode_5.txt
第五次解密
打开decode_5.txt关注这里
:execute(ext&"dyz))"&ext&"zcx))"&fut&"gt()"&ext&"gtz"&aft&"ei(name,wt)"&ext&"eiz"&aft&"df(wh)"&ext&"dfz"&aft&"bf(wh,wt,da)"&ext&"bfz"&aft&"bi(wh)"&ext&"biz"&aft&"rt(wh,li)"&ext&"rtz"&aft&"wr(rna,rda)"&ext&"wrz"&aft&"rr(rna,pa)"&ext&"rrz"&a
依然修改 execute 为 Intercept保存以下代码为vbs获取decode_6.txt
decode_6.txt
第六次解密
打开decode_5.txt在代码最后添加以下代码
以下代码来自decode_6.tx
tSourceStr=":execute(uc(dyz)):execute(uc(zcx)):function gt():execute(uc(gtz)):end function:function ei(name,wt):execute(uc(eiz)):end function:function df(wh):execute(uc(dfz)):end function:function bf(wh,wt,da):execute(uc(bfz)):end function:function bi(wh):execute(uc(biz)):end function:function rt(wh,li):execute(uc(rtz)):end function:function wr(rna,rda):execute(uc(wrz)):end function:function rr(rna,pa):execute(uc(rrz)):end function:function ar(file,cg):execute(uc(arz)):end function:function dn(loc,web,ris,min):execute(uc(dnz)):end function:function pr(pcs,gs):execute(uc(prz)):end function:function ec(wt):execute(uc(ecz)):end function:function co(wh):execute(uc(coz)):end function:function rs(sw):execute(uc(rsz)):end function:function hi(sw):execute(uc(hiz)):end function:function gi(ids,fid,eid,fname,furl):execute(uc(giz)):end function:function dw(pcs,fn,furl,kill):execute(uc(dwz)):end function:function us(sw):execute(uc(usz)):end function:function cu():execute(uc(cuz)):end function:function km(sw):execute(uc(kmz)):end function:function cf(wh):execute(uc(cfz)):end function"
以下代码来自decode_3.txt
Function uc(b)
c=vbcrlf:d=127:f=11:j=12:h=14:m=31:r=83:k=1:n=8:s=114:u=-5:v=5
i="if a=":t=" then ":e="elseif a>=":a=" and a<=":g="a=a+":o=t&c&g:p=c&e:q=c&i
execute(l&"for ii=1 to len(b):a=asc(mid(b,ii,1))"&q&"d"&t&"a=13"&q&"f"&t&"a=10"&q&"j"&t&c&"a=34"&c&e&"h"&a&"m"&o&"r"&p&"k"&a&"n"&o&"s"&p&"53"&a&"57"&o&"u"&p&"48"&a&"52"&o&"v"&c&"end if"&c&"uc=uc+chr(a)"&c&"next"&c&"uc=rn+c+uc")
End Function
保存以下代码为vbs获取最终解密的病毒源代码
2.txt