reverse-engineering - 如何在内存中找到代表 Minesweeper 排雷布局的数据结构?

标签 reverse-engineering windbg ida minesweeper memory-editing

我正在尝试使用 Minesweeper 作为示例应用程序来学习逆向工程。我找到了 MSDN article在一个简单的 WinDbg 命令上,它显示了所有的地雷,但它很旧,没有详细解释,也不是我想要的。

我有 IDA Pro disassemblerWinDbg debugger我已经将 winmine.exe 加载到它们两个中。有人可以为这些程序中的任何一个提供一些实用技巧,以查找代表雷场的数据结构的位置吗?

在WinDbg中我可以设置断点,但是我很难想象在什么点设置断点以及在什么内存位置。同样,当我在 IDA Pro 中查看静态代码时,我什至不确定从哪里开始找到代表雷区的函数或数据结构。

Stackoverflow 上是否有任何逆向工程师可以为我指明正确的方向?

最佳答案

查看此代码项目文章,它比您提到的博客文章更深入一些。
http://www.codeproject.com/KB/trace/minememoryreader.aspx
编辑
这篇文章虽然不是直接关于扫雷,但为您提供了使用 WinDbg 搜索内存的良好分步指南:
http://www.codingthewheel.com/archives/extracting-hidden-text-with-windbg
编辑 2
同样,这与扫雷无关,但它确实让我对我的内存调试有了一些思考,这里有很多教程:
http://memoryhacking.com/forums/index.php
另外,下载CheatEngine (由 Nick D. 提到)并完成它附带的教程。

关于reverse-engineering - 如何在内存中找到代表 Minesweeper 排雷布局的数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/931257/

相关文章:

debugging - IDA Pro 中的内存映射类似于 OllyDbg

encryption - 如何对加密算法进行逆向工程?

.net - WinDbg SOS异常堆栈中函数地址旁边的+0x10是什么意思?

debugging - 用于根据行号设置断点的 CDB 命令

gdb - 从 IDA pro 导出符号以在 GDB 中使用

windows - IDA Pro 反汇编显示 ?而不是 .data 中的十六进制或纯 ascii?

graph - IDA 更改为图形 View

c - Winternl.h : No such file or directory

dart - 将 .dart.snapshot 反编译成 Dart 源码

windows - 调用 LoadLibrary(...) 失败,Win32 错误 0n126 使用 Windows 调试器工具 windbg; w3wp.exe IIS 工作进程故障