史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   程式 & 網頁設計技術文件 (http://forum.slime.com.tw/f138.html)
-   -   :Regrun2 3.30 ASPR1。23脫殼文章 (http://forum.slime.com.tw/thread86371.html)

psac 2003-12-12 01:21 PM

:Regrun2 3.30 ASPR1。23脫殼文章
 
http://wycrack.51.net/learn/un_RegRun2.zib
下載完後改後面名為ZIP

RegRun2 V3.30脫殼說明

大家如對這篇文章有不懂之處,請先看[DFCG]脫殼教學之aspr引入表修複篇.http://dfcg.9842.org/


********************************************************************************

*****[Regrun2.exe的脫殼程序]*****

********************************************************************************

1,用loader找到殼的入口點:OEP=00401000

2,在入口點dump下程式儲存為un_regrun2.exe

3,用W32dasm反編譯程式搜尋字串:jmp dword ptr [00
找到引入表的範圍在:0058a174,大小為:00000ec0h

4,在un_regrun2.exe中找一片全00地區。我找的是:005e3000,大小為:000017000h

5,執行[DFCG]的un_aspr1.0,在視窗中輸入0058a174和005e3000.

6,按確定.在出現第二個提示視窗的時候,記下正確的引入表入口點: 001e3108 .
用lordpe ,dump出0058a174後的ec0h字元資料和005e3000後的000017000h的資料.
儲存為0058a174~ec0.dmp和005e3000~17000.dmp文件.

7,用dump出的資料替換un_regrun2.exe中對應位址的資料.

8,改正引入表入口點為001e3108.

9,修複其他的幾個aspr特殊API.如下表:

KERNEL32.DLL中的未修複函數:

0018a434 空函數 先讓其指向Getcommandlinea函數,以確保函數的連續性,但修改0053afe2處的指令為:RETN 04,如下:

0053AFDC $-FF25 30A45>JMP DWORD PTR DS:[<&KERNEL32.F>; kernel32.FreeLibrary
0053AFE2 $ C2 0400 RETN 4
0053AFE5 90 NOP
0053AFE6 90 NOP
0053AFE7 90 NOP
0053AFE8 $-FF25 38A45>JMP DWORD PTR DS:[<&KERNEL32.G>; kernel32.GetACP


0018a440 GetCommandLineA
0018a444 GetCurrentProcess
0018a448 GetModuleHandleA
0018a488 GetProcAddress

0018a518 空函數 先讓其指向Getcommandlinea函數,以確保函數的連續性,但修改0053b138處的指令如下:

0053B132 $-FF25 14A55800 JMP DWORD PTR DS:[<&KERNEL32.L>; kernel32.LocalFree
0053B138 $ C2 0400 RETN 4
0053B13B 90 NOP
0053B13C 90 NOP
0053B13D 90 NOP


COMCTR32.DLL中的未修複函數:

0018a6bc InitCommonControls


結束語:
附上脫殼後再用upx1.20壓縮的regrun2.exe.其他的幾個程式也可用這種方法脫殼。引入表的需修複函數相似.


-={完成}=-


所有時間均為台北時間。現在的時間是 06:29 AM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1