我最近对逆向工程很感兴趣,刚读完 Paul Carter 的PC 汇编语言书 ( http://pacman128.github.io/static/pcasm-book.pdf ),这是一本很好的 x86 入门读物。我的第一个问题是:有什么好的中级书籍可以更好地掌握 x86 汇编?其次:在深入研究 x86 之前,我是否应该更好地掌握 C 编程语言?目前我也只有 C 的基本知识。
对不起,如果这是一个意见类型的问题,但我非常尊重这个论坛上关于这个话题的人的意见。
我最近对逆向工程很感兴趣,刚读完 Paul Carter 的PC 汇编语言书 ( http://pacman128.github.io/static/pcasm-book.pdf ),这是一本很好的 x86 入门读物。我的第一个问题是:有什么好的中级书籍可以更好地掌握 x86 汇编?其次:在深入研究 x86 之前,我是否应该更好地掌握 C 编程语言?目前我也只有 C 的基本知识。
对不起,如果这是一个意见类型的问题,但我非常尊重这个论坛上关于这个话题的人的意见。
如果您熟悉 C 并将其用作主要编程语言,那么了解 C 中的事物在幕后如何工作将对您有所帮助,否则将 x86 asm 作为您的第一编程语言完全没问题。
如果你想更好地理解 C 和 x86 汇编的关系,我推荐阅读黑客反汇编的第 7 章(网上有免费的 chm 版本)。
作为逆向工程师,您需要理解并熟练使用机器代码。了解 C 可能会有所帮助,因为它的级别相对较低,并迫使您理解机器级别的概念,例如堆栈、指针等。对汇编的良好掌握更为重要。
最好的方法可能是去crackmes.de和其他类似的网站并开始解决挑战。有些挑战非常新手,有些则极难解决。专注于您感兴趣的 RE 类型(恶意软件、密钥生成器/破解、加密、培训师/模组、复杂程序),一旦您获得足够的经验,就可以开始真正地工作,甚至只是将其视为挑战。
编辑:crackmes.de 前段时间被删除,另一个不错的资源是tuts4you.com 的下载部分。