如何轻松地对软件进行逆向工程?
How to Reverse Engineer Software Easily?
我是软件逆向工程的新手,
其实我想从免费和开源中学习软件逆向工程,我的问题是有经验的人可以推荐我一些网站或YouTube频道吗?
请推荐....
您想反转哪种可执行文件?
Windows 个可执行文件(PE 可执行文件 A.K.A..exe 文件)
- OllyDBG(免费):一个非常好的可执行调试器(您可以用它更改反汇编代码)
- IDA PRO(商业版,价格昂贵):如果你想做二元分析,这就是你需要的程序。
- Hiew(商业版,相当便宜):反汇编器+十六进制编辑器。我过去(10 年前)用过它,这个程序没有 GUI
Linux 个可执行文件(ELF 文件)
- GDB(Free/opensource):GNU 调试器。
- Hopper(商用,便宜):反汇编器 + 伪 C 反编译器(这个工具很棒!)
- Evan 的调试器(free/opensoure):这与 OllyDBG 非常相似,但对于 linux
- Insight(Free/opensource,有点过时了 AFAIK):一个非常好的 GDB GUI。
- IDA PRO(商业,昂贵):如果你想做二进制分析,这是你需要的程序(Linux版本)。
MacOS 可执行文件(MACH-O 文件):
- Hopper(商业,便宜):Hopper 可以反汇编和反编译 OSX 个可执行文件。
- IDA PRO(商业,昂贵):如果你想做二进制分析,这是你需要的程序(OSX版本)。
- 抱歉,我对 OSX 上的逆向工程知之甚少。
Android 可执行文件(APK 包内的 .DEX)
- APK 工具 (Free/opensource):反汇编程序和汇编程序 (SMALI)。如果您想对 Android 应用程序进行逆向工程,这可能是您唯一需要的工具。
- JEB (Commercial): Android反汇编器(SMALI)和反编译器(JAVA),该程序可以反编译Javaclass中的DEX。官网有demo
- IDA PRO(商业版,价格昂贵):IDA 可以反汇编 Android 个可执行文件
iOS 个可执行文件:
- IDA Pro(商业版,价格昂贵):IDA 可以反汇编 iOS 个可执行文件
- Hopper(商业,便宜):Hopper 可以反汇编和反编译 iOS 个可执行文件。
书籍:
- 逆向:逆向工程的秘密 - Eldad Eilam
- IDA Pro 书籍:世界上最受欢迎的反汇编程序的非官方指南 - Chris Eagle
- 实用逆向工程:x86、x64、ARM、Windows 内核、逆向工具和混淆 - Bruce Dang、Alexandre Gazet、Elias Bachaalany、Sebastien Josse
- 学习 Linux 二元分析 - Ryan O'neil
网站:
- Opensecuritytraining.info:很多关于逆向工程和底层编程的视频。
- Reverseengineering.stackexchange.com: 回答你关于 RE 的问题。
youtube 上也有很多视频,但主要是游戏破解等。
逆向工程一开始可能很难,但它很酷很有趣,但请不要用你的技能做愚蠢的事情,比如注入病毒或盗版东西:让逆向工程成为一件好事:)
我是软件逆向工程的新手, 其实我想从免费和开源中学习软件逆向工程,我的问题是有经验的人可以推荐我一些网站或YouTube频道吗? 请推荐....
您想反转哪种可执行文件?
Windows 个可执行文件(PE 可执行文件 A.K.A..exe 文件)
- OllyDBG(免费):一个非常好的可执行调试器(您可以用它更改反汇编代码)
- IDA PRO(商业版,价格昂贵):如果你想做二元分析,这就是你需要的程序。
- Hiew(商业版,相当便宜):反汇编器+十六进制编辑器。我过去(10 年前)用过它,这个程序没有 GUI
Linux 个可执行文件(ELF 文件)
- GDB(Free/opensource):GNU 调试器。
- Hopper(商用,便宜):反汇编器 + 伪 C 反编译器(这个工具很棒!)
- Evan 的调试器(free/opensoure):这与 OllyDBG 非常相似,但对于 linux
- Insight(Free/opensource,有点过时了 AFAIK):一个非常好的 GDB GUI。
- IDA PRO(商业,昂贵):如果你想做二进制分析,这是你需要的程序(Linux版本)。
MacOS 可执行文件(MACH-O 文件):
- Hopper(商业,便宜):Hopper 可以反汇编和反编译 OSX 个可执行文件。
- IDA PRO(商业,昂贵):如果你想做二进制分析,这是你需要的程序(OSX版本)。
- 抱歉,我对 OSX 上的逆向工程知之甚少。
Android 可执行文件(APK 包内的 .DEX)
- APK 工具 (Free/opensource):反汇编程序和汇编程序 (SMALI)。如果您想对 Android 应用程序进行逆向工程,这可能是您唯一需要的工具。
- JEB (Commercial): Android反汇编器(SMALI)和反编译器(JAVA),该程序可以反编译Javaclass中的DEX。官网有demo
- IDA PRO(商业版,价格昂贵):IDA 可以反汇编 Android 个可执行文件
iOS 个可执行文件:
- IDA Pro(商业版,价格昂贵):IDA 可以反汇编 iOS 个可执行文件
- Hopper(商业,便宜):Hopper 可以反汇编和反编译 iOS 个可执行文件。
书籍:
- 逆向:逆向工程的秘密 - Eldad Eilam
- IDA Pro 书籍:世界上最受欢迎的反汇编程序的非官方指南 - Chris Eagle
- 实用逆向工程:x86、x64、ARM、Windows 内核、逆向工具和混淆 - Bruce Dang、Alexandre Gazet、Elias Bachaalany、Sebastien Josse
- 学习 Linux 二元分析 - Ryan O'neil
网站:
- Opensecuritytraining.info:很多关于逆向工程和底层编程的视频。
- Reverseengineering.stackexchange.com: 回答你关于 RE 的问题。
youtube 上也有很多视频,但主要是游戏破解等。 逆向工程一开始可能很难,但它很酷很有趣,但请不要用你的技能做愚蠢的事情,比如注入病毒或盗版东西:让逆向工程成为一件好事:)