目录
题目介绍
这是吾爱破解论坛上的160个CrackMe练习第123题。如图
破解思路
- 在Serial中随意输入任何一串文字,点击按钮"REGISTER",无任何提示信息弹出。改变文字类型为纯文字或纯数字,或改一下长度后,仍然没有任何的提示信息。
- 打开OD软件,将程序拖入OD。点击内存窗口按钮或ALT+M打开内存窗口
- 右键 search,输入要查找的内容“TSSFTMEZDPKS”。
- 在搜索结果可以看到文字对应的内存,在内存处右键 内存断点,打一个内存访问断点。
- 运行程序,点击“REGISTER”后,断点触发。打开调用堆栈窗口,找到程序模块的相关汇编代码处。
- 双击后定位到对应的汇编代码行,去掉内存断点后,在汇编代码行处下断点。
- 运行后,点击“REGISTER”按钮后,触发代码断点。F8跟踪程序运行逻辑
- 发现下方跳转 JNZ,右键 NOP掉。发现成功破解
总结
这个程序其实借助了OD的内存访问断点。通过在内存中搜索关键信息,然后下内存访问断点。进而在堆栈窗口中定位程序的汇编代码行处。在代码行附近跟踪运行,通常会在附近找到关键跳转的指令。要搜索的信息通常是要破解的程序的弹窗信息或者是编辑框的信息,优先弹窗信息。