查看單個文章
舊 2005-12-18, 07:52 PM   #11 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

這個大循環完成後IAT就恢復完成了...這個IAT是沒有被破壞的, 根據一般經驗, 殼在執行時都會有這麼一個大循環來恢復IAT,
有的是破壞, 因此當在你一個循環中碰到GetModuleHandleA, LoadLibraryA, GetProcAddress, 時就要小心了, 記下它,
有可能ImportRec找不回API函數的時候, 需要手動式修復IAT時就要用到它
循環完後,來到這裡
006AF39A B8 08CF1C00 mov eax,1CCF08 ; OEP的RVA
006AF39F 50 push eax
006AF3A0 0385 22040000 add eax,dword ptr ss:[ebp+422] ; OEP值
006AF3A6 59 pop ecx
006AF3A7 0BC9 or ecx,ecx
006AF3A9 8985 A8030000 mov dword ptr ss:[ebp+3A8],eax ; 修改[ebp+3A8]處的程式碼
006AF3AF 61 popad
006AF3B0 75 08 jnz short DrvStudy.006AF3BA ; 跳
006AF3B2 B8 01000000 mov eax,1
006AF3B7 C2 0C00 retn 0C
006AF3BA 68 08CF5C00 push DrvStudy.005CCF08 ; 變形跳轉
006AF3BF C3 retn ; ^_^ 飛向光明之顛
這裡就是典型的Delphi程序的OEP處程式碼
005CCF08 55 push ebp ; 停在這裡
005CCF09 8BEC mov ebp,esp
005CCF0B 83C4 F0 add esp,-10
005CCF0E 53 push ebx
005CCF0F B8 80CA5C00 mov eax,DrvStudy.005CCA80
005CCF14 E8 B3A7E3FF call DrvStudy.004076CC
現在就可在005CCF08處Dump程序了, 用OD的OllyDump插件, Dump出程序, 啟動ImportREC, 填入OEP的RVA值
先點IATAutoSearch, 再點GetImport, 找到的API全部有效, 點Fix Dump, 修復IAT游標
執行程序, 提示系統資料錯誤, 這是因為程序有自校驗, 發現自己被脫殼後拒絕執行, 去除程序的自校驗我就不說了...用爆破
的方法就能搞定...
附件: ASXP_v135自動脫殼 http://www.chinadforce.com/attachment.php?aid=186834
附件: fi脫殼工具 http://www.chinadforce.com/attachment.php?aid=186835
附件: Krykiller加殼 http://www.chinadforce.com/attachment.php?aid=186836
附件: BW2K02找殼點工具 http://www.chinadforce.com/attachment.php?aid=186837
附件: 黑客實用工具 http://www.chinadforce.com/attachment.php?aid=186838
附件: vfpkill150脫殼 http://www.chinadforce.com/attachment.php?aid=186839
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1630 篇, 收花: 3204 次