一个加密的vbs病毒照本宣科的解密之旅

鬼仔注:因为部分代码中含有特殊字符,会造成我这里feedburner中出现乱码,所以把那些代码放带了单独的txt中,给出了链接。

来源:爱毒霸社区

写在前面:
前不久拿到一个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
OutPutFile="decode_2.txt"
Set objFSO=CreateObject("Scripting.FileSystemObject")
Set objTXT=objFSO.CreateTextFile(OutPutFile,True,False)
objTXT.Write y
objTXT.Close
Set objWSH=CreateObject("WScript.Shell")
objWSH.Run OutPutFile
WScript.Quit
End Sub

保存一下内容为vbs文件然后运行,得到decode_2.txt
decode_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.txt

SourceStr=":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

相关日志

发表评论