行业解决方案查看所有行业解决方案
IDA 用于解决软件行业的关键问题。
发布时间:2023-09-18 23: 45: 00
IDA Pro 做为逆向工程领域必备工具,除了拥有强大的自身功能外,其开放的环境也为各类第三方提供了绝佳的插件开发支持,IDA Pro 官方每年都会举办面向全球开发者的插件大赛,评选出一二三等奖,并分享给所有IDA Pro的用户。
今天我们要分享的正是 2022 年插件大赛的三等奖得主,一款叫做FindFunc的插件,它提供了一种简单的方法来搜索和维护与规则列表(包括代码模式和字节模式)相对应的函数列表。
一、什么是FindFunc插件?
FindFunc 是一个 IDA Pro 插件,用于查找包含特定程序集或字节模式、引用特定名称或字符串或符合其他各种约束条件的代码函数。FindFunc 的主要功能是让用户指定一组 IDA Pro 中代码函数必须满足的 "规则 "或约束条件。然后,FF 将查找并列出满足所有规则的所有函数(因此目前所有规则都是 AND 连接)。例外情况: 规则可以 "反转 "为负匹配。因此,此类规则符合 "AND NOT"。

二、安装FindFunc插件说明
FindFunc 是一个 IDA Pro python 插件,不依赖外部软件包。只需下载软件源并将文件 "findfuncmain.py "和文件夹 "findfunc "复制到 IDA Pro 插件目录即可安装。无需构建。
要求 IDA Pro 7.x (7.6+) 及 python3 环境。FindFunc 仅适用于 x86/x64 架构。已在 Windows 10 上使用 IDA 7.6/7.7、python 3.9 和 IDAPython 7.4.0 进行了测试。
三、FindFunc插件使用说明
FF 将按照智能顺序排列规则,以尽量减少处理时间。功能概述:
·意识到功能块
·智能调度规则以提高性能
·以简单的 ascii 格式从/向文件保存/加载规则
·多个用于实验的独立标签
·通过剪贴板在标签页之间复制规则(格式与文件格式相同)
·将整个会话(所有标签页)保存到文件中
·指令字节的高级复制(全部、仅操作码、除直接指令外的所有指令...)
·克隆标签页,用于快速实验和完善结果
·根据寻址大小前缀和操作数大小前缀进行代码匹配
·按钮 "查找函数 "会清除现有结果并重新开始搜索,而 "细化结果 "则只考虑上一次搜索的结果。
四、IDA Pro官方对FindFunc的评价
FindFund 是一个不错的插件,它提供了一种简单的方法来搜索和维护与规则列表(包括代码模式和字节模式)相对应的函数列表。该插件专为 x86/x64 架构设计,也可用于 Risc-V 等其他架构,但有一些限制。如果需要,可以很容易地消除这些限制。你可以拥有任意多的搜索模式,并通过会话保存和重新加载功能,在其他 idb 中重复使用你的模式。
下载 FindFunc 插件请点击下方【下载完整资料】按钮
展开阅读全文
︾
读者也喜欢这些内容:
IDA C反编译怎么看指针结构体 IDA C反编译结构体怎么重建字段
在IDA里看C反编译结果时,结构体相关内容之所以会显得乱,很多时候不是反编译器完全看不出来,而是当前变量还停留在无类型指针、整数偏移或不完整联合体的状态。Hex-Rays官方文档明确提到,Set type可以显著改变输出结果并减少多余强转;反过来,如果对象还是void指针或类型信息不足,反编译结果的可读性就会明显下降。...
阅读全文 >
IDA Pro Linux反汇编怎么加载ELF IDA Pro Linux反汇编段信息缺失怎么办
在Linux样本里用IDA Pro做反汇编,ELF文件通常能直接打开,但只要加载基址、段创建或调试信息导入有一项没对齐,就会出现反汇编跳转异常、函数边界混乱、地址落在未定义区域等现象。要把问题一次解决,建议把动作拆成两条线并行推进:先把ELF加载入口走对,再把段体系补齐到能承载代码与数据的状态。...
阅读全文 >
ida设置断点怎么运行 ida断点在键盘上的使用方法
在使用IDA pro进行逆向分析的过程中,断点设置是最基础也是最常用的调试手段之一。尤其是在处理复杂的汇编逻辑或定位关键执行点时,合理地设置并运行断点,能够极大提升分析效率与准确度。本文将围绕ida设置断点怎么运行,ida断点在键盘上的使用方法两个关键问题展开,详细介绍IDA pro中的断点操作方式、快捷键使用逻辑及其在多架构平台上的适配特性,帮助用户在实战中更加高效掌控IDA pro的调试能力。...
阅读全文 >
IDA Pro Portal 许可和程序下载安装指南
Hex-rays IDA 现采用全新的Portal帐户中心交付方式,用户购买后登录Hex-rays Portal 获取许可和程序,不再邮件发送许可文件和程序。...
阅读全文 >