首先,我使用OS X,这是一个基于UNIX的系统。
我拥有C ++的初学理论知识,并希望通过软件逆向工程扩展我的知识。我进入的每一个指南似乎都跳了一半,我似乎错过了启动所需的巨大信息空白。我的最终目标是成功为任何应用程序构建工作dylib。我从哪里开始学习Ram地址,它们如何工作,如何加载库以及我开始阅读的实际内容是什么,主题是什么。到目前为止,我所学到的一切都有一个明确的起点,一定的语法,但我发现一切都使用了我不明白的术语。我发现自己只是越来越分支,因为一篇文章使用的关键字我不明白,我谷歌,另一个使用五个我不明白,我只是卡住了。有问题的应用程序没有更改内存地址,但我还想学习如何使用偏移量来补偿它。
我从哪里开始?!
答案 0 :(得分:1)
在开始逆向工程之前,您需要的不仅仅是C语言的理论知识。暂时忘记C ++,C更简单,它的级别很低,一旦掌握了它,你就会明白程序是如何工作的。给你一份Brian Kernighan和Dennis Ritchie编写的The C Programming Language,并阅读整本书。
一旦你感觉很舒服,C程序就会熟悉像POSIX这样的UNIX标准,然后转向OS X特定的东西。 OS X编程的最佳资源是http://developer.apple.com。下面的链接解释了动态库如何在OS X上运行。一旦你对C有了很好的理解,它就会有意义。