【技术实现步骤摘要】
一种函数执行环境构建方法、装置、电子设备及存储介质
本公开涉及软件
,尤其涉及一种函数执行环境构建方法。
技术介绍
近年来,手机应用产业急速发展,每年产量呈指数型增长,据统计,我国主要应用商店中的应用软件数量已累计超过1000万。手机应用在给大众生活带来方便的同时,也给不法分子提供了可乘之机。目前来说,针对安卓系统应用进行漏洞发掘时,主要是在安卓系统环境下对库文件进行执行分析,这种执行分析需要多次运行库文件中相同的代码片段,且在安卓环境中,若需要执行时动态修改内存参数,添加执行指令,步骤十分繁琐,分析效率较低。
技术实现思路
针对上述技术问题,本公开实施例提供一种函数执行环境构建方法,技术方案如下:根据本公开实施例的第一方面,提供一种函数执行环境构建方法,包括:解析目标库文件以获取目标函数代码块,执行所述目标函数;若接收到执行过程中产生的调用信号,则根据所述调用信号的类型,通过对应的实现接口获取针对本次调用的实现逻辑,基于所述实现逻辑获取所述调用信号所需的返回值,以继续本次模拟执行流程;若接收到执行过程中产生的调用错误信息,则停止本次执行流程,并根据所述调用错误信息,在执行环境中添加针对本次调用的实现逻辑,在添加完毕后重新开始本次执行流程;若本次执行流程正常执行至结束,且执行过程未接收到调用错误信息,则判定所述目标函数的执行环境构建完成。可选的,所述获取解析目标库文件以获取目标函数代码块,执行所述目标函数,包括:根据预先编写的库 ...
【技术保护点】
1.一种函数执行环境构建方法,其特征在于,包括:/n解析目标库文件以获取目标函数代码块,执行所述目标函数;/n若接收到执行过程中产生的调用信号,则根据所述调用信号的类型,通过对应的实现接口获取针对本次调用的实现逻辑,基于所述实现逻辑获取所述调用信号所需的返回值,以继续本次执行流程;/n若接收到执行过程中产生的调用错误信息,则停止本次执行流程,并根据所述调用错误信息,在执行环境中添加针对本次调用的实现逻辑,在添加完毕后重新开始本次执行流程;/n若本次执行流程正常执行至结束,且执行过程未接收到调用错误信息,则判定所述目标函数的执行环境构建完成。/n
【技术特征摘要】
1.一种函数执行环境构建方法,其特征在于,包括:
解析目标库文件以获取目标函数代码块,执行所述目标函数;
若接收到执行过程中产生的调用信号,则根据所述调用信号的类型,通过对应的实现接口获取针对本次调用的实现逻辑,基于所述实现逻辑获取所述调用信号所需的返回值,以继续本次执行流程;
若接收到执行过程中产生的调用错误信息,则停止本次执行流程,并根据所述调用错误信息,在执行环境中添加针对本次调用的实现逻辑,在添加完毕后重新开始本次执行流程;
若本次执行流程正常执行至结束,且执行过程未接收到调用错误信息,则判定所述目标函数的执行环境构建完成。
2.如权利要求1所述的函数执行环境构建方法,其特征在于,所述获取解析目标库文件以获取目标函数代码块,执行所述目标函数,包括:
根据预先编写的库文件解析逻辑对目标库文件进行解析,根据解析结果在所述目标库文件中提取出目标函数代码块,所述解析结果至少包括所述目标库文件的符号表和依赖树;
将所述目标函数代码块映射到内存中,通过读取所述内存对目标函数代码块进行执行。
3.如权利要求1所述的函数的执行环境构建方法,其特征在于,所述执行所述目标函数后,还包括:
接收到执行过程中产生的对相关库文件的依赖信号后,在预先封装的库文件集合中查找本次依赖的库文件;
若查找到本次依赖的库文件,则加载并执行所述本次依赖的库文件,以继续目标函数的执行环境构建流程;
若未查找到本次依赖的库文件,则上报错误信息,以根据所述错误信息在预先封装的库文件集合中增加本次依赖的库文件。
4.一种基于权利要求1所述的函数的执行环境的函数调试方法,其特征在于,所述方法还包括:
利用Java开发工具中预定义的调试接口,通过hook方式在目标函数的关键代码段增加断点;
执行所述目标函数,在执行到断点处暂停时,获取工具内存中的目标函数运行数据,通过分析所述运行数据,实现对所述函数的调试。
5.一种函数执行环境构建装置,其特征在于,包括:
目标函数获取单元,被配置为解析目标库文件以获取目标函数代码块,执行所述目标函数;
调用实现单元,被配置为接收到执行过程中产生的调用信号后,根据所述调用信号的类型,通过对应的实现接口...
【专利技术属性】
技术研发人员:段锦涛,
申请(专利权)人:北京达佳互联信息技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。