静态注册码的追踪,不论对于没有壳还是加了壳,加了密的程序,都是比较简单的。
基本思路还是和其他的一样,1、寻找字符串; 2、寻找关键函数 ; 3、设置消息断点
对于稍微复杂一点的,搜索字符串方法,可以有以下改进:
1、到指定的程序领域暂停下来,到内存(M)区域,可以搜索对应的字符串,看看有哪些变化。可以从区块的角度对每个区块进行扫描。
2、而在C(cpu)中查看的仅仅是本区域的字符串。
3、注册码思路:
设置鼠标左键点击断点 --> 执行到返回 --> 在内存中搜索输入的注册码 --> 在对应位置设置硬件断点 --> 继续执行程序寻找比较点以及真的注册码
附注:对于在win7下使用出现异常的解决方法,改内存是转载的,还比较好用。
由于大内存的普及,很多人都将操作系统升级到WIN7来获得更多的可用内存。
但是升级后,OD的调试发现一些问题:
1.配置
经过一些测试,发现在win7x64下,如果没有满足以下配置条件:
[Settings]
Ignore TRAP=0
Ignore custom exceptions=0
则会发生异常
2.兼容性
经过测试,在WIN7下将OD执行程序设置成WINDOWSXP SP3兼容模式则可正常调试32位程序。
另外,可以设置其为管理员运行,即可。
不过对于一些危险的程序,建议在虚拟机中运行。