手脫實現(xiàn)雙進程標準保護ArmaDillo殼_第1頁
手脫實現(xiàn)雙進程標準保護ArmaDillo殼_第2頁
手脫實現(xiàn)雙進程標準保護ArmaDillo殼_第3頁
手脫實現(xiàn)雙進程標準保護ArmaDillo殼_第4頁
手脫實現(xiàn)雙進程標準保護ArmaDillo殼_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、穿山甲殼的一個重要特點就是:尋找OEP本身不難,但Armadillo會對IAT進行加密處理,導(dǎo)致后面dump出的內(nèi)容無效,因此尋找OEP之前,需要繞過IAT的加密處理,以后dump后才能方便地用ImpRec修復(fù)。程序名為notepad.exe,運行后有兩個notepad.exe進程。原理大概是互相通過一個Mutex來通訊檢測對方是否存在。OD中可以通過手動匯編的方式進行雙變單。此樣本運行后有兩個進程。雙進程保護。1OD加載程序,對OpenMutexA函數(shù)下斷,F(xiàn)9運行2觀察棧 3 手動匯編,使進程由雙變單Ctrl+G 定位到 00401000 地址,手動輸入?yún)R編代碼:PushadPushfdP

2、ush 0012FDD8Xor eax,eaxPush eaxPush eaxCall CreateMutexAPopfdPopadJmp OpenMutexA 截圖如下:然后在 00401000 出 新建EIP ,程序從此處運行Jmp OpenMutexA 處跳到OPenMutexA函數(shù)處取消OpenMutex斷點,消除00401000處修改的代碼,恢復(fù)原狀接下來在系統(tǒng)空間內(nèi)對 GetModuleHandleA 函數(shù)下硬件執(zhí)行斷點 He apiF9 1次:0012E79C 77C079B2 /CALL 到 GetModuleHandleA 來自 77C079AC0012E7A0 77BE31

3、BC pModule = "kernel32.dll"F9 2次:0012E61C 74683C4E /CALL 到 GetModuleHandleA 來自 MSCTF.74683C480012E620 0012E624 pModule = "C:WINDOWSsystem32ntdll.dll"F9 3次:0012E624 74683C4E /CALL 到 GetModuleHandleA 來自 MSCTF.74683C480012E628 0012E62C pModule = "C:WINDOWSsystem32imm32.dll"

4、;F9 4次:0012E570 74683C4E /CALL 到 GetModuleHandleA 來自 MSCTF.74683C480012E574 0012E578 pModule = "C:WINDOWSsystem32KERNEL32"F9 5次:0012ECFC 7365D4BA /CALL 到 GetModuleHandleA 來自 msctfime.7365D4B40012ED00 0012ED04 pModule = "C:WINDOWSsystem32ntdll.dll"F9 6次:0012EE64 5D175324 /CALL 到 G

5、etModuleHandleA 來自 5D17531E0012EE68 5D175370 pModule = "kernel32.dll"F9 7次:0012EF24 77F45CD0 /CALL 到 GetModuleHandleA 來自 77F45CCA0012EF28 77F4501C pModule = "KERNEL32.DLL"F9 8次:0012F73C 00433EF3 /CALL 到 GetModuleHandleA 來自 練習(xí)用NO.00433EED0012F740 00000000 pModule = NULLF9 9次:(時間稍長

6、)00129528 00BB6DF3 /CALL 到 GetModuleHandleA 來自 00BB6DED0012952C 00BCBC1C pModule = "kernel32.dll"00129530 00BCCEC4 ASCII "VirtualAlloc"F9 10次:00129528 00BB6E10 /CALL 到 GetModuleHandleA 來自 00BB6E0A0012952C 00BCBC1C pModule = "kernel32.dll"00129530 00BCCEB8 ASCII "Vi

7、rtualFree"F9 11次:0012928C 00BA5CE1 /CALL 到 GetModuleHandleA 來自 00BA5CDB00129290 001293DC pModule = "kernel32.dll"Ok Alt+F9 回到程序領(lǐng)空以下尋找OEP有兩種方法一是 修改jmp后往下跟,直到找到下圖 jmp + salc 是對IAT加密結(jié)束的標志,在jmp處下斷,Shift+F9運行,斷在這兒?;氐缴厦?,把jmp的改動恢復(fù)成je。至此IAT加密被繞過了。下一步:清除GetModuleHandleA斷點后下斷he CreateThread,Shift+F9運行一次,斷后Alt+F9返回F8 走下去 一直到 Call ecx 即可到達OEP另外一種方法是:從 GetModuleHandleA 返回程序領(lǐng)空后,將je 修改為 jmp去掉GetModuleHandleA的硬件執(zhí)行斷點然后alt+M 打開內(nèi)存面板 對00401000處下 內(nèi)存訪問斷點,F(xiàn)9運行到達OEP附近:F8 往下走吧 沒多少步就到達Call Ecx 了 ,Ecx 中的地址即為OEPF7 單步進入到達OEP:接下來就是dump ,修復(fù)導(dǎo)入表了Dump的時候最好不好用OD插件 否則很可能會卡死Dump使用LordP

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論