x64dbg-硬件编码序列号寻踪三
目标程序
程序下载:crackme1.0
解压密码:9unk
任务目标:寻找正确序列号
观察程序
序列号寻踪
同样运行程序到主模块,然后使用 “Ctrl+N” 快捷键查看主模块使用的 API。这里理由三个重要的 API :GetWindowsTextA(获取用户输入的序列号);lstrcmpA(用于字符串比较);MessageA(用于显示一条消息)
我们把这 3 个 API 设置断点并运行程序
“Ctrl+F9” 运行程序到返回,可以看到此时的程序获取到了 password。
继续按 “F9” 运行程序到下一个断点处
lstrcmpA 比较两个字符串(区分大小写),如果 “lpString1” < “lpString2” 返回值是负数;如果 “lpString1” > “lpString2” 返回值是正数;如果 “lpString1” = “lpString2” 返回值是 0
可以看到 lstrcmpA 有两个字符串参数,我们按 “Ctrl+F9” 运行到返回,可以看到此时 EAX 的返回值是负数。
继续单步步过可以看到下面的关键判断和跳转
继续 “F9” 运行,可以看到它的报错信息参数。
我们重新输入 “cannabis” 进行测试,可以看到 lstrcmpA 的返回值是 0
继续运行可以看到此时的 ZF 标志位为 1。
最后 MessageBoxA 参数值提示已经 password 正确
- 本文标题:x64dbg-硬件编码序列号寻踪三
- 本文作者:9unk
- 创建时间:2020-12-17 14:18:28
- 本文链接:https://9unkk.github.io/2020/12/17/x64dbg-ying-jian-bian-ma-xu-lie-hao-xun-zong-san/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!