假设您想学习如何进行逆向工程在 Windows 上, 就是这样。 Linux 方式非常不同(尽管最终你或多或少会到达相同的地方):
您想从非常简单的东西开始,例如 8080 处理器。您可以在这里找到在线模拟器:http://www.tramm.li/i8080 http://www.tramm.li/i8080-- 这是一个名为“CP/M”的遗留操作系统。单击“Start EMU8080”链接——您将看到“SID”命令行——一个简单的古老调试器。它只有大约 10 个命令——浏览任意地址的内存、输入新的汇编命令等。输入 HELP 即可查看全部命令。如果需要,您可以尝试通过 google 搜索 SID 手册。然后谷歌搜索 8080 组装手册——你会发现一堆 PDF——它们都是 Intel 在 1970 年代编写的两本相同手册的副本。阅读这两本 — 它们将为您提供 808x CPU 基础知识的良好开端。PC 中使用的所有现代处理器均源自 8080。尝试使用 SID 和 8080,直到您觉得自己明白了。
下一步是 8086。 为此,您需要获取 Window XP 的副本并在命令行中运行 DEBUG 程序。 DEBUG 是微软对SID 的抄袭。一旦了解了SID,学习起来就会非常容易。文档在这里:http://thestarman.pcministry.com/asm/debug/debug.htm http://thestarman.pcministry.com/asm/debug/debug.htm-- 尽可能多地阅读,同时确保点击其他页面的链接 -- 同一站点包含大量有关基本 8086 编程的内容。如果到时候你已经内化了8080的使用手册,那么8086就会感觉超级简单。 (如果你跳过 8080/SID 阶段,一切都会感觉很奇怪,并且谜题将需要更多时间来解决,相信我。)
您可能还想玩http://ladsoft.tripod.com/grdb_debugger.html http://ladsoft.tripod.com/grdb_debugger.html-- DEBUG 的改进克隆,更易于使用。
下一步,获取 Peter Abel 撰写的一本名为“IBM PC 汇编语言和编程”的书——越旧的版本越好。你可以在亚马逊上以 1 美元左右的价格找到一个(我不是在开玩笑!)。阅读前 7 章。给自己安装一个名为“FASM”的汇编程序(忘记 MASM 和 NASM 废话)。阅读 FASM 文档。以 16 位实模式编写程序。您仍然可以在 Windows XP 命令行上运行它们。
下一步,阅读http://www.drpaulcarter.com/pcasm/ http://www.drpaulcarter.com/pcasm/-- 这将帮助您了解保护模式。然后阅读实际的 Intel 386 参考文档:http://www.logix.cz/michal/doc/i386/ http://www.logix.cz/michal/doc/i386/
然后买一本叫《逆向。逆向工程的秘密》的书。它相当蹩脚,但会给你一些关于接下来需要学习什么的想法。就像低级 Windows 编程(消息、处理程序等)
当你完成所有这些之后,才可以下载http://www.ollydbg.de/ http://www.ollydbg.de/并尝试玩它。确保获取版本 1.x,而不是 2.x。去 Youtube 找一些教程。欢迎您跳过这一步,但我可以保证您会感到沮丧,并且无法理解屏幕上看到的任何内容,除非您执行上述所有操作。
祝你好运。如果您有任何疑问,可以通过我的博客与我联系(链接位于我的个人资料页面上)。