EXEStealth V2.5脫殼+易語言程式――多程式啟動管理器 V2.32

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

EXEStealth V2.5脫殼+易語言程式――多程式啟動管理器 V2.32 
  
             
                    
下載頁面:  http://www.skycn.com/soft/13001.html
軟體大小:  1329 KB
軟體語言:  簡體中文
軟體類別:  國產軟體 / 共享版 / 系統增強
應用平臺:  Win9x/NT/2000/XP
加入時間:  2003-09-04 09:45:03
下載次數:  1796
推薦等級:  ***

【軟體簡介】: 您是不是遇到過這種情況:軟體安裝多了,桌面幾乎被各種程式的快捷方式圖示覆蓋著,您所定義的個性化的、漂亮的桌面背景也猶如美麗的面孔卻只顯露出半張臉。全部放進回收站,可每次開啟程式總要從開始-程式開啟,大量的程式選單中有的是主程式,有的卻是解除安裝程式,還有的是說明幫助,甚至還有程式作者的主頁等,不僅尋找起來麻煩,介面也不美觀。如何解決這個問題呢?多程式啟動管理器就是您的好幫手。多程式啟動管理器V2.32實現了對圖示的支援,顯示程式更加直觀;並支援從桌面快捷方式選擇程式,減化了操作步驟,加入程式更加方便快捷。增加了“修改程式選單”,實現原位置修改功能;加入提示說明文字功能;可簡潔顯示程式名稱。

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

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

【破解工具】:TRW2000娃娃修改版、Ollydbg1.09、PEiD、ImportREC、W32Dasm 9.0白金版

――――――――――――――――――――――――――――――――― 
【過    程】:
          
         
   
多程式啟動管理器.exe 是EXEStealth V2.5/6殼。 易語言 編寫。


硬碟碼:1365429574
試煉碼:13572468
―――――――――――――――――――――――――――――――――
一、脫殼


首先說明一下:我不會手動脫殼,這些日子學習 看雪 老師的《加密與解密》,於是就想試試,碰到EXEStealth,試了N次,有了下面的這點筆記,但這個方法肯定不是好的解決方式,這個殼反跟蹤,我只能做到這一步了。歡迎大家指點!


主程式用 PEiD 0.9 看是 EXEStealth 殼,我沒有找到脫殼機,有朋友知道的話麻煩共享出來。^O^

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
看看 EXE Stealth 的簡介:

EXE Stealth 是一個功能非常強大的EXE可執行檔案加密工具,程式支援CRC保護,API重定向,刪除EXE檔案頭資訊等功能,還可以為你的EXE可執行檔案增加防止SmartCheck,Softice,IDag等跟蹤除錯工具跟蹤破解的功能!程式體積小巧,非常易用! 

這應是加密保護的殼。在其主頁( http://www.webtoolmaster.com )上可以下到最新版 V2.72。
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆


用 PEiD 0.8 查出OEP=403831,可以用TRW載入,BPX 403831,PEDUMP脫殼,然後修復即可。

試試用Ollydbg手動脫殼吧。載入後彈出“是壓縮程式碼――要繼續進行分析嗎?”,點“否”。

―――――――――――――――――――――――
00526060        60                pushad
                                  ====>進入OD後斷在這!

00526061       /EB 22             jmp short 多程式啟.00526085
00526063       |45                inc ebp
00526064       |78 65             js short 多程式啟.005260CB
00526066       |53                push ebx
00526067       |74 65             je short 多程式啟.005260CE
00526069       |61                popad
0052606A       |6C                ins byte ptr es:[edi],dx
0052606B       |74 68             je short 多程式啟.005260D5
0052606D       |202D 20777777     and byte ptr ds:[77777720],ch
00526073       |2E:77 65          ja short 多程式啟.005260DB
00526076       |62746F 6F         bound esi,qword ptr ds:[edi+ebp*2+6F]
0052607A       |6C                ins byte ptr es:[edi],dx
0052607B       |6D                ins dword ptr es:[edi],dx
0052607C       |61                popad
0052607D       |73 74             jnb short 多程式啟.005260F3
0052607F       |65:72 2E          jb short 多程式啟.005260B0
00526082       |636F 6D           arpl dword ptr ds:[edi+6D],ebp
00526085       E8 00000000       call 多程式啟.0052608A
                                  ====>變形JMP!F7走進

0052608A        5D                pop ebp
0052608B        81ED F0254000     sub ebp,多程式啟.004025F0
00526091        B9 690C0000       mov ecx,0C69
00526096        8DBD 38264000     lea edi,dword ptr ss:[ebp+402638]
0052609C        8BF7              mov esi,edi
0052609E        AC                lods byte ptr ds:[esi]
0052609F        EB 01             jmp short 多程式啟.005260A2
                                  ====>注意這個目的地!

005260A1        C2 2C0E           retn 0E2C
                                  ====>花指令!把C2改為90
005260A1        90                nop //改後的變化
005260A2        2C 0E             sub al,0E


005260A4        C0C0 F1           rol al,0F1
005260A7        2AC1              sub al,cl
005260A9        90                nop
005260AA        2C 8C             sub al,8C
005260AC        F9                stc
005260AD        04 65             add al,65
005260AF        04 A5             add al,0A5
005260B1        34 7B             xor al,7B
005260B3        04 0D             add al,0D
005260B5        C0C0 54           rol al,54
005260B8        02C1              add al,cl
005260BA        EB 01             jmp short 多程式啟.005260BD
                                  ====>注意這個目的地!

005260BC       |E8 04C7FEC8       call C95127C5
                                  ====>花指令!把E8改為90
005260BC        90                nop //改後的變化
005260BD        04 C7             add al,0C7
005260BF        FEC8              dec al

005260C1        34 E3             xor al,0E3
005260C3        2AC1              sub al,cl
005260CA       /EB 01             jmp short 多程式啟.005260CD
                                  ====>注意這個目的地!

005260CC       |C2 2C0E           retn 0E2C
                                  ====>花指令!把C2改為90
005260CC        90                nop //改後的變化
005260CD        2C 0E             sub al,0E
005260CF        AA                stos byte ptr es:[edi]
005260D0      ^ E2 CC             loopd short 多程式啟.0052609E
                                  ====>游標定位到下面一行程式碼,F4過去,跳出LOOP

005260D2        8B4424 20         mov eax,dword ptr ss:[esp+20] ; KERNEL32.BFF8B86C
                                  ====>F4到這裡。程式碼會變化的

005260D6        40                inc eax
005260D7        78 0D             js short 多程式啟.005260E6
005260D9        C785 932D4000 010>mov dword ptr ss:[ebp+402D93],1
005260E3        90                nop
005260E4        EB 00             jmp short 多程式啟.005260E6
005260E6        8D85 C6254000     lea eax,dword ptr ss:[ebp+4025C6]
005260EC        B9 6C060000       mov ecx,66C
005260F1        90                nop
005260F2        E8 41020000       call 多程式啟.00526338
                                  ====>這個CALL用F8帶過

005260F7        8985 8F2D4000     mov dword ptr ss:[ebp+402D8F],eax
005260FD        8B85 872D4000     mov eax,dword ptr ss:[ebp+402D87]
00526103        83E0 01           and eax,1
00526106        74 40             je short 多程式啟.00526148
00526108        8DB5 CF314000     lea esi,dword ptr ss:[ebp+4031CF]
0052610E        8D85 9B264000     lea eax,dword ptr ss:[ebp+40269B]
00526114        8946 08           mov dword ptr ds:[esi+8],eax
00526117        8BFD              mov edi,ebp
00526119        8D85 1D2D4000     lea eax,dword ptr ss:[ebp+402D1D]
0052611F        33DB              xor ebx,ebx
00526121        50                push eax
00526122        64:FF33           push dword ptr fs:[ebx]
00526125        64:8923           mov dword ptr fs:[ebx],esp
00526128        BD 4B484342       mov ebp,4243484B
0052612D        66:B8 0400        mov ax,4
00526131        EB 01             jmp short 多程式啟.00526134
                                  ====>注意這個目的地!

00526133       |FFCC              dec esp
                                  ====>花指令!把FFCC改為9090

00526135        8BEF              mov ebp,edi
00526137        33DB              xor ebx,ebx
00526139        64:8F03           pop dword ptr fs:[ebx]
0052613C        83C4 04           add esp,4
0052613F        3C 04             cmp al,4
00526141        74 05             je short 多程式啟.00526148
                                  ====>注意這個目的地!

00526143        EB 01             jmp short 多程式啟.00526146
00526145      - E9 61C38B85       jmp 85DE24AB
                                  ====>花指令!把E9改為90
00526145        90                nop //改後的變化
00526146        61                popad
00526147        C3                retn

00526148        8B85 7F2D4000     mov eax,dword ptr ss:[ebp+402D7F]
                                  ====>00526141跳到這!

0052614E        0340 3C           add eax,dword ptr ds:[eax+3C]
00526151        05 80000000       add eax,80
00526156        8B08              mov ecx,dword ptr ds:[eax]
00526158        038D 7F2D4000     add ecx,dword ptr ss:[ebp+402D7F]
0052615E        83C1 10           add ecx,10
00526161        8B01              mov eax,dword ptr ds:[ecx]
00526163        0385 7F2D4000     add eax,dword ptr ss:[ebp+402D7F]
00526169        8B18              mov ebx,dword ptr ds:[eax]
0052616B        899D DB314000     mov dword ptr ss:[ebp+4031DB],ebx
00526171        83C0 04           add eax,4
00526174        8B18              mov ebx,dword ptr ds:[eax]
00526176        899D DF314000     mov dword ptr ss:[ebp+4031DF],ebx
0052617C        8D85 E3314000     lea eax,dword ptr ss:[ebp+4031E3]
00526182        50                push eax
00526183        FF95 DB314000     call dword ptr ss:[ebp+4031DB]
00526189        8BF0              mov esi,eax
0052618B        8985 F0314000     mov dword ptr ss:[ebp+4031F0],eax
00526191        8D85 F4314000     lea eax,dword ptr ss:[ebp+4031F4]
00526197        E8 96000000       call 多程式啟.00526232
0052619C        8985 05324000     mov dword ptr ss:[ebp+403205],eax
005261A2        8D85 09324000     lea eax,dword ptr ss:[ebp+403209]
005261A8        E8 85000000       call 多程式啟.00526232
005261AD        8985 18324000     mov dword ptr ss:[ebp+403218],eax
005261B3        8D85 1C324000     lea eax,dword ptr ss:[ebp+40321C]
005261B9        E8 74000000       call 多程式啟.00526232
005261BE        8985 2F324000     mov dword ptr ss:[ebp+40322F],eax
005261C4        8D85 33324000     lea eax,dword ptr ss:[ebp+403233]
005261CA        E8 63000000       call 多程式啟.00526232
005261CF        8985 3F324000     mov dword ptr ss:[ebp+40323F],eax
005261D5        8D85 43324000     lea eax,dword ptr ss:[ebp+403243]
005261DB        E8 52000000       call 多程式啟.00526232
005261E0        8985 4F324000     mov dword ptr ss:[ebp+40324F],eax
005261E6        8D85 53324000     lea eax,dword ptr ss:[ebp+403253]
005261EC        E8 41000000       call 多程式啟.00526232
005261F1        8985 5E324000     mov dword ptr ss:[ebp+40325E],eax
005261F7        8D85 62324000     lea eax,dword ptr ss:[ebp+403262]
005261FD        E8 30000000       call 多程式啟.00526232
00526202        8985 6B324000     mov dword ptr ss:[ebp+40326B],eax
00526208        8D85 6F324000     lea eax,dword ptr ss:[ebp+40326F]
0052620E        E8 1F000000       call 多程式啟.00526232
00526213        8985 7B324000     mov dword ptr ss:[ebp+40327B],eax
00526219        8D85 7F324000     lea eax,dword ptr ss:[ebp+40327F]
0052621F        E8 0E000000       call 多程式啟.00526232
00526224        8985 8B324000     mov dword ptr ss:[ebp+40328B],eax
0052622A        8D85 A1274000     lea eax,dword ptr ss:[ebp+4027A1]
00526230        50                push eax
00526231        C3                retn
                                  ====>返回到0052623B


0052623B        F785 872D4000 100>test dword ptr ss:[ebp+402D87],10
00526245        74 37             je short 多程式啟.0052627E
00526247        64:FF35 30000000  push dword ptr fs:[30]
0052624E        58                pop eax
0052624F        85C0              test eax,eax
00526251        78 0F             js short 多程式啟.00526262
                                  ====>跳

00526253        8B40 0C           mov eax,dword ptr ds:[eax+C]
00526256        8B40 0C           mov eax,dword ptr ds:[eax+C]
00526259        C740 20 00100000  mov dword ptr ds:[eax+20],1000
00526260        EB 1C             jmp short 多程式啟.0052627E
00526262        6A 00             push 0
00526264        FF95 05324000     call dword ptr ss:[ebp+403205]
0052626A        85D2              test edx,edx
0052626C        79 10             jns short 多程式啟.0052627E
0052626E        837A 08 FF        cmp dword ptr ds:[edx+8],-1
00526272        75 0A             jnz short 多程式啟.0052627E
00526274        8B52 04           mov edx,dword ptr ds:[edx+4]
00526277        C742 50 00100000  mov dword ptr ds:[edx+50],1000
0052627E        8BBD 7F2D4000     mov edi,dword ptr ss:[ebp+402D7F]
00526284        037F 3C           add edi,dword ptr ds:[edi+3C]
00526287        8BB5 7F2D4000     mov esi,dword ptr ss:[ebp+402D7F]
0052628D        8B4F 54           mov ecx,dword ptr ds:[edi+54]
00526290        8D85 BD324000     lea eax,dword ptr ss:[ebp+4032BD]
00526296        50                push eax
00526297        6A 04             push 4
00526299        51                push ecx
0052629A        FFB5 7F2D4000     push dword ptr ss:[ebp+402D7F]
005262A0        FF95 18324000     call dword ptr ss:[ebp+403218]
005262A6        F785 872D4000 080>test dword ptr ss:[ebp+402D87],8
005262B0        0F84 A7000000     je 多程式啟.0052635D
005262B6        68 04010000       push 104
005262BB        8DBD BD324000     lea edi,dword ptr ss:[ebp+4032BD]
005262C1        57                push edi
005262C2        6A 00             push 0
005262C4        FF95 2F324000     call dword ptr ss:[ebp+40322F]
005262CA        6A 00             push 0
005262CC        68 80000000       push 80
005262D1        6A 03             push 3
005262D3        6A 00             push 0
005262D5        6A 01             push 1
005262D7        68 00000080       push 80000000
005262DC        57                push edi
005262DD        FF95 3F324000     call dword ptr ss:[ebp+40323F]
005262E3        83F8 FF           cmp eax,-1
005262E6        75 04             jnz short 多程式啟.005262EC
                                  ====>跳  或者把上面的EAX返回值改成FFFFFFFF,這裡不跳

005262E8        33C0              xor eax,eax
005262EA        EB 71             jmp short 多程式啟.0052635D
005262EC        8BF8              mov edi,eax
005262EE        6A 00             push 0
005262F0        57                push edi
005262F1        FF95 7B324000     call dword ptr ss:[ebp+40327B]
005262F7        83E8 05           sub eax,5
005262FA        96                xchg eax,esi
005262FB        56                push esi
005262FC        6A 40             push 40
005262FE        FF95 4F324000     call dword ptr ss:[ebp+40324F]
00526304        0BC0              or eax,eax
00526306        75 02             jnz short 多程式啟.0052630A
00526308        EB 4A             jmp short 多程式啟.00526354
0052630A        93                xchg eax,ebx
0052630B        6A 00             push 0
0052630D        8D85 BD324000     lea eax,dword ptr ss:[ebp+4032BD]
00526313        50                push eax
00526314        56                push esi
00526315        53                push ebx
00526316        57                push edi
00526317        FF95 6B324000     call dword ptr ss:[ebp+40326B]
0052631D        8BC3              mov eax,ebx
0052631F        8BCE              mov ecx,esi
00526321        53                push ebx
00526322        57                push edi
00526323        E8 10000000       call 多程式啟.00526338
00526328        8985 8B2D4000     mov dword ptr ss:[ebp+402D8B],eax
0052632E        5F                pop edi
0052632F        5B                pop ebx
00526330        8D85 B2284000     lea eax,dword ptr ss:[ebp+4028B2]
00526336        50                push eax
00526337        C3                retn
                                  ====>返回到0052634C


0052634C        53                push ebx
0052634D        FF95 5E324000     call dword ptr ss:[ebp+40325E]
00526353        96                xchg eax,esi
00526354        50                push eax
00526355        57                push edi
00526356        FF95 8B324000     call dword ptr ss:[ebp+40328B]
0052635C        58                pop eax
0052635D        8B85 7F2D4000     mov eax,dword ptr ss:[ebp+402D7F]
00526363        BB 01000000       mov ebx,1
00526368        E8 08000000       call 多程式啟.00526375
0052636D        8D85 BE294000     lea eax,dword ptr ss:[ebp+4029BE]
00526373        50                push eax
00526374        C3                retn
                                  ====>返回到00526458


00526458        8B9D 7F2D4000     mov ebx,dword ptr ss:[ebp+402D7F]; 多程式啟.00400000
                                  ====>[ebp+402D7F]=00400000

0052645E        039D 832D4000     add ebx,dword ptr ss:[ebp+402D83]
                                  ====>EBX=00400000 + 00003831=00403831   這就是OEP!

00526464        C1CB 07           ror ebx,7
                                  ====>把這裡改一下:JMP EBX,讓其直接跳到OEP去!

00526464      - FFE3              jmp ebx                           ; 多程式啟.00403831
                                  ====>跳到OEP

00526466        90                nop    //改後的變化


…… ……省 略…… ……  呵呵,沒辦法,如果再繼續執行就OVER了。 

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

00403831        55                push ebp
                                  ====>在這兒用OllyDUMP轉存除錯程式。用PEditor轉存的不可用

00403832        8BEC              mov ebp,esp
00403834        6A FF             push -1
00403836        68 08634000       push 多程式啟.00406308
0040383B        68 A44C4000       push 多程式啟.00404CA4

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

重新執行多程式啟動管理器,執行ImportREC,選擇這個程式。把OEP改為00003831,點IT AutoSearch,出現“Try‘Get Import’”,說明OEP起作用了。點“Get Import”,分析IAT結構得到基本資訊。

顯示幾個“valid:NO”,  點選Show Invalid,然後右鍵點:Trace Lever1 。好了,均YES!

FixDump,修復剛才脫殼的檔案。OK,正常執行!



―――――――――――――――――――――――――――――――――
二、破解


這是 易語言 編寫的程式,所有運算和比較都是在 易語言的執行庫 裡完成的。程式執行時在C:WINDOWSTEMP下會生成krnln.fnr檔案,這個應該就是 易語言 的執行庫吧?

易語言 的東西跟蹤起來很是麻煩,比P-CODE還難受,許多地方來回走幾遍,除錯時執行速度很慢。

希望朋友們能夠把除錯易程式的心得共享出來,互相交流互助互進。


我簡單說一下破解幾個易程式的感受,希望起到 拋磚引玉 的作用。 ^O^  ^O^

1、可下斷點 BPX GETWINDOWTEXTA  發現好幾個易程式都是用這個函式取得輸入的試煉資訊
2、在易的執行庫裡要細心,多用記憶體斷點“鎖定”試煉資訊所在的記憶體處!有的程式會把試煉碼搬來挪去,這時就要跟著下記憶體斷點了,別追丟了。
3、細心 + 耐心 + Luck =Success   ^O^


抱歉,這個程式沒找到演算法,實在是有點轉暈了。
―――――――――――――――――――――――
100BBFAB        FF15 B4040D10     call dword ptr ds:[<&USER32.GetWindowTextA>]
100BBFB1        8B4C24 08         mov ecx,dword ptr ss:[esp+8]
100BBFB5        6A FF             push -1
100BBFB7        E8 2B2C0000       call KRNLN.100BEBE7
                                  ====>ECX=13572468            試煉碼

100BBFBC        EB 0C             jmp short KRNLN.100BBFCA
100BBFBE        8B01              mov eax,dword ptr ds:[ecx]
100BBFC0        FF7424 08         push dword ptr ss:[esp+8]
100BBFC4        FF90 88000000     call dword ptr ds:[eax+88]
100BBFCA        5E                pop esi
100BBFCB        C2 0400           retn 4


―――――――――――――――――――――――
程式會再次中斷100BBFAB,取硬碟程式碼:1365429574
 

10058308       E8 1392FBFF        call KRNLN.10011520
1005830D       8B4424 38          mov eax,dword ptr ss:[esp+38]
10058311       8B4C24 30          mov ecx,dword ptr ss:[esp+30]
                                  ====>ECX=1365429574

10058315       F7D8               neg eax
10058317       1BC0               sbb eax,eax
10058319       23C1               and eax,ecx
1005831B       50                 push eax
1005831C       E8 2A210500        call KRNLN.100AA44B
                                  ====>轉變成浮點數

10058321       8B4424 68          mov eax,dword ptr ss:[esp+68]
10058325       83C4 10            add esp,10
10058328       DD5C24 04          fstp qword ptr ss:[esp+4]
                                  ====>ST=1365429574.0000000000


―――――――――――――――――――――――
不清楚這段程式碼的作用:


10054765       8B4424 68          mov eax,dword ptr ss:[esp+68]
10054769       DD4424 14          fld qword ptr ss:[esp+14]
                                  ====>[esp+14]=1365429574.000000

1005476D       DC6424 20          fsub qword ptr ss:[esp+20]
                                  ====>ST=1365429574.0000000000 - O.0=1365429574.0000000000

10054771       83E8 17            sub eax,17
10054774       74 42              je short KRNLN.100547B8
10054776       83E8 02            sub eax,2
10054779       74 22              je short KRNLN.1005479D
1005477B       48                 dec eax
1005477C       0F85 3B010000      jnz KRNLN.100548BD
10054782       DC1D 18560D10      fcomp qword ptr ds:[100D5618]
10054788       DFE0               fstsw ax
1005478A       F6C4 41            test ah,41
1005478D     ^ 0F85 30FFFFFF      jnz KRNLN.100546C3
10054793       BD 01000000        mov ebp,1
10054798       E9 22010000        jmp KRNLN.100548BF
1005479D       DC1D 10560D10      fcomp qword ptr ds:[100D5610]
100547A3       DFE0               fstsw ax
100547A5       F6C4 01            test ah,1
100547A8     ^ 0F84 15FFFFFF      je KRNLN.100546C3
100547AE       BD 01000000        mov ebp,1
100547B3       E9 07010000        jmp KRNLN.100548BF


―――――――――――――――――――――――
程式會再次取試煉碼


100BBFAB       FF15 B4040D10      call dword ptr ds:[<&USER32.GetWindowTextA>]
                                 
用記憶體斷點會走到這裡:


100A9FE2       8A06               mov al,byte ptr ds:[esi]
100A9FE4       8807               mov byte ptr ds:[edi],al
100A9FE6       8A46 01            mov al,byte ptr ds:[esi+1]
100A9FE9       8847 01            mov byte ptr ds:[edi+1],al
100A9FEC       8A46 02            mov al,byte ptr ds:[esi+2]
100A9FEF       C1E9 02            shr ecx,2
100A9FF2       8847 02            mov byte ptr ds:[edi+2],al
                                  ====>取135  

100A9FF5       83C6 03            add esi,3
100A9FF8       83C7 03            add edi,3
100A9FFB       83F9 08            cmp ecx,8
100A9FFE     ^ 72 CC              jb short KRNLN.100A9FCC

100AA09C       8B448E FC          mov eax,dword ptr ds:[esi+ecx*4-4]
                                  ====>EAX=7246

100AA0A0       89448F FC          mov dword ptr ds:[edi+ecx*4-4],eax
100AA0A4       8D048D 00000000    lea eax,dword ptr ds:[ecx*4]
100AA0AB       03F0               add esi,eax
100AA0AD       03F8               add edi,eax
100AA0AF       FF2495 B8A00A10    jmp dword ptr ds:[edx*4+100AA0B8]

100AA0DC       8A06               mov al,byte ptr ds:[esi]
                                  ====>取8

100AA0DE       8807               mov byte ptr ds:[edi],al
100AA0E0       8A46 01            mov al,byte ptr ds:[esi+1]
100AA0E3       8847 01            mov byte ptr ds:[edi+1],al
100AA0E6       8B45 08            mov eax,dword ptr ss:[ebp+8]
100AA0E9       5E                 pop esi
100AA0EA       5F                 pop edi
100AA0EB       C9                 leave
100AA0EC       C3                 retn


這裡再次用記憶體斷點“鎖定”新的目標!


―――――――――――――――――――――――
最終會來到比較處! ^O^  真、假碼逐位比較: ^O^


100543B1       8A0E               mov cl,byte ptr ds:[esi]
                                  ====>[ESI]=13572468         試煉碼

100543B3       8A17               mov dl,byte ptr ds:[edi]
                                  ====>[EDI]=1347379221       註冊碼

100543B5       8AC1               mov al,cl
100543B7       3ACA               cmp cl,dl
100543B9       75 1E              jnz short KRNLN.100543D9
100543BB       84C0               test al,al
100543BD       74 16              je short KRNLN.100543D5
100543BF       8A56 01            mov dl,byte ptr ds:[esi+1]
100543C2       8A4F 01            mov cl,byte ptr ds:[edi+1]
100543C5       8AC2               mov al,dl
100543C7       3AD1               cmp dl,cl
100543C9       75 0E              jnz short KRNLN.100543D9
100543CB       83C6 02            add esi,2
100543CE       83C7 02            add edi,2
100543D1       84C0               test al,al
100543D3     ^ 75 DC              jnz short KRNLN.100543B1
100543D5       33C0               xor eax,eax
100543D7       EB 05              jmp short KRNLN.100543DE
100543D9       1BC0               sbb eax,eax
100543DB       83D8 FF            sbb eax,-1
100543DE       83EB 17            sub ebx,17
100543E1       74 28              je short KRNLN.1005440B

1005440D       85C0               test eax,eax
1005440F       0F94C1             sete cl
                                  ====>根據比較結果設定CL值    正確則CL=1

10054412       8BE9               mov ebp,ecx
10054414       E9 A6040000        jmp KRNLN.100548BF
     
 
       
――――――――――――――――――――――――――――――――― 
【註冊資訊儲存】:


REGEDIT4

[HKEY_CURRENT_USERSoftwarexlqsoftglq]
"runtimes"=dword:00000004  ====>使用次數
"v2.3"="1347379221"        ====> 註冊碼


――――――――――――――――――――――――――――――――― 
【整        理】:


硬碟碼:1365429574
註冊碼:1347379221

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

    

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

                           2003-09-09  01:15

相關文章