【发布时间】:2013-02-14 10:07:57
【问题描述】:
除了阅读一些 ASM 操作数 (MIPS) 的最基本能力外,我没有任何编程经验。
由于病情严重,我有 1 年的空闲时间。这段时间我不能工作或外出,所以我决定要学习 ASM。
我对黑客游戏感兴趣;特别是 GameCube (PowerPC ASM) 和 PlayStation (MIPS ASM)。
对于像我这样的人正确学习 ASM 的最佳方式是什么?
我想要足够流利,我可以编写简单的程序,重要的是我能真正理解它,所以我可以在反汇编程序中查看游戏的功能(使用断点等)。
我基本上需要对我感兴趣的少量游戏进行逆向工程,以便我可以破解/更改/修改某些属性(当然完全合法)。
这对我来说只是一个爱好。我没有兴趣在这个领域找到工作;我的大学专业与编程完全无关,我不能在我的大学学习编程课程。
【问题讨论】:
-
一本好书会让你前进。要对没有源代码的程序进行逆向工程,您需要一个或多个良好的调试器(并且您需要学习使用代码和数据断点以及单步执行)、一个或多个良好的反汇编器,以及很大的耐心。无论如何,要对代码进行任何重要的更改,您需要很好地学习相关的程序集。首先学习你喜欢的 asm,然后开始使用一个非常小的可执行文件来学习。在大的问题是如何在数千行代码中找到正确的指令。回到 DOS,Gametools (G3X) 拥有出色的内存扫描仪。