当前位置: 首页 > news >正文

如何使用FindFunc在IDA Pro中寻找包含指定代码模式的函数代码

关于FindFunc

FindFunc是一款功能强大的IDA
Pro插件,可以帮助广大研究人员轻松查找包含了特定程序集、代码字节模式、特定命名、字符串或符合其他各种约束条件的代码函数。简而言之,FindFunc的主要目的就是在二进制文件中寻找已知函数。

使用规则过滤

FindFunc的主要功能是让用户指定IDA Pro中的代码函数必须满足的一组“规则”或约束。FindFunc随后将查找并列出满足所有规则的所有函数。

FindFunc会以智能化的形式对规则进行计划和排序,功能概述如下:

1、目前有六条规则可用;

2、代码匹配考虑寻址大小前缀和操作数大小前缀;

3、函数识别模块;

4、性能规则的智能调度;

5、以简单ASCII格式将规则存储/加载到文件;

6、提供了用于实验的单独选项页;

7、通过剪贴板在选项页之间复制规则(格式与文件格式相同);

8、将整个会话(所有选项页)保存到文件;

9、指令字节的高级复制;

工具要求

IDAPro 7.x(7.6+)

Python 3

x86/x64架构

工具下载

FindFunc是一个IDA Pro插件,基于Python开发,而且不需要安装其他的依赖组件包。广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/FelixBer/FindFunc.git

接下来,将项目中的findfuncmain.py文件拷贝到IDA Pro的插件目录中即可。

可用规则

代码模式匹配

mov r64, [r3*2 * 8 + 0x100]mov r, [r * 8 - 0x100]mov r64, [r*32 * 8 + imm]passmov r, word [eax + r*32 * 8 - 0x100]any r64, r64push immpush any

搜索给定值(常量)

mov eax, 0x100mov eax, [0x100]and al, [eax + ebx*8 + 0x100]push 0x100

字节模式匹配

11 22 33 44 aa bb cc11 22 33 ?? ?? bb cc -> ?? can be any byte

高级代码复制

复制所有字节

B8 44332211      mov eax,1122334468 00000001      push 100000066:894424 70     mov word ptr ss:[esp+70],ax

数据将以下列形式复制:

b8 44 33 22 11 68 00 00 00 01 66 89 44 24 70

仅复制非常量值

B8 44332211      mov eax,1122334468 00000001      push 100000066:894424 70     mov word ptr ss:[esp+70],ax

数据将以下列形式复制:

b8 ?? ?? ?? ?? 68 ?? ?? ?? ?? 66 89 44 24 ??

仅复制操作码

B8 44332211      mov eax,1122334468 00000001      push 100000066:894424 70     mov word ptr ss:[esp+70],ax

数据将以下列形式复制:

b8 ?? ?? ?? ?? 68 ?? ?? ?? ?? 66 89 ?? ?? ??

工具运行截图

网络安全工程师企业级学习路线

这时候你当然需要一份系统性的学习路线

如图片过大被平台压缩导致看不清的话,可以在文末下载(无偿的),大家也可以一起学习交流一下。

一些我收集的网络安全自学入门书籍

一些我白嫖到的不错的视频教程:

上述资料【扫下方二维码】就可以领取了,无偿分享

http://www.lryc.cn/news/25776.html

相关文章:

  • 【C++】讲的最通透最易懂的关于结构体内存对齐的问题
  • Stochastic Approximation 随机近似方法的详解之(一)
  • 软件自动化测试工程师面试题集锦
  • 智合同丨教你做一个懂AI的法律人
  • 如何判断自己使用的IP是独享还是共享?
  • 跳石头
  • 上传gitee教程,Gitee怎么上传代码到仓库
  • netstat命令详解
  • 数据库三范式
  • K8S 1.20 弃用 Docker 评估之 Docker 和 OCI 镜像格式的差别
  • Vue2和Vue3响应式的区别
  • 模型实战(6)之Alex实现图像分类:模型原理+训练+预测(详细教程!)
  • 【大数据】最全的大数据Hadoop|Yarn|Spark|Flink|Hive技术书籍分享/下载链接,持续更新中...
  • RIG Exploit Kit 仍然通过 IE 感染企业用户
  • GIS在地质灾害危险性评估与灾后重建中的实践技术应用及python机器学习灾害易发性评价模型建立与优化进阶
  • SQL SERVER中SCHEMA的詳解
  • 【LeetCode】剑指 Offer(13)
  • 帮助小型企业实现业务增长的7种数字营销策略
  • 互联网行业的高级产品经理和普通产品经理有哪些区别?
  • aardio - 【库】简单信息框
  • 程序员必备!最值得收藏的宝藏网站大盘点
  • Android 10.0 Settings 关掉开发者模式
  • 软件测试面试必杀篇:【2023软件测试面试八股文宝典】
  • 原子级操作快速自制modbus协议
  • 大数据之Apache Doris_亚秒级响应_大数据处理分析_介绍_概述---大数据之Apache Doris工作笔记0001
  • SpringCloud学习笔记 - 分布式系统全局事务管理 - Seata1.5.2+Nacos+OpenFeign
  • LeetCode190_190. 颠倒二进制位
  • atomic 原子操作
  • DataGear 制作基于Vue前端框架渲染的数据可视化看板
  • JavaFX Scene Builder 下载安装