• 标 题:PEbundle v2.10脱壳+易程序——万年历记事簿-XP1.8
  • 作 者:fly
  • 时 间:2003年9月11日 06:07
  • 链 接:http://bbs.pediy.com

PEbundle v2.10脱壳+易程序——万年历记事簿-XP1.8
     
     
     
下载页面:  http://www.onlinedown.net/soft/4123.htm 
软件大小:  1499KB
软件语言:  简体中文
软件类别:  国产软件/共享版/记事管理
运行环境:  Win9x/Me/NT/2000
加入时间:  2003-6-2 22:47:41
下载次数:  1523
软件评级:  ****
 
【软件简介】:主要功能有:万年历、密码记事簿(支持多用户)、语音报时、定时提醒、动画电子名片(支持多用户)、 全国城市区号和邮编查询、附带两个智力游戏等。可设置任意时间的多项提醒,提醒类型可设为:声音、文本、声音和文本,提醒窗口在屏幕上的停留时间是可选的,可将您的计划任务等设置成提醒,到时自动提醒;密码记事簿功能可保证您的隐私不外泄。

【软件限制】:30次试用

【作者声明】:初学Crack,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!

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

————————————————————————————————— 
【过    程】:
          
         
这个程序用FI 3.01看是PEbundle v2.10,用PEiD看是ASPack 2.11c壳,再用PE-SCAN看是PEbundle……晕,用LordPE看其区段既有ASPack也有PEbundle…… 于是,驱猫上网搜索PEbundle,在 天空 就有:PEBundle V2.44

—————————————————
下载页面:  http://skycn.net/soft/7285.html
软件大小:  485 KB
软件语言:  英文  (其实是多语言版,有简体中文 ^O^ )
软件类别:  国外软件 / 共享版 / 文件分割
应用平台:  Win9x/NT/2000/XP
加入时间:  2002-09-24 19:22:39
下载次数:  1655
推荐等级:  ***    
开 发 商:  http://www.collakesoftware.com/
软件介绍:  可以将多个DLL文件,包装成EXE执行文件,是软件程序设计人员所使用的程序包装工具。
—————————————————

PEbundle应该是个有压缩效果的EXE和DLL捆绑工具。或许万年历记事簿用PEbundle捆绑之前有的部分是ASPack压缩的。

晕 ^O^  不管了,为了验证 sinker 兄弟所说的“难道易语言能消弱壳的强度???? ”——所以又找了这个易程序脱壳看看。确实如sinker所言:直接运行,用LordPE--->Dumpfull 然后直接修IAT......可以正常运行..... 

又从网上搜索到其它相关的资料:

易在OEP处的代码:  55               PUSH EBP 
                  8BEC             MOV EBP,ESP 
                  6A FF            PUSH -1 
先用LordPE进行DUMP生成dumped文件,再用WinHex打开dumped文件,找机器码“558BEC6AFF”,在第一个出现的位置就是OEP了,再用ImportREC填入找到的OEP进行修复,生成的新程序就是脱壳的程序了。

呵呵,大家可以试试,多加验证  ^O^  ^O^


—————————————————
一、脱壳


用Ollydbg手动脱壳,老规矩:载入后弹出“是压缩代码——要继续进行分析吗?”,点“否”。


006C7000     9C                   pushfd
                                  ====>进入OD后断在这!

006C7001     60                   pushad
006C7002     E8 02000000          call 万年历记.006C7009
                                  ====>变形JMP!F7走进

006C7007     33C0                 xor eax,eax
006C7009     8BC4                 mov eax,esp
006C700B     83C0 04              add eax,4
006C700E     93                   xchg eax,ebx
006C700F     8BE3                 mov esp,ebx
006C7011     8B5B FC              mov ebx,dword ptr ds:[ebx-4]
006C7014     81EB 07304000        sub ebx,万年历记.00403007
006C701A     87DD                 xchg ebp,ebx
006C701C     80BD 02394000 00     cmp byte ptr ss:[ebp+403902],0
006C7023     74 21                je short 万年历记.006C7046
                                  ====>跳

006C7046     8DBD 953B4000        lea edi,dword ptr ss:[ebp+403B95]
006C704C     33C0                 xor eax,eax
006C704E     8A85 CF344000        mov al,byte ptr ss:[ebp+4034CF]
006C7054     3C 05                cmp al,5
006C7056     74 6E                je short 万年历记.006C70C6
006C7058     3C 03                cmp al,3
006C705A     0F84 98000000        je 万年历记.006C70F8
006C7060     3C 02                cmp al,2
006C7062     0F84 82000000        je 万年历记.006C70EA
006C7068     3C 04                cmp al,4
006C706A     74 19                je short 万年历记.006C7085
006C706C     3C 00                cmp al,0
006C706E     0F85 9E000000        jnz 万年历记.006C7112
006C7074     68 D8010000          push 1D8
006C7079     57                   push edi
006C707A     FF95 59364000        call dword ptr ss:[ebp+403659]
006C7080    /E9 81000000          jmp 万年历记.006C7106
                                  ====>跳

006C7106    8DBD 953B4000        lea edi,dword ptr ss:[ebp+403B95]
006C710C     03F8                 add edi,eax
006C710E     C607 5C              mov byte ptr ds:[edi],5C
006C7111     47                   inc edi
006C7112     8DB5 9B344000        lea esi,dword ptr ss:[ebp+40349B]
006C7118     AC                   lods byte ptr ds:[esi]
006C7119     0AC0                 or al,al
006C711B     74 03                je short 万年历记.006C7120
006C711D     AA                   stos byte ptr es:[edi]
006C711E   ^ EB F8                jmp short 万年历记.006C7118
                                  ====>F4下去

006C7120     80BD D0344000 01     cmp byte ptr ss:[ebp+4034D0],1
006C7127     74 7B                je short 万年历记.006C71A4
006C7129     8DB5 953B4000        lea esi,dword ptr ss:[ebp+403B95]
006C712F     6A 00                push 0
006C7131     68 80000000          push 80
006C7136     6A 03                push 3
006C7138     6A 00                push 0
006C713A     6A 00                push 0
006C713C     68 00000080          push 80000000
006C7141     56                   push esi
006C7142     FF95 39364000        call dword ptr ss:[ebp+403639]
006C7148     83F8 FF              cmp eax,-1
006C714B     74 57                je short 万年历记.006C71A4
                                  ====>没跳

006C714D     8985 C3344000        mov dword ptr ss:[ebp+4034C3],eax
006C7153     8D85 EB354000        lea eax,dword ptr ss:[ebp+4035EB]
006C7159     8D9D F3354000        lea ebx,dword ptr ss:[ebp+4035F3]
006C715F     8D8D FB354000        lea ecx,dword ptr ss:[ebp+4035FB]
006C7165     51                   push ecx
006C7166     53                   push ebx
006C7167     50                   push eax
006C7168     FFB5 C3344000        push dword ptr ss:[ebp+4034C3]
006C716E     FF95 4D364000        call dword ptr ss:[ebp+40364D]
006C7174     FFB5 C3344000        push dword ptr ss:[ebp+4034C3]
006C717A     FF95 35364000        call dword ptr ss:[ebp+403635]
006C7180     8B85 EB354000        mov eax,dword ptr ss:[ebp+4035EB]
006C7186     8B9D EF354000        mov ebx,dword ptr ss:[ebp+4035EF]
006C718C     3B9D D7354000        cmp ebx,dword ptr ss:[ebp+4035D7]
006C7192     0F87 ED000000        ja 万年历记.006C7285
006C7198     3B85 D3354000        cmp eax,dword ptr ss:[ebp+4035D3]
006C719E     0F83 E1000000        jnb 万年历记.006C7285
                                  ====>跳

…… ……省 略…… ……

006C7285     FFB5 4C334000        push dword ptr ss:[ebp+40334C]
006C728B     FFB5 87344000        push dword ptr ss:[ebp+403487]
006C7291     E8 7A050000          call 万年历记.006C7810
                                  ====>这个CALL可用F8带过

006C7296     0F83 A8000000        jnb 万年历记.006C7344
                                  ====>跳

…… ……省 略…… ……

006C7344     61                   popad
006C7345     9D                   popfd
006C7346     68 01206300          push 万年历记.00632001
006C734B     C3                   retn
                                  ====>返回到00632001

00632001     60                   pushad
00632002     E8 02000000          call 万年历记.00632009
                                  ====>这个CALL也可以用F8带过

00632007     EB 09                jmp short 万年历记.00632012
                                  ====>跳

00632012    /E9 59040000          jmp 万年历记.00632470
                                  ====>跳

00632470     BD A93F0D3D          mov ebp,3D0D3FA9
00632475     E9 1C000000          jmp 万年历记.00632496
                                  ====>注意这个目的地!

00632495     62E8                 bound ebp,eax        
                                  ====>花指令!把62改为90
00632495     90                   nop  //改后的变化
00632496     E8 1C000000          call 万年历记.006324B7
                                  ====>这个CALL用F7跟进!注意目的地是花指令!

0063249B   - E9 7836ADA7          jmp A8105B18
                                  ====>呵呵,如果到这里会跳到哪? :-<


006324B6     30E9                 xor cl,ch
                                  ====>花指令!把30改为90
006324B6     90                   nop  //改后的变化
006324B7     E9 1C000000          jmp 万年历记.006324D8
                                  ====>注意这个目的地!

006324D3     6969 00 F19D80F5     imul ebp,dword ptr ds:[ecx],F5809DF1
                                  ====>花指令!把6969改为9090
006324D3     90                   nop  //改后的变化
006324D4     90                   nop  //改后的变化
006324D5     00F1                 add cl,dh
006324D7     9D                   popfd
006324D8     80F5 69              xor ch,69
006324DB     5B                   pop ebx
006324DC     66:8BD1              mov dx,cx
006324DF     81DE F1A71768        sbb esi,6817A7F1
006324E5     BE 336BFB3A          mov esi,3AFB6B33
006324EA     8BFB                 mov edi,ebx
006324EC     66:8BD0              mov dx,ax
006324EF     81C7 032CBEB4        add edi,B4BE2C03
006324F5     E9 14000000          jmp 万年历记.0063250E
                                  ====>跳

0063250E    /E9 14000000          jmp 万年历记.00632527
                                  ====>注意这个目的地!

00632526     1066 8B              adc byte ptr ds:[esi-75],ah
                                  ====>花指令!把10改为90
00632526     90                   nop  //改后的变化
00632527     66:8BF1              mov si,cx
0063252A     B9 FFFFFFFF          mov ecx,-1
0063252F     0FBFD7               movsx edx,di
00632532     80D3 C3              adc bl,0C3
00632535     80B40F CED3414B D9   xor byte ptr ds:[edi+ecx+4B41D3CE],0D9
0063253D     0FBFD3               movsx edx,bx
00632540     81DA 33DDCAD5        sbb edx,D5CADD33
00632546     4D                   dec ebp
00632547     81D3 F97C94F9        adc ebx,F9947CF9
0063254D     B2 06                mov dl,6
0063254F     81EF 01000000        sub edi,1
00632555     BE 4F1B3FA7          mov esi,A73F1B4F
0063255A     BB 07911618          mov ebx,18169107
0063255F     80C1 D1              add cl,0D1
00632562     8BF5                 mov esi,ebp
00632564     0FBFDB               movsx ebx,bx
00632567     81FE 543B0D3D        cmp esi,3D0D3B54
0063256D   ^ 0F85 B4FFFFFF        jnz 万年历记.00632527
                                  ====>F4下去

00632573     B9 7F7AE76F          mov ecx,6FE77A7F
00632578   ^E9 EAFEFFFF          jmp 万年历记.00632467
                                  ====>晕 :-D  又跳上去!  F4下去

00632467   ^E9 ABFBFFFF          jmp 万年历记.00632017
                                  ====> :-D 跳上去!可以在00632012直接F4去00632017

00632017     E8 1F040000          call 万年历记.0063243B
                                  ====>这个CALL也可以用F8带过

0063201C    /EB 00                jmp short 万年历记.0063201E
0063201E     BB 30394400          mov ebx,万年历记.00443930  
00632023     03DD                 add ebx,ebp
00632025     2B9D FC3F4400        sub ebx,dword ptr ss:[ebp+443FFC]
0063202B     83BD 284A4400 00     cmp dword ptr ss:[ebp+444A28],0
00632032     899D 284A4400        mov dword ptr ss:[ebp+444A28],ebx
00632038     0F85 62030000        jnz 万年历记.006323A0    :-)      {:-)  
                                  ====>呵呵,试了N次后发现这个离OEP很近的。所以直接G 006323A0

006323A0     B8 BE3A0000          mov eax,3ABE
                                  ====>EAX=00003ABE

006323A5     50                   push eax
006323A6     0385 284A4400        add eax,dword ptr ss:[ebp+444A28]
                                  ====>EAX=00003ABE + 00400000=00403ABE   这就是OEP值  :-)

006323AC     59                   pop ecx
006323AD     0BC9                 or ecx,ecx
006323AF     8985 F13C4400        mov dword ptr ss:[ebp+443CF1],eax
                                  ====>[ebp+443CF1]=[006323C1]=00403ABE

006323B5     61                   popad
                                  ====>很高兴看见这个POPAD   :-D

006323B6     75 08                jnz short 万年历记.006323C0
                                  ====>跳

006323B8     B8 01000000          mov eax,1
006323BD     C2 0C00              retn 0C
006323C0     68 00000000          push 0
                                  ====>006323AF处的代码覆盖  变成push 00403ABE

006323C5     C3                   retn
                                  ====>返回 00403ABE   胜利了!


———————————————————————
00403ABE     55                   push ebp
                                  ====>在这儿用LordPE转存调试进程

00403ABF     8BEC                 mov ebp,esp
00403AC1     6A FF                push -1
00403AC3     68 38814000          push 万年历记.00408138
00403AC8     68 A85A4000          push 万年历记.0040


重新运行万年历记事簿,运行ImportREC,选择这个进程。把OEP改为00003ABE,点IT AutoSearch,点“Get Import”,第4个函数手动修复还是无效,偶然删之,FixDump,却能够正常运行! 晕  {:-)  1.09M ->2.78M
  
        
     
—————————————————————————————————
二、破解
   
      
软件号:4710463734
试炼码:13572468
———————————————————————
易程序 的跟踪是一件难受的事,:-(  比 P-CODE 还烦人,常常下个断点运行很长时间也没反应,或者是一段代码来回调用,10遍?30遍?50遍?…… 当你不耐烦的时候取消断点F9运行,真正的关键点却悄然溜走  :-(  

1、下断点 BPX GETWINDOWTEXTA      程序取试炼码


100F9550     FF15 24551110        call dword ptr ds:[<&USER32.GetWindowTextA>] 
100F9556     8B4C24 08            mov ecx,dword ptr ss:[esp+8]
100F955A     6A FF                push -1
100F955C     E8 09300000          call krnln.100FC56A
                                  ====>ECX=13572468            试炼码

100F9561     EB 0C                jmp short krnln.100F956F


———————————————————————
2、对 试炼码 下内存断点,注意程序经常把试炼码搬来挪去,小心别丢了  :-)


100E6B52     8A06                 mov al,byte ptr ds:[esi]
100E6B54     8807                 mov byte ptr ds:[edi],al
100E6B56     8A46 01              mov al,byte ptr ds:[esi+1]
100E6B59     8847 01              mov byte ptr ds:[edi+1],al
100E6B5C     8A46 02              mov al,byte ptr ds:[esi+2]
100E6B5F     C1E9 02              shr ecx,2
100E6B62     8847 02              mov byte ptr ds:[edi+2],al
100E6B65     83C6 03              add esi,3
100E6B68     83C7 03              add edi,3
100E6B6B     83F9 08              cmp ecx,8
100E6B6E   ^ 72 CC                jb short KRNLN.100E6B3C
100E6B70     F3:A5                rep movs dword ptr es:[edi],dword ptr ds:[esi]
100E6B72     FF2495 286C0E10      jmp dword ptr ds:[edx*4+100E6C28]


100E6C04     8B448E F8            mov eax,dword ptr ds:[esi+ecx*4-8]
100E6C08     89448F F8            mov dword ptr ds:[edi+ecx*4-8],eax
100E6C0C     8B448E FC            mov eax,dword ptr ds:[esi+ecx*4-4]
100E6C10     89448F FC            mov dword ptr ds:[edi+ecx*4-4],eax
100E6C14     8D048D 00000000      lea eax,dword ptr ds:[ecx*4]
100E6C1B     03F0                 add esi,eax
100E6C1D     03F8                 add edi,eax
100E6C1F     FF2495 286C0E10      jmp dword ptr ds:[edx*4+100E6C28]


100E6C60     8A06                 mov al,byte ptr ds:[esi]
100E6C62     8807                 mov byte ptr ds:[edi],al
100E6C64     8A46 01              mov al,byte ptr ds:[esi+1]
100E6C67     8847 01              mov byte ptr ds:[edi+1],al
100E6C6A     8A46 02              mov al,byte ptr ds:[esi+2]
100E6C6D     8847 02              mov byte ptr ds:[edi+2],al
100E6C70     8B45 08              mov eax,dword ptr ss:[ebp+8]
100E6C73     5E                   pop esi
100E6C74     5F                   pop edi
100E6C75     C9                   leave
100E6C76     C3                   retn


—————————————————————————————————
3、只有你耐心细心,最终会来到比较的地方。 哎,为何偏爱明码比较   :-D
   这些代码会被反复调用许多次,炼炼你的“火眼金睛”吧!          {:-)


10074887   |.  8B45 0C            mov eax,dword ptr ss:[ebp+C]
1007488A   |.  50                 push eax                       ; /Arg1
1007488B   |.  8D4D C0            lea ecx,dword ptr ss:[ebp-40]  ; |
1007488E   |.  E8 8D25FFFF        call KRNLN.10066E20            ; KRNLN.10066E20
10074893   |.  8D4D C0            lea ecx,dword ptr ss:[ebp-40]
10074896   |.  51                 push ecx                       ; /Arg3
10074897   |.  6A 00              push 0                         ; |Arg2 = 00000000
10074899   |.  6A 05              push 5                         ; |Arg1 = 00000005
1007489B   |.  E8 7E23FFFF        call KRNLN.10066C1E            ; KRNLN.10066C1E
100748A0   |.  8B55 CC            mov edx,dword ptr ss:[ebp-34]
                                  ====>EDX=13572468             试炼码

100748A3   |.  8955 E4            mov dword ptr ss:[ebp-1C],edx
100748A6   |.  8B45 0C            mov eax,dword ptr ss:[ebp+C]
100748A9   |.  50                 push eax                        ; /Arg1
100748AA   |.  8D4D AC            lea ecx,dword ptr ss:[ebp-54]    
100748AD   |.  E8 6E25FFFF        call KRNLN.10066E20             ; KRNLN.10066E20
100748B2   |.  8D4D AC            lea ecx,dword ptr ss:[ebp-54]
100748B5   |.  51                 push ecx                        ; /Arg3
100748B6   |.  6A 01              push 1                          ; |Arg2 = 00000001
100748B8   |.  6A 05              push 5                          ; |Arg1 = 00000005
100748BA   |.  E8 5F23FFFF        call KRNLN.10066C1E             ; KRNLN.10066C1E
100748BF   |.  8B55 B8            mov edx,dword ptr ss:[ebp-48]
                                  ====>[ebp-48]=T78624-C47303   注册码

100748C2   |.  8955 D8            mov dword ptr ss:[ebp-28],edx
100748C5   |.  8B45 C4            mov eax,dword ptr ss:[ebp-3C]
100748C8   |.  3B45 B0            cmp eax,dword ptr ss:[ebp-50]
100748CB   |.  74 2A              je short KRNLN.100748F7

…… 省 略……

100749CD   |.  FF2495 7F530710    jmp dword ptr ds:[edx*4+1007537F]

…… 省 略……

10074F40     8B55 D8              mov edx,dword ptr ss:[ebp-28]
                                  ====>EDX=[ebp-28]=T78624-C47303   注册码

10074F43     52                   push edx
10074F44     8B45 E4              mov eax,dword ptr ss:[ebp-1C]
                                  ====>EAX=[ebp-1C]=13572468        试炼码

10074F47     50                   push eax
10074F48     E8 B32C0700          call KRNLN.100E7C00
                                  ====>比较CALL!

10074F4D     83C4 08              add esp,8
10074F50     8945 90              mov dword ptr ss:[ebp-70],eax
                                  ====>正确则[ebp-70]=eax=0

10074F53     8B4D 08              mov ecx,dword ptr ss:[ebp+8]
10074F56     898D 1CFFFFFF        mov dword ptr ss:[ebp-E4],ecx
10074F5C     83BD 1CFFFFFF 17     cmp dword ptr ss:[ebp-E4],17
10074F63     74 14                je short KRNLN.10074F79
10074F65     83BD 1CFFFFFF 19     cmp dword ptr ss:[ebp-E4],19
10074F6C     74 19                je short KRNLN.10074F87
10074F6E     83BD 1CFFFFFF 1A     cmp dword ptr ss:[ebp-E4],1A
10074F75     74 1E                je short KRNLN.10074F95
10074F77     EB 28                jmp short KRNLN.10074FA1
10074F79     33D2                 xor edx,edx
10074F7B     837D 90 00           cmp dword ptr ss:[ebp-70],0
10074F7F     0F94C2               sete dl
10074F82     8955 D4              mov dword ptr ss:[ebp-2C],edx
10074F85     EB 1A                jmp short KRNLN.10074FA1
10074F87     33C0                 xor eax,eax
10074F89     837D 90 00           cmp dword ptr ss:[ebp-70],0
10074F8D     0F9CC0               setl al
10074F90     8945 D4              mov dword ptr ss:[ebp-2C],eax
10074F93     EB 0C                jmp short KRNLN.10074FA1
10074F95     33C9                 xor ecx,ecx
10074F97     837D 90 00           cmp dword ptr ss:[ebp-70],0
10074F9B     0F9FC1               setg cl
10074F9E     894D D4              mov dword ptr ss:[ebp-2C],ecx
10074FA1     E9 BE000000          jmp KRNLN.10075064


———————————————
进入比较CALL:10074F48  call KRNLN.100E7C00   真假码逐位比较


100E7C54     8A02                 mov al,byte ptr ds:[edx]
                                  ====>[EDX]=13572468        试炼码

100E7C56     42                   inc edx
100E7C57     3A01                 cmp al,byte ptr ds:[ecx]
                                  ====>[ECX]=T78624-C47303   注册码

100E7C59   ^ 75 E9                jnz short KRNLN.100E7C44
100E7C5B     41                   inc ecx
100E7C5C     0AC0                 or al,al
100E7C5E   ^ 74 E0                je short KRNLN.100E7C40
100E7C60     F7C2 02000000        test edx,2
100E7C66   ^ 74 A8                je short KRNLN.100E7C10
100E7C68     66:8B02              mov ax,word ptr ds:[edx]
100E7C6B     83C2 02              add edx,2
100E7C6E     3A01                 cmp al,byte ptr ds:[ecx]
100E7C70   ^ 75 D2                jnz short KRNLN.100E7C44
100E7C72     0AC0                 or al,al
100E7C74   ^ 74 CA                je short KRNLN.100E7C40
100E7C76     3A61 01              cmp ah,byte ptr ds:[ecx+1]
100E7C79   ^ 75 C9                jnz short KRNLN.100E7C44
100E7C7B     0AE4                 or ah,ah
100E7C7D   ^ 74 C1                je short KRNLN.100E7C40
100E7C7F     83C1 02              add ecx,2
100E7C82   ^ EB 8C                jmp short KRNLN.100E7C10

100E7C10     8B02                 mov eax,dword ptr ds:[edx]
100E7C12     3A01                 cmp al,byte ptr ds:[ecx]
100E7C14     75 2E                jnz short KRNLN.100E7C44
100E7C16     0AC0                 or al,al
100E7C18     74 26                je short KRNLN.100E7C40
100E7C1A     3A61 01              cmp ah,byte ptr ds:[ecx+1]
100E7C1D     75 25                jnz short KRNLN.100E7C44
100E7C1F     0AE4                 or ah,ah
100E7C21     74 1D                je short KRNLN.100E7C40
100E7C23     C1E8 10              shr eax,10
100E7C26     3A41 02              cmp al,byte ptr ds:[ecx+2]
100E7C29     75 19                jnz short KRNLN.100E7C44
100E7C2B     0AC0                 or al,al
100E7C2D     74 11                je short KRNLN.100E7C40
100E7C2F     3A61 03              cmp ah,byte ptr ds:[ecx+3]
100E7C32     75 10                jnz short KRNLN.100E7C44
100E7C34     83C1 04              add ecx,4
100E7C37     83C2 04              add edx,4
100E7C3A     0AE4                 or ah,ah
100E7C3C   ^ 75 D2                jnz short KRNLN.100E7C10
100E7C3E     8BFF                 mov edi,edi
100E7C40     33C0                 xor eax,eax
100E7C42     C3                   retn

100E7C43     90                   nop
100E7C44     1BC0                 sbb eax,eax
                                  ====>到这儿就OVER了!

100E7C46     D1E0                 shl eax,1
100E7C48     40                   inc eax
100E7C49     C3                   retn
 
    
   
————————————————————————————————— 
【注册信息保存】:


主程序同目录下的yybsk.EDT文件。

下面是yybsk.EDT注册前、后的比较:
<offset>        <File 1 Byte>         <File 2 Byte>
    1477h                CAh                   D7h 
    1485h                D6h                   C0h 
    1489h                B7h                   B4h 
    148Dh                BAh                   B3h 
    148Fh                B1h                   B0h 
    1493h                B1h                   B2h 
    1495h                B2h                   B5h 
    2A20h                21h                   2Dh 
    2C3Ch                20h                   2Ch 

      
————————————————————————————————— 
【整        理】:


软件号:4710463734
注册码:T78624-C47303
    
—————————————————————————————————

明月几时有?今夕又何夕?录首 于湖居士 的《念奴娇》祝大家中秋愉快 :-)
                     
                                
                     洞庭青草,近中秋,
                     
                     更无一点风色。
                     
                     玉鉴琼田三万顷,
                     
                     著我扁舟一叶。
                     
                     素月分辉,明河共影,
                     
                     表里俱澄澈。
                     
                     悠然心会,妙处难与君说。
                     
                     
                     应念岭表经年,
                     
                     孤光自照,肝胆皆冰雪。
                     
                     短发萧骚襟袖冷,
                     
                     稳泛沧溟空阔。
                     
                     尽挹西江,细斟北斗,
                     
                     万象为宾客。
                     
                     扣舷独啸,不知今夕何夕!?                    




                                
         ,     _/ 
        /| _.-~/            _     ,        青春都一饷   :( 
       ( /~   /              ~-._ |
       `\  _/                   ~ )          忍把浮名     :arrow: 
   _-~~~-.)  )__/;;,.          _  //'
  /'_,   --~    ~~~-  ,;;___(  (.-~~~-.        换了破解轻狂   :P 
 `~ _( ,_..-- (     ,;'' /    ~--   /._` 
  /~~//'   /' `~         ) /--.._, )_  `~
  "  `~"  "      `"      /~'`    `\~~   
                         "     "   "~'  ""

    

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

                           2003-09-11   18:00