关于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]
pass
mov r, word [eax + r*32 * 8 - 0x100]
any r64, r64
push imm
push any
搜索给定值(常量)
mov eax, 0x100
mov eax, [0x100]
and al, [eax + ebx*8 + 0x100]
push 0x100
字节模式匹配
11 22 33 44 aa bb cc
11 22 33 ?? ?? bb cc -> ?? can be any byte
高级代码复制
复制所有字节
B8 44332211 mov eax,11223344
68 00000001 push 1000000
66: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,11223344
68 00000001 push 1000000
66:894424 70 mov word ptr ss:[esp+70],ax
数据将以下列形式复制:
b8 ?? ?? ?? ?? 68 ?? ?? ?? ?? 66 89 44 24 ??
仅复制操作码
B8 44332211 mov eax,11223344
68 00000001 push 1000000
66:894424 70 mov word ptr ss:[esp+70],ax
数据将以下列形式复制:
b8 ?? ?? ?? ?? 68 ?? ?? ?? ?? 66 89 ?? ?? ??
工具运行截图
网络安全工程师企业级学习路线
这时候你当然需要一份系统性的学习路线
如图片过大被平台压缩导致看不清的话,可以在文末下载(无偿的),大家也可以一起学习交流一下。
一些我收集的网络安全自学入门书籍
一些我白嫖到的不错的视频教程:
上述资料【扫下方二维码】就可以领取了,无偿分享