你想逆转什么样的可执行文件?
Windows可执行文件(PE可执行文件A.K.A. .exe文件)
- OllyDBG (免费):一个非常好的可执行调试器(您可以用它修改解压缩代码)
- 艾达专业(商业,昂贵):如果你想做二进制分析,这是你需要的程序。
- Hiew (商业,相当便宜):反汇编程序+十六进制编辑器。我以前使用过它(10年前),这个程序没有GUI
Linux可执行文件(ELF文件)
- GDB(免费/开源):GNU调试器。
- Hopper (商业,廉价):反汇编程序+伪C反编译器(这个工具很棒!)
- Evan的调试器(免费/开放源码):这非常类似于OllyDBG,但对于linux
- Insight (免费/开放源码,有点过时的AFAIK):一个非常好的GDB GUI。
- IDA (商业,昂贵):如果你想做二进制分析,这是你需要的程序(Linux版本)。
MacOS可执行文件(MACH-O文件):
- Hopper (商业,廉价):Hopper可以分解和分解OSX的可执行文件。
- IDA PRO (商业,昂贵):如果你想做二进制分析,这是你需要的程序(OSX版本)。
- 对不起,我对OSX的逆向工程知之甚少。
Android可执行程序( APK包中的.DEX)
- APK工具(免费/开源):反汇编程序和汇编程序(SMALI)。如果你想逆转Android应用程序,这可能是你唯一需要的工具。
- JEB (商业):Android反汇编程序(SMALI)和反编译程序( Java ),这个程序可以在Java类中反编译DEX。官方网站上有一个演示。
- IDA PRO (商业,昂贵):IDA可以拆卸Android可执行程序。
iOS可执行文件:
- IDA Pro (商业,昂贵):IDA可以拆卸iOS可执行文件
- Hopper (商业,廉价):Hopper可以分解和分解iOS的可执行文件。
书籍:
- 逆转:逆向工程的秘密- Eilam
- 国际开发协会专业书籍:世界上最受欢迎的反汇编程序非正式指南-克里斯·伊格尔
- 实用逆向工程: x86,x64,ARM,Windows,反向工具和混淆- Bruce,Alexandre,Elias,Sebastien
- 学习Linux二进制分析- Ryan O‘’neil
网站:
- Opensecuritytraining.info:很多关于逆向工程和低级编程的视频。
- Reverseengineering.stackexchange.com:关于RE的问题。
youtube上也有很多视频,但大多数都是游戏黑客等等。一开始逆向工程可能很难,但它很酷,很有趣,但请不要用你的技能去做愚蠢的事情,比如注射病毒或盗版:让逆向工程成为一件好事吧:)