对于.NET开发人员来说,一款功能强大且专业的.NET反汇编工具至关重要。它不仅能协助开发人员进行观察和反编译工作,还能提高工作效率,满足反汇编的各种需求。而今介绍的是IDA官方版,它是一款卓越的反汇编工具。为何要介绍它呢?因为IDA反汇编工具拥有直观便捷的操作界面,能清晰地展示源代码,降低了反汇编工作的难度。它不仅适用于反编译和动态调试等逆向工程领域,还支持对多种处理器类型的可执行模块进行反汇编处理,满足了不同用户的需求。IDA反汇编工具易上手,无需学习汇编语言即可轻松使用。它完美适用于Windows、Mac OS和Linux三大主流操作系统,具备友好的交互性和可编程性,为众多.NET开发人员带来更优秀的使用体验。
1、统一类型存储(ASMTIL)
结构、枚举和局部类型视图的存在以及它们之间的同步让许多用户感到困惑,尤其是那些不熟悉IDA的用户。我们已经决定将所有缺少的特性(如结构字段表示)添加到局部类型中,现在所有的类型操作(仍然是熟悉的热键!)可以在那里完成。默认情况下,新数据库将只有本地类型,结构和枚举已被否决。
2、ARM/iOS改进
我们增加了对iOS和macOS软件中常见的苹果专用指令和系统寄存器的支持。这意味着在处理这些文件时,您应该看到更少的未定义字节中断反汇编的实例和更容易理解的代码。
3、调试器改进
我们增加了对最新Android版本的支持,并使其在使用没有调试信息的应用程序时更加强大。如果运行在最新的(API 28+)Android上,IDA将尝试自动猜测变量类型。由于在Dalvik VM中,如果不知道变量值的类型,就无法显示变量值,因此这大大提高了调试体验。
4、现代化的外观和感觉
我们用刷上去的矢量化版本替换了所有图标,并在迷你图视图中添加了十字准线效果,以便在大图中定位。
5、改进了Rust元数据的解析
我们添加了一个插件来解析Rust特有的数据和结构。因此,通常在Rust二进制文件中观察到的巨大字符串池现在可以正确拆分。此外,该插件增加了传统和v0 Rust名称管理格式的解混合。
1、图表视图
在图表视图中,当前函数表示为与边连接在一起的节点集合。节点表示基本块,边表示它们之间的代码交叉引用。
只有代码项在图表视图中可见,数据项被隐藏。要显示它们,请按Space键切换到文本模式。图表视图可用于属于函数的指令。如果当前项目无法以图形模式显示,IDA会自动切换到文本模式。它还会显示警告,我们建议您在熟悉该概念后立即隐藏它。
2、消息窗口
IDA在开始时打开一个特殊的不可关闭的窗口。该窗口称为“消息窗口”。在此窗口中,您可以看到各种IDA消息。
如果消息窗口隐藏在其他窗口后面,您将看不到IDA消息。
3、堆栈变量窗口
动作名称:OpenStackVariables
此命令打开当前函数的堆栈变量窗口。
堆栈变量在内部表示为结构。该结构由两部分组成:局部变量和函数参数。
您可以在此处修改堆栈变量定义:添加/删除/定义堆栈变量,为它们输入注释。
此窗口中可能有两个特殊字段:“r”和“s”。它们表示函数返回地址和已保存寄存器的大小(以字节为单位)。您无法直接修改它们。要更改它们,请使用edit function命令。
行前缀的偏移表示来自帧指针寄存器(BP)的偏移。窗口左下角的窗口指示器显示堆栈指针的偏移量。
要创建或删除堆栈变量,请使用数据定义命令(data,strlit,array,undefine,Rename)。您也可以定义常规或可重复的注释。
通过将操作数转换为堆栈变量,可以在程序中使用定义的堆栈变量。
4、功能窗口
动作名称:OpenFunctions
显示程序中所有功能的列表。您可以使用列表查看器命令添加,删除,修改功能。