=79、HyperSnap-DX v3.00 破解法 ========================================== 以下称此软体为HS... 1.执行HS...出现延迟画面... 2.Ctrl-D 切入S-ICE... 3.下bpx lockmytask指令... 4.按F5切回HS...按OK... 5.S-ICE拦下後...BD * 把拦中断的功能关掉 按几次F12...跳回HS领空(HSDX主程式模组)... 6.然後一直按F10....直到下面: XXXX:0040F6FE PUSH 0046CC44 XXXX:0040F703 PUSH ECX XXXX:0040F704 PUSH EAX XXXX:0040F705 CALL [00490D54] ;用F10带过此行... XXXX:0040F70B TEST EDI,EDI 延迟画面就跑出来啦... XXXX:0040F70D JZ 0040F745 所以往上看...看哪里可以避开此CALL... 如下: 7. XXXX:0040F685 CALL 00426C10 XXXX:0040F68A CMP DWORD PTR [0048547C],00 ;比对旗标值 XXXX:0040F691 PUSH EBX XXXX:0040F692 PUSH ESI XXXX:0040F693 PUSH EDI XXXX:0040F694 JNZ 0040F745 ;若[0048547C]之值等於00... 那就死定罗!!! 8.所以在0040F685那行设断...再重新执行一次... 拦下後...追进去... 但是...发觉...好像没有更动[0048547C]的指令出现... 不信邪... 下BPM XXXX:YYYYYYYY (即[0048547C]的位址)... 按下G...结果还是在XXXX:0040F691 PUSH EBX拦下... 表示此行的上一行XXXX:0040F68A CMP DWORD PTR [0048547C],00 有读写此位址...当然嘛...要比较...当然要去读咩... 除此之外就没读写那锅位址的指令... 我偏不信邪...BPM XXXX:YYYYYYYY仍然开著... 重新载入执行...哇勒...还是在老地方拦下... 但是重头载入执行...你会发觉 XXXX:0040F68A CMP DWORD PTR [0048547C],00被栏两次(检查两次) 可见没有其他的指令读写那锅位址... 算了...那就不管啦... 执行到XXXX:0040F694 JNZ 0040F745 下CODE ON...记下机械码... 然後下A... 改成JMP 0040F745 嗯...强迫跳过啦...:p 9.这一套破的蛮丑的... 还有Unregistered version的标记... 不管啦...用UltraEdit改掉就好啦... 刚试了一下(2000年)...功能都没问题... 应该ok啦...收工!!! 10.重新整理一次: 软体名: HyperSnap-DX v3.00 改 HSDX.EXE FIND: 83 3D 7C 54 48 00 00 75 2A 8D 45 0C 50 EDIT: -- -- -- -- -- -- -- EB -- -- -- -- -- --: 表不用修改之处。