= 11、Netterm 4.10 破解法 !!! ============================================== 弟从这一期(36)的HOPE NET看到此软体... 弟一直是Netterm的爱用者... 版上早已有高手算出注册码... 不过不能填自己的名字...总是觉得有点缺憾... 所以又手痒难耐啦...呵呵...:P 把他trace了一下: 1.Username: 填入 yhq 注册码: 87654321 (先乱填) 2.Ctrl-D 切入S-ICE... 3.bpx hmemcpy 4.按F5切回Netterm...然後按下OK键... 5.S-ICE拦下後...BD * 把拦中断的功能关掉 按几次F12...跳回Netterm领空... 6.然後一直按F10....直到下面: 7.XXX:00423E4A LEA EAX,[EBP+FFFFFDBC] XXX:00423E50 PUSH EAX XXX:00423E51 MOV EAX,[0044814C] XXX:00423E56 PUSH EAX XXX:00423E57 CALL 00441826 ^^^^^^^^^^^^^ 此CALL会将我们带到ISIVIDEO.DLL... 就是Netterm的运算注册码和比对的核心... XXX:00423E5C MOV [EBP+FFFFFDB8],EAX XXX:00423E62 CMP DWORD PTR [EBP+FFFFFDB8],00 XXX:00423E69 JZ 00423EC3 ^^^^^^^^^^^ 跳到00423EC3...就GAME OVER... 弟破过好几套软体... 都是使用EAX当作一锅旗标值... 也就是最後以EAX的值来决定注册成功或失败... 所以由上段程式可以知道: 当EAX=0时...注册失败... 当EAX=1时...注册成功...(为啥知道是1勒...因为我trace过嘛...) 所以我们就追入XXX:00423E57那个CALL(核心)看看... 8.追入後...一直按F10...直到如下: (这里已是ISIVIDEO.DLL的领空...而不是NETTERM.EXE的喔) 而且此处亦是比对核心最後的返回地方... XXX:004748B1 JNZ 004748C6 XXX:004748B7 MOV EAX,00000001 XXX:004748BC JMP 004748CD XXX:004748C1 JMP 004748CD XXX:004748C6 XOR EAX,EAX ^^^^^^^^^^^ 就是这里将EAX的值改成0...使我们注册失败.. 所以执行到这一行时看看EAX为多少...嗯...就是前面说的1嘛... 所以将此行改成 NOP NOP 或是MOV AL,1 就破解啦... 别忘了先下code on指令...将机械码计起来... 待会要改ISIVIDEO.DLL... XXX:004748C8 JMP 004748CD XXX:004748CD POP EDI XXX:004748CE POP ESI XXX:004748CF POP EBX XXX:004748D0 LEAVE XXX:004748D1 RET 0010 再次整理一遍: 改ISIVIDEO.DLL FIND: E9 0C 00 00 00 E9 07 00 00 00 33 C0 E9 00 00 00 00 5F 5E 5B EDIT: -- -- -- -- -- -- -- -- -- -- 90 90 -- -- -- -- -- -- -- -- --:表不用修改之处... 改完後... username: 随你高兴...想填啥就填啥 password: 随你高兴...想填啥就填啥 ^___^ PS: 感谢网友pank将其中文化...让众网友能享受最新的中文化 Netterm !!!