= 44、More Than Word V3.0 For Win95 ========================================= More Than Word V3.0 For Win95 用一般 Windows API 都拦不到,在主程式後面找到 'PKWARE' 字串, 我猜可能用 PKWARE 压缩过! 1>. 执行 WinICE ,进入 Windows 95 後,按 [Ctrl] + D 切换到 S-Ice ,拦 BPX GetCommandLineA , 再按 [F5] 回 Windows 95 2>. 执行 MTW 3>. S-Ice 会启动中断点,用 BD * (先关掉中断点) 4>. 按 [F10] 一直回到 MTW!CODE,这时你应该可以发现 程式的进入点在 CS∶00⒋⒈0000 5>. 继续一直按著 [F10] , 会走到一个 Loop , 如下: CS:00410479 PUSH 00 ←┐ : ┃ : ┃主要执行区 : ┃ CS:004104A2 JMP 00410479 ━┘ 离不开... 怎么办? 没关系... 好戏才刚要上场而已... 6>. 下 BPX CS∶00⒋⒈0⒎⒌F (往下面多设几个中断点,不小心猜到的... :p ) (有时候破解还是靠一点运气... ) 按 [F5] , 回到 MTW 7>. 按 [Send] , S-Ice 会启动中断点,并停在 CS∶00⒋⒈0⒎F 的地方 8>. 继续一直按著 [F10] , 走...走...走...走到下面: CS:00410984 CMP BYTE PTR [00440729],02 ; CS:0041098B JZ 004109A6 ; CS:0041098D CALL 00410D4B ; CS:00410992 CALL 00419474 ; CS:00410997 CALL 004129A0 ;← 追进去,这里是输入注册码 CS:0041099C CALL 00419474 ; 的地方 CS:004109A1 JMP 0041062F ; : ; : ; 继续一直按著 [F10] , 哇~ 又走到一个大 Loop ... CS:00412D3B CMP WORD PTR [004403BC],00 ←┐ ; CS:00412D43 JZ 0041307A ┃ ;← 这里会往下跳 CS:00412D49 XOR AX,AX ┃ ;← 所以在此下中断点, CS:00412D4C XCHG AX,[004403BC] ┃ ; 待会就会发生作用... CS:00412D53 CALL 00410CD5 ┃ ; CS:00412D58 JB 0041307A ┃ ; : ┃ ; : ┃ ; : ┃ ; CS:00413274 JMP 00412D3B ━┘ ; 9>. 按 [F5] 回到 MTW,输入 Full name 和 Access Code 先随便打 後,按 [Validate Access Code number],S-Ice 会再度启动中断点, 并停在刚刚下中断点 CS∶00⒋⒈⒉D⒋⒐ 的地方 10>. 继续一直按著 [F10] , 走...走...走...走到下面, 哇~ 哈! 哈! 总算找到我们要的目标... :-) CS:00412E97 MOV AL,[ESI] ←┐ ;注一∶这里是刚刚随便打的 Code CS:00412E99 CMP [EDI],AL ┃ ;注二∶这里就是重点啦~ CS:00412E9B JNZ 00412F74 ┃ ;注册码错误,就立刻跳出去! CS:00412EA1 INC ESI ┃ ; CS:00412EA2 INC EDI ┃ ; CS:00412EA3 LOOP 00412E97 ━┘ ; : : 注一∶注意 S-Ice 右上角会出现 DS:????????=XX (XX:就是随便输入的) ( Access Code ) 注二∶注意 S-Ice 右上角会出现 DS:########=YY (YY:才是正确的Access Code) 但是会差一个 byte ! Access Code 格式: xxx-xxx-xxx-xxx (假设你输入的格式是 111-222-333-444 在记忆体中,) (它会把 '-' 减号去掉,像这样: 111222333444 ) 你可以 D DS:######## (Dump DS:######## 记忆体资料) 出来看, 嘿~ 嘿~ 你可以看到一排数字,数一数,咦? 不对呀! 怎么只有 11 个数字ㄋㄟ,呵...,跟我玩躲猫猫,喔~ 原来躲到左边去了。 像我的是显示 DS∶00⒋⒋⒌⒏0D=?? 此时要 Dump 出来 看的话,则是 D DS∶00⒋⒋⒌⒏0C (减一,就对了!) 如果还是不足⒈⒉个数字的话,则後面全部补0,中间有空白的, 也是一样补0,这样了改了吧~ 11>. 赶快把你看到的⒈⒉个数字抄下来,假设你看到的是这样∶772_6945134_ 好了,按 [F5] 回 MTW ,把刚刚抄下来的⒈⒉个数字打上去,如下面∶ Access Code∶⒎⒎⒉-0⒍⒐-⒋⒌⒈-⒊⒋0 P.S.1. 这个 Access Code 只是随便假设的,你可别真的照打喔~ 因为 Access Code 会随 Product number 的变动而有所不同。 P.S.2. 有没有愿意偷偷的告诉我,那里拿得到 Soft-ICE for NT 呢? 请私下 mail 给我...