ASProtect V1.2脫殼――Asterisk Password Recovery XP

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

ASProtect V1.2脫殼――Asterisk Password Recovery XP
 
  
 
下載頁面:  http://www.fadsoft.com/ 
軟體大小:  368 KB
軟體語言:  英文
軟體類別:  共享版 / 密碼恢復
應用平臺:  Win9x/NT/2000/XP
加入時間:  2002-07-11
下載次數:  18214
推薦等級:  ***

【軟體簡介】:星號密碼剋星用來讀取隱藏在星號*****後面的密碼,同時可以讀取IE中的星號密碼。

【軟體限制】:30天試用、功能限制

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

【破解工具】:Ollydbg1.09、FI、LordPE、ImportREC、RegMon

――――――――――――――――――――――――――――――――― 
【過    程】:
          
        
           
手裡拿到的這個版本是以前某個朋友上傳的,沒有寫版本號。天空上的是V 1.89版,主程式直接用ASProtect v1.2加殼,比我手裡的版本少了一些特殊的東西呀,或許下面所說的UPX + RarSfx並不是作者做的。 ^O^  

apr189_portable.exe 用FI看是“UPX + RarSfx ”  暈,沒見過這種混合型的東東。 :-<


後來按UPX的方法脫殼後發現…… :-)  原來 apr189_portable.exe 是用WinRAR 高階自解壓 方式打包成的SFX自解壓檔案!然後再用UPX壓縮了這個SFX檔案!原來FI顯示UPX + RarSfx是這個原因呀。

雙擊apr189_portable.exe ,程式會在C:WINDOWSTEMP下解壓成RarSFX0資料夾,程式退出後會自動刪除這個資料夾。早知道UPX也就沒必要脫了。好了,在除錯時把RarSFX0複製出來,裡面有5個檔案:AsteriskPR.exe、apr.ani、gotit.wav、help.htm、mousehook.dll。真正的主程式是AsteriskPR.exe!用FI看是ASProtect V1.2殼。呵呵,真是用了不少心思呀!:-)   這個東東可以用CasprGui自動脫殼,比較完美啦,比我手脫的要小不少。


呵呵,PEID 0.8也能找到這個東東的OEP,:-) 試試用Ollydbg手動脫殼吧,雖然這個版本的ASProtect已被大俠們脫過N次了,但畢竟自己做一次才能更好的學習呀。 :-D

―――――――――――――――――――――――
一、脫殼 


00401000       68 01C04000        push ASTERISK.0040C001
                                  ====>進入OD後斷在這!

00401005       C3                 retn

F9執行,程式會在異常處中斷。

00DB009D     3100                 xor dword ptr ds:[eax],eax
                                  ====>第一個異常

00DB009F     EB 01                jmp short 00DB00A2


Shift+F9透過異常,20次程式執行。好了,Try Again,按19次Shift+F9,停下來。


00DC24E1     60                   pushad
00DC24E2     A3 29B12F03          mov dword ptr ds:[32FB129],eax
00DC24E7     C490 60E80600        les edx,fword ptr ds:[eax+6E860]
00DC24ED     0000                 add byte ptr ds:[eax],al
00DC24EF     8B6424 08            mov esp,dword ptr ss:[esp+8]
                                  ====>堆疊區的第二條地址        下斷點!

00DC24F3     EB 0C                jmp short 00DC2501
00DC24F5     33F6                 xor esi,esi
00DC24F7     64:FF36              push dword ptr fs:[esi]
00DC24FA     64:8926              mov dword ptr fs:[esi],esp
00DC24FD     FF06                 inc dword ptr ds:[esi]
                                  ====>第19次異常在這兒!          :-)
                                  ====>看看堆疊區的第二條地址是:00DC24EF  F2設斷

00DC24FF   ^ EB E8                jmp short 00DC24E9
00DC2501     05 ACA78DB2          add eax,B28DA7AC
00DC2506     E8 09000000          call 00DC2514
                                  ====>變形JMP!F7走進

00DC250B     23C5                 and eax,ebp
00DC250D     48                   dec eax
00DC250E     E9 05000000          jmp 00DC2518
                                  ====>最後從這跳下去!

00DC2513     90                   nop
00DC2514     C1E0 F7              shl eax,0F7
00DC2517     C3                   retn
                                  ====>返回00DC250B


在00DC24EF處設斷後,Shift+F9執行,程式會中斷在00DC24EF
F7走,會從00DC2517處返回00DC250B,再跳到00DC2518處!


00DC2518     2BC9                 sub ecx,ecx
00DC251A     64:8F01              pop dword ptr fs:[ecx] ; 00DC2870
00DC251D     59                   pop ecx
00DC251E     E8 00000000          call 00DC2523
00DC2523     98                   cwde
00DC2524     8B2C24               mov ebp,dword ptr ss:[esp]
00DC2527     58                   pop eax
00DC2528     81ED AB28BD00        sub ebp,0BD28AB
00DC252E     1BC6                 sbb eax,esi
00DC2530     B9 F1AD8DB2          mov ecx,B28DADF1
00DC2535     81F1 A78530B2        xor ecx,B23085A7
00DC253B     33C6                 xor eax,esi
00DC253D     03CD                 add ecx,ebp
00DC253F     B8 15B08DB2          mov eax,B28DB015
00DC2544     8BF8                 mov edi,eax
00DC2546     81EF 0FB08DB2        sub edi,B28DB00F
00DC254C     23C2                 and eax,edx
00DC254E     BB ADA38DB2          mov ebx,B28DA3AD
00DC2553     C1C0 BA              rol eax,0BA
00DC2556     3119                 xor dword ptr ds:[ecx],ebx
00DC2558     83EF 01              sub edi,1
00DC255B     8BC3                 mov eax,ebx
00DC255D     05 D1A38DB2          add eax,B28DA3D1
00DC2562     93                   xchg eax,ebx
00DC2563     F8                   clc
00DC2564     41                   inc ecx
00DC2565     41                   inc ecx
00DC2566     41                   inc ecx
00DC2567     41                   inc ecx
00DC2568     B8 00000000          mov eax,0
00DC256D     48                   dec eax
00DC256E     03C7                 add eax,edi
00DC2570   ^ 79 E4                jns short 00DC2556
                                  ====>F4下去

00DC2572     40                   inc eax
00DC2573     61                   popad
00DC2574     0BC5                 or eax,ebp
00DC2576     48                   dec eax
00DC2577     C3                   retn
                                  ====>返回到00DC24CE


00DC24CE     5B                   pop ebx           ;ASTERISK.00400000
00DC24CF     58                   pop eax
00DC24D0     05 AA2CE3A4          add eax,A4E32CAA
00DC24D5     5C                   pop esp
00DC24D6     0BC9                 or ecx,ecx
00DC24D8   ^ 74 E3                je short 00DC24BD
00DC24DA     8901                 mov dword ptr ds:[ecx],eax
00DC24DC     03C3                 add eax,ebx
                                  ====>EAX=000045A6 + 00400000=004045A6   這就是OEP值  :-)

00DC24DE     894424 1C            mov dword ptr ss:[esp+1C],eax
00DC24E2     61                   popad
00DC24E3     FFE0                 jmp eax
                                  ====>跳向OEP


―――――――――――――――――――――――
004045A6       55                 db 55  
                                  ====>在這兒用LordPE完全DUMP這個程式

004045A7       8B                 db 8B
004045A8       EC                 db EC
004045A9       6A                 db 6A  


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

重新執行程式,執行ImportREC,選擇這個程式。把OEP改為000045A6,點IT AutoSearch,點“Get Import”,有一個函式手動修復之後無效,用ASProtect 1.22的外掛追蹤也不行:  :-(
FThunk: 00005328  NbFunc: 00000001
0  00005328  ?  0000  00401000

索性就這樣FixDump,卻正常執行!:-)  73K ->104K
 


――――――――――――――――――――――――――――――――― 
二、關於破解


程式的30天試用是用ASProtect做的限制,脫完殼後就取消試用期了。

或者把登錄檔中的:
[HKEY_CLASSES_ROOTCLSID{9F0BB62D-07DF-6011-4495-DE6C8C1F2D37}]
@="8A31RyvX"  刪除。也可以把8A31RyvX改成:JvZwZi8fBQjZeL/K


除錯的時候在記憶體中發現這段程式碼:   :-)  不清楚這是哪個作者留的   :-P

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

00DC28A0  50 6C 65 61 73 65 20 64 6F 6E 74 20 63 72 61 63  Please dont crac
00DC28B0  6B 20 69 74 20 74 68 61 6E 6B 20 79 6F 75 20 69  k it thank you i
00DC28C0  66 20 79 6F 75 20 6E 65 65 64 20 61 20 72 65 67  f you need a reg
00DC28D0  69 73 74 65 72 20 63 6F 70 79 20 70 6C 65 61 73  ister copy pleas
00DC28E0  65 20 6C 65 74 20 6D 65 20 6B 6E 6F 77 00 78 52  e let me know

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

這個東東保護的不錯,或許是不完全版。看了一會兒沒能找到好的突破口,算了吧,該休息了。:-(


BTW:某些程式反RegMon、FileMon,這個東東就KILL掉RegMon,我們可以對程式動手術,但這樣碰到一個就要改一次,也不好找到關鍵的地方;所以我們可以把自己的RegMon、FileMon修改一下,讓程式認不出來,呵呵。 :-)


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

    

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

                           2003-09-16  22:40


相關文章