行业解决方案
查看所有行业解决方案
IDA 用于解决软件行业的关键问题。
发布时间:2023-10-24 12: 40: 00
IDA Pro 做为逆向工程领域必备工具,除了拥有强大的自身功能外,其开放的环境也为各类第三方提供了绝佳的插件开发支持,IDA Pro 官方每年都会举办面向全球开发者的插件大赛,评选出一二三等奖,并免费分享给所有IDA Pro的用户。
今天我们要分享的是2022年插件大赛优秀作品,一款叫做 Condstanta 的插件,Condstanta 可用于搜索条件语句(如 if 和 switch-case)中,所使用的常量值或包含多个特定常量的函数。 Condstanta 插件允许我们搜索精确数字、数字范围和特定常量列表。

Condstanta插件安装说明
Condstanta 插件的安装方法很简单,你只要将下载到的文件解压,并把或得到的 condstanta.py 文件复制到 IDA 插件文件夹,即可将Condstanta安装到IDA中。
Condstanta插件使用方法
安装后,可从搜索菜单中选择 Condstanta 选项启动该插件。搜索说明对话窗口提供多个字段:

Search for: 要查找的值。可能的值有:
精确数字 , 或 1000xabc-2.3
范围(包括两种边缘情况): , , 0:10-10:0xf3:3.9
数值列表: -1, 2, 0x45, 1.3
空字段表示查找所有数字(仅适用于搜索条件中使用的常数)
What to search for: 搜索类型:要执行的搜索类型。只搜索在 , 和语句中使用的常量。该选项将接收数值范围或数值列表,并从给定列表中查找包含多个常数的所有函数(所需数量由必须设置为 2 或更高的常数决定)。
Use Hexrays: 是否使用 Hexrays 反编译器进行搜索(仅在反编译器可用时可用)。
搜索结果会以表格形式显示在新视图中(如下图所示)。双击一行可跳转到列中标注的位置。

Address - 找到常量的地址。
Function - 找到该常量的函数名称。
Type -“ ,”和“ .”仅适用于“,”否则为空。
Decimal - 十进制数值。
Hex - 数字的十六进制值(浮点数为空)。
Comment - 从检测到常量的位置提取的注释。在 Hexrays 模式下显示 Hexrays 注释,否则显示反汇编注释。
Condstanta使用需要注意的问题
1、Condstanta 插件仅在函数体中执行搜索,因此不会查看任何未标记为函数的反汇编。
2、Hexrays 模式仅适用于有限的体系结构,而且速度较慢(必须反编译所有函数)。
3、汇编模式试图做到与体系结构无关;这可能偶尔会导致遗漏常量,或在 ARM 或 PPC 等使用两条指令加载大量数据的体系结构下出现误报。对于一些更特殊的架构,该模式可能会完全遗漏常量。
4、使用 Hexrays 模式只会显示 Hexrays 注释(CASE 注释不起作用),使用汇编模式只会显示汇编注释。
5、只有使用 Hexrays 才能找到浮点常量。
IDA官方对Condstanta插件的点评
Condstanta 插件是搜索条件语句中使用的常量的插件。为 IDA 的搜索功能增添了一个别致的小功能。虽然搜索速度会变慢,但使用反编译器是一个很好的补充(事实上,除了反汇编之外,我们还看到越来越多的通过分析C-tree "增强 "的情况)。
请点击下方【下载完整资料】按钮获取插件安装包
展开阅读全文
︾
读者也喜欢这些内容:
IDA Mac反编译怎么安装配置 IDA Mac反编译附加进程失败怎么排查
在Mac上用IDA,常见卡点通常不是打开文件,而是两步,一步是反编译能力没有真正装好或授权没识别到,另一步是本地附加进程时被macOS权限机制拦住。Hex-Rays官方安装文档、反编译说明和macOS调试教程其实把这两件事都讲得很清楚,按官方路径走,排障会快很多。...
阅读全文 >
IDA脱壳工具怎么配合使用 IDA脱壳工具脱壳后导入仍报段错误怎么处理
这类问题通常出现在两种场景,一种是你在做自有软件的兼容性排障或安全自查,手里拿到的文件经过了加固或封装处理,导致分析链路不顺;另一种是你在分析异常样本或崩溃现场文件,文件结构不完整或内存映射不一致,导入后就报段错误。下面我会避开任何可能用于绕过软件保护的具体操作细节,给你一套更安全也更工程化的替代流程,重点解决如何让分析可复现,以及导入报段错误时如何定位根因并恢复到可分析状态。...
阅读全文 >
IDA Pro交叉引用窗口在哪里打开 IDA Pro交叉引用跳转不正确怎么办
交叉引用也叫Xrefs,是你在反汇编里追调用链、追数据流时最常用的入口之一。实际使用里,常见问题集中在两类:一类是找不到交叉引用窗口,不知道该用哪个视图和快捷键;另一类是点了交叉引用却跳到不对的位置,往往与基址、重定位、代码数据划分或反编译表达式有关。把入口和排查顺序固定下来,定位会快很多。...
阅读全文 >
IDA Pro反编译功能怎么开 IDA Pro反编译结果怎么导出保存
IDA Pro里看到伪C代码,依赖的不是“某个开关”,而是Hex-Rays Decompiler组件是否已安装且与你当前IDA版本和目标架构匹配。很多人按了F5没反应,或弹出没有反编译器的提示,本质都是反编译器没装好、装错目录、版本不匹配,或当前样本的架构没有对应的反编译器。下面按实际操作路径,把开启与导出两件事一次讲清楚,仅建议用于你有合法分析权限的程序与样本。...
阅读全文 >