[发明专利]基于模拟执行的Native动态链接库分析方法及系统在审

专利信息
申请号: 202310354866.1 申请日: 2023-04-04
公开(公告)号: CN116594861A 公开(公告)日: 2023-08-15
发明(设计)人: 傅建明;徐贯虹 申请(专利权)人: 武汉大学
主分类号: G06F11/36 分类号: G06F11/36;G06F9/445
代理公司: 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 代理人: 肖明洲
地址: 430072 湖*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 模拟 执行 native 动态 链接 分析 方法 系统
【权利要求书】:

1.一种基于模拟执行的Native动态链接库分析方法,其特征在于,包括以下步骤:

步骤1:以符号执行框架angr为基础,以angr的扩展模块为补充,利用python语言作为符号执行分析框架与其扩展模块以及其他Android程序分析工具、工具与Native动态链接库环境间的连接脚本,构建模拟执行工具;

步骤2:对JNI进行建模,抓取Native底层系统调用、线程API函数调用;

根据JNI的原理与实现机制,在Native层构建JNI的模型,包括Java环境变量的结构体定义与传递、Java对象的模拟、JNI中API函数的声明以及其调用流程的模拟,接入步骤1中构建的模拟执行平台框架;

利用模拟执行工具中的JNISimProcedure功能,实现JNI中API函数相应的调用流程模拟,拦截模拟执行过程中JNI的API调用,使其运行工具中编写的模拟流程,以实现对Native库中JNI操作的跟踪和分析;

利用模拟执行工具中的JNISimProcedure功能,对Native库调用的底层API进行抓取,包括系统调用、文件读写操作、线程处理API;

使用模拟执行工具中的Record模块记录Native动态链接库与Java层交互的JNI API调用行为,包括函数调用栈、参数传递、返回值信息;

步骤3:根据Android应用使用Native库的方法以及JNI机制,模拟Native动态链接库加载过程,通过模拟执行去除二进制文件内控制流混淆与数据混淆,满足关键JNI调用的控制流依赖与数据依赖,同时在模拟执行过程中记录JNI交互行为;

步骤4:使用模拟执行工具对Android应用中Native动态链接库进行分析,生成Native动态链接库的分析结果报告,获取Java与Native注册函数映射结果、JNI交互行为记录,及Native动态链接库是否存在.init_array的初始化过程以及程序保护手段。

2.根据权利要求1所述的于模拟执行的Native动态链接库分析方法,其特征在于:步骤1中,符号执行工具基于现有工具angr,符号执行引擎使用angr内置的Unicorn引擎支持;

解析Android应用的apk文件,利用angr中的Loader模块,加载解析apk文件得到的Native动态链接库文件,分析其对应架构以及指令集;

利用angr提供的SimProcedure功能,扩展为JNISimProcedure用于JNI API调用模拟;

通过python使用androguard逆向工具补充Java层的native方法信息,使其具备分析Java与Native注册函数映射、JNI行为记录的功能,并在模拟执行分析时记录相应结果。

3.根据权利要求1所述的于模拟执行的Native动态链接库分析方法,其特征在于:步骤2中所述模拟执行工具中的JNISimProcedure功能,实现JNI中API函数相应的调用流程模拟,拦截模拟执行过程中JNI的API调用;为满足模拟执行过程中的依赖关系,需JNI API调用返回恰当的返回值,若返回值为基本数据类型,则使用angr符号执行构造满足即可;若返回值为Java String类对象,特别处理用angr构造字符串返回值,其他Java对象则构造对应Java Object满足;

处理JNI中用于绑定Native动态注册函数的API调用RegisterNatives,根据其函数定义在模拟执行时解析其函数参数信息,获取动态注册的Native函数的Java方法与Native函数映射关系,具体为:

(1)Android APK逆向分析工具androguard解析Java层中的Native方法信息,包括方法名与签名,通过签名匹配Native层的静态注册函数;

(2)模拟执行Native动态链接库的初始化部分代码,去除控制流混淆与数据混淆,模拟执行构造后续关键JNI调用依赖;

(3)模拟执行过程中调用RegisterNatives的JNISimProcedure时,根据API定义解析运行时函数参数,获取Native动态注册函数信息,包括注册方法名、方法签名以及对应Native注册函数地址。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202310354866.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top