• 标 题:EXEStealth V2.5脱壳+易语言程序——多程序启动管理器 V2.32
  • 作 者:fly
  • 时 间:2003年9月09日 01:44
  • 链 接:http://bbs.pediy.com

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