今天接触到的是在不去壳的情况下通过OD动态调试查找注册码。
所用到的还是《Shark恒零基础百集VIP破解教程》中的示例程序:
打开软件,发现需要注册码,随便输入后,软件重启,然后还是需要注册。
分析前,先查壳:
发现是ASPack(AsPack是高效的Win32可执行程序压缩工具,能对程序员开发的32位Windows可执行程序进行压缩,使最终文件减小达70%!(百度百科内容));接下来载入OD,运行程序,跳转到401000处,查找字符串“未购买”,跳转到相应代码段,发现注册表项:
下断,重新载入程序,设置程序开始的断点(在程序开始对比注册码之前断下来):
运行程序,禁用开始程序开始的断点,启用注册表项的断点:
运行,然后单步调试,寻找可疑字符串:
把可疑字符串作为注册码在软件中尝试,发现
0B040FC49C2CE1E69A1B3ACCE720B0546964E3F2A106ED1D
就是注册码,重新打开软件,发现已完成破解: