= 07、破解经验: ACDsee 32 v2.0 ============================================= 这个软体, 对於版上的先进只是小儿科, 我在此野人献曝, 希望各位先进 以及同好们给予指导, 也能和像我一样的新手一起交流. 因为此软体对姓名以及注册码均编码之後, 再行比对, 无法直接找出注册 码, 而对於组语肉肉的我, 要去找出编码的方法是个大难题. 最後只好采 用改档案的方式. 这是我第一次尝试以改档案的方式破解程式. 1. 输入注册资料(如果己经注册, 可以用regedit, 将注册资料改掉) Name: <你所想用的名字> 不过还是得6个字母以上, 中文不行 Reg#: <随便> 切换至SoftICE(ctrl+D), 设定中断点 bpx hmemcpy 再交回控制权(x) 2. 按OK 之後触发中断将控制权交到SoftICE上, 将中断disable, bd * 一直p ret至acdsee的模组, 然後p(或F10)至 .. 004036B0 call 00402FC0 .. t追踪进去(F8), 再P到 .. 00402FE1 call 00421750 .. t追踪进去 3. 当P 到 .. 004217BE LEA EAX,[ESP+48] 004217C2 LEA ECX,[ESP+74] 004217C6 ADD ESP,10 此时DS:[EAX]是以名字编碥的结果, DS:[ECX]是以注册码编码的结果 到此可以下code on, 往下 004217C9 8A10 MOV DL,[EAX] 004217CB 3A11 CMP DL,[ECX] 004217CD 751A JNZ 004217E9 为了使比对成功, 我想可以将004217C9 改为MOV DL,[ECX] 下A 004217C9, 然後填入MOV DL,[ECX]会看到 004217C9 8A11 MOV DL,[ECX] 还不急著交还控制权, 因为下面还有一段比对的码, 再P至 .. 004217D3 8A5001 MOV DL,[EAX+01] 004217D6 3A5101 CMP DL,[ECX+01] 004217D9 750E JNZ 004217E9 如法泡制, 可以看到 004217D3 8A5101 MOV DL,[ECX+01] 可以交回控权了, 应该可以看到注册成功的画面 4. 由上述可以准备改档案了, 先复制一份备份, 以备不时之需 我是用UltraEdit开启档案 Find: 8A103A11 只有找到一个, 就很用力的改掉(也可以不用力啦..:p) ^ Rep : 1 Find: 8A50013A5101 也只找到一个, 再用力的改掉 ^ Rep : 1 如此修改後, 注册码就可以隋意输入了.. 修改後到目前还没遇到什么问题 请不吝赐教.. -- 风尘情事怎能挥尽, 观世不笑岂是痴人 Hank Wang mailto:hank@ip.csie.ncu.edu.tw