用TRW快速手脫Armadillo V2.20加殼程式――Win98的Calc.exe、Notepad.exe等

看雪資料發表於2015-11-15

用TRW快速手脫Armadillo V2.20加殼程式――Win98的Calc.exe、Notepad.exe等
 

 
【軟體簡介】:記事本可能是被大家使用最多的實驗品了。Win98的計算器在XP下也可以執行。

【作者宣告】:初學Crack,只是感興趣,沒有其它目的。失誤之處敬請諸位大俠賜教!

【除錯環境】:Win98SE、TRW2000娃娃修改版、PEiD、LordPE、ImportREC、W32Dasm 9.0白金版

――――――――――――――――――――――――――――――――― 
【脫殼過程】:
          

Armadillo V2.20 已是很舊的版本了,但對於我等脫殼菜鳥來說依舊是有學習價值的。我們是幸運的,有那麼多的大俠把自己的心得無私的奉獻出來,感謝這些心胸寬廣的大俠們!這次我主要是學習了 leo_cyl1 大俠的《關於Armadillo 1.8x-2.x的anti-debug&加殼原理初步探討和脫殼方法》。
     
Armadillo V2.20 反跟蹤:①、呼叫creatfilea檢測SoftICE;②、呼叫IsDebuggerPresent檢測windows偵錯程式是否存在,如Ollydbg;③、INT3 ,在程式中使用一個偽裝的中斷來阻止程式的執行。
   
所以,為了簡單,我在98下用trw2000除錯,下faults off就可以避開這些反跟蹤了。
 
注:以下方法僅僅針對用Armadillo V2.20版 加殼的部分程式,不適用於Armadillo主程式。

―――――――――――――――――――――――――――――――――
一、Win98的Calc.exe


下斷:BPX Sleep 斷下後,F5三次程式執行,所以再次LOAD,F5二次,BD暫停斷點,F11返回程式領空

* Reference To: KERNEL32.Sleep, Ord:0296h
                                  |
:00406F59 FF1560104100            Call dword ptr [00411060]
:00406F5F 8B15E8324100            mov edxdword ptr [004132E8]
                                  ====>F11返回到這!

:00406F65 3315F0324100            xor edxdword ptr [004132F0]
:00406F6B 3315EC324100            xor edxdword ptr [004132EC]
:00406F71 3315F4324100            xor edxdword ptr [004132F4]
:00406F77 89951CF8FFFF            mov dword ptr [ebp+FFFFF81C], edx
                                  ====>EDX=010119E0            這就是OEP值  :-)

:00406F7D 8D8564F7FFFF            lea eaxdword ptr [ebp+FFFFF764]
:00406F83 50                      push eax
:00406F84 8B0DE4684100            mov ecxdword ptr [004168E4]
:00406F8A 51                      push ecx

* Reference To: KERNEL32.SetThreadContext, Ord:0283h
                                  |
:00406F8B FF1590104100            Call dword ptr [00411090]

――――――――――――――――――――――――

下斷:BPX 010119E0  F5執行,斷下! 脫殼:PDEDUMP 1.EXE  BC取消斷點,F5執行程式

執行ImportREC,選擇CALC.TMP0程式。把OEP改為000119E0,點IT AutoSearch,點“Get Import”,
FixDump,正常執行!  217K ->96K


――――――――――――――――――――――――――――――――― 
二、Win98的記事本


下斷:BPX Sleep 斷下後,F5二次程式執行,所以再次LOAD,F5一次,F11返回程式領空

* Reference To: KERNEL32.Sleep, Ord:0296h
                                  |
:00406F59 FF1560104100            Call dword ptr [00411060]
:00406F5F 8B15E8324100            mov edxdword ptr [004132E8]
                                  ====>F11返回到這!

:00406F65 3315F0324100            xor edxdword ptr [004132F0]
:00406F6B 3315EC324100            xor edxdword ptr [004132EC]
:00406F71 3315F4324100            xor edxdword ptr [004132F4]
:00406F77 89951CF8FFFF            mov dword ptr [ebp+FFFFF81C], edx
                                  ====>EDX=004010CC             這就是OEP值  :-)

:00406F7D 8D8564F7FFFF            lea eaxdword ptr [ebp+FFFFF764]
:00406F83 50                      push eax
:00406F84 8B0DE4684100            mov ecxdword ptr [004168E4]
:00406F8A 51                      push ecx

* Reference To: KERNEL32.SetThreadContext, Ord:0283h
                                  |
:00406F8B FF1590104100            Call dword ptr [00411090]

――――――――――――――――――――――――

下斷:BPX 004010CC  F5執行,斷下! 脫殼:PDEDUMP 2.EXE  BC取消斷點,F5執行程式

執行ImportREC,選擇NOTEPAD.TMP0程式。把OEP改為000010CC,點IT AutoSearch,點“Get Import”,
FixDump,正常執行!  208K ->56K
 

―――――――――――――――――――――――――――――――――
三、WDCT4.exe


下載地址:http://bbs.tmc2.com.cn/non-cgi/usr/14/14_157.rar
這是前幾日 東方龍 兄弟提到的軟體。315K
相關頁面:http://tongtian.net/pediybbs/viewtopic.php?p=4018#

――――――――――――――――――――――――
下斷:BPX Sleep 斷下後,F5九次程式執行,所以再次LOAD,F5八次,F11返回程式領空

* Reference To: KERNEL32.Sleep, Ord:0296h
                                  |
:00406F59 FF1560104100            Call dword ptr [00411060]
:00406F5F 8B15E8324100            mov edxdword ptr [004132E8]
                                  ====>F11返回到這!

:00406F65 3315F0324100            xor edxdword ptr [004132F0]
:00406F6B 3315EC324100            xor edxdword ptr [004132EC]
:00406F71 3315F4324100            xor edxdword ptr [004132F4]
:00406F77 89951CF8FFFF            mov dword ptr [ebp+FFFFF81C], edx
                                  ====>EDX=0043E7C4             這就是OEP值  :-)

:00406F7D 8D8564F7FFFF            lea eaxdword ptr [ebp+FFFFF764]
:00406F83 50                      push eax
:00406F84 8B0DE4684100            mov ecxdword ptr [004168E4]
:00406F8A 51                      push ecx

* Reference To: KERNEL32.SetThreadContext, Ord:0283h
                                  |
:00406F8B FF1590104100            Call dword ptr [00411090]

――――――――――――――――――――――――

下斷:BPX 0043E7C4  F5執行,斷下! 脫殼:PDEDUMP 3.EXE  BC取消斷點,F5執行程式

執行ImportREC,選擇NOTEPAD.TMP0程式。把OEP改為0003E7C4,點IT AutoSearch,點“Get Import”,
FixDump,正常執行!  376K ->380K


―――――――――――――――――――――――――――――――――
【總    結】:


用TRW載入加Armadillo V2.20殼的程式,FULTS OFF,下斷BPX Sleep,看看F5幾次程式執行。重新LOAD,下斷BPX Sleep,少按1次F5,F11返回程式領空,這時可以看見下面有幾個xor e*x, dword ptr [004*****],異或的結果就是OEP值了。BD,暫停斷點。BPX OEP,斷下後PEDUMP脫殼,BC取消斷點,F5執行程式。

執行ImportREC,選擇****.TMP0程式。修改OEP,點IT AutoSearch,點“Get Import”,FixDump,正常執行!


――――――――――――――――――――――――――――――――― 
    
                                
         ,     _/ 
        /| _.-~/            _     ,        青春都一餉
       ( /~   /              ~-._ |
       `\  _/                   ~ )          忍把浮名 
   _-~~~-.)  )__/;;,.          _  //'
  /'_,   --~    ~~~-  ,;;___(  (.-~~~-.        換了破解輕狂
 `~ _( ,_..-- (     ,;'' /    ~--   /._` 
  /~~//'   /' `~         ) /--.._, )_  `~
  "  `~"  "      `"      /~'`    `\~~   
                         "     "   "~'  ""

    

               Cracked By 巢水工作坊――fly [OCN][FCG]

                       2003-10-02  17:30

相關文章