该资源为电脑版,暂无安卓版
Hopper Disassembler是一款在苹果电脑平台上被超多程序员使用的反编译工具,他可以那么帮助程序员进行二进制程序或者软件的拆分操作。还可以提供程序员需要的控制流图等,进行程序的反编译操作等等!当然更多功能小编就不一一的为大家罗列了,总之,这是一个功能强大的反编译软件!
Hopper, 基本上满足了工作上的反汇编的需要,包括伪代码以及控制流图(Control Flow Graph),支持ARM指令集并对Objective-C的做了优化。
在Mac OS下分析Crash Log有很多种方法,这里不是要说明如何分析的Crash Log, 主要是展示下Hopper的使用。 强大的IDA大家可能已经知道,但它的Mac OS版本又让人回到了DOS时代。幸运的是Mac OS有了一个小巧的替代品:Hopper, 基本上满足了工作上的反汇编的需要,包括伪代码以及控制流图(Control Flow Graph),支持ARM指令集并对Objective-C的做了优化。
1、本地化
hopper完全适应环境。 macOS版本充分利用了Cocoa框架,Linux版本利用了Qt 5。
2、可扩展
通过Hopper SDK,您可以扩展Hopper的功能,甚至可以编写自己的文件格式和CPU支持。
3、程序
Hopper分析函数的序言提取过程信息,如基本块和局部变量。
4、控制流程图
一旦检测到过程,Hopper显示控制流图的图形表示。您甚至可以导出PDF。
5、可脚本化
大多数Hopper功能可以从Python脚本调用,让您能够以任何方式转换二进制文件。
6、Objective-C
即使Hopper可以拆卸任何类型的Intel可执行文件,它也不会忘记其主要平台。 Hopper专门在您分析的文件中检索Objective-C信息,如选择器,字符串和发送的消息。
7、调试器
Hopper可以使用LLDB或GDB,它允许您以动态方式(仅限Intel CPU)调试和分析二进制文件。
8、解码器
基于对可执行体的高级理解,Hopper可以呈现在可执行体中发现的过程的伪代码表示。
9、迅速
这个新版本的Hopper能够解码Swift名称。没有更多的神秘!
10、语义着色
Hopper执行的分析将数据,存储器访问从堆栈变量分离...为了帮助您了解各种发现的对象,Hopper将使用不同的颜色。
11、标签
使用选项卡创建具有文件的不同表示形式的工作空间。
12、类型
使用嵌入式编辑器创建您自己的结构,联合或枚举类型。它大大有助于理解代码使用符号,而不是原始数字。
1、Hopper支持什么样的处理器?
Hopper可以拆卸针对Intel(32位和64位),ARM(ARMv6,ARMv7和ARM64)以及PowerPC处理器的二进制文件。由于SDK,也可以扩展到其他CPU。
2、Hopper反汇编iOS二进制文件吗?
是的,hopper可以反汇编iOS的二进制文件。请注意,由于使用FairPlay DRM对所有这些应用程序进行了加密,因此您将无法反汇编直接从iTunes资料库中获取的应用程序。opper将无法阅读这种应用程序!在用Hopper分析二进制文件之前,这取决于用户首先删除DRM(存在各种方法)。
3、Hopper支持哪种文件格式?
Hopper可以读取Mach-O二进制文件(Mac和iOS),PE32 / 32 + / 64 Windows二进制文件和ELF二进制文件。
4、Hopper是否允许完全恢复丢失的源代码?
像任何反编译器一样,Hopper不能完全恢复丢失的源代码。 Hopper的主要目标是帮助你理解你没有写的代码。即使生成的伪代码与C或Objective-C代码有些接近,但大部分时间都不能直接编译。如果你丢失了你的代码,你应该考虑改写它。
5、我可以使用Hopper学习汇编语言吗?
能或者不能,Hopper不是一个教你ASM的工具:在使用像Hopper这样的工具之前,您应该已经有了一些ASM的知识。也就是说,使用交互式反汇编程序来阅读代码总是一个很好的练习!
6、我可以修改反汇编的二进制文件吗?
是的,Hopper提供了许多工具来允许你修改你的二进制文件。您可以使用嵌入的十六进制编辑器,请求Hopper组装新的指令,甚至使用Python脚本来修改单个字节。
由于此软件为破解版本,部分Mac系统用户可能无法直接安装,若遇到【app已损坏,无法启动。你应该将它移到废纸篓。】提示时,建议进行以下操作:
1、打开系统偏好设置,选择【安全性与隐私】
2、点击右下角锁状图标,输入密码解除锁定
3、在【允许从以下位置下载的应用】的三个选项里,选择最下方的【任何来源】
4、重新启动程序
如果打开【安全性与隐私】后没有发现【允许从以下位置下载的应用】选项的用户,可以进行以下操作:
1、复制括号内代码:【sudo spctl --master-disable】;
2、在【应用程序】-【实用工具】中找到【终端.app】打开,粘贴之前复制的代码,回车键运行;
3、重新启动程序。