应用安全 --- IDAPro脚本 之 如何识别未知函数
方法1
FLIRT签名法。
缺点要提前做好每个函数的签名,这个制作本身就很复杂,你要找到对应的源码库lib文件手动做一个sig文件,过程复杂。
方法2
ai识别法。
这个方法好,但是效率不高,一个exe反编译后超过了5000个函数,一个一个识别要一周才能完成,而且ai调用收费
方法3
从大到小排序后ai分析大函数法。
这个方法好,应为大函数一般也就100个,一般大函数就是业务函数。
方法4
调用链分析法。
这个方法也不错,但是要多次调试,不太建议。
核心思想1:业务函数 = 被调用少 + 调用多的函数(树根节点)
核心思想2:一个函数是库函数那么它调用的函数一定是库函数
方法5
字符串关联定位(最高效)
核心思想:有意义的字符串 → 找引用该字符串的函数 → 业务函数
方法 6
分层聚类 + 批量AI识别
先用ai批量分类哪些是业务函数,再将业务函数批量处理
免责声明
本文档所有内容仅供安全研究、学术交流与技术学习使用,严禁用于任何未经授权的逆向破解、网络攻击、隐私窃取、恶意软件开发及其他违反《中华人民共和国网络安全法》《数据安全法》等法律法规的行为,使用者应确保已获得目标软件权利人的合法授权并自行承担因使用本文档内容所产生的一切法律责任与后果,作者不对任何直接或间接损害承担任何责任,继续阅读即视为您已知悉并同意上述全部条款。
浙公网安备 33010602011771号