【技术实现步骤摘要】
指令定位方法和装置
本申请实施例涉及计算机
,具体涉及指令定位方法和装置。
技术介绍
当前,移动App安全防护技术发展迅速,其中代码混淆作为应用最广泛,通用程度最高的技术,已经成为每个应用必须增加的一种防护策略。例如,ollvm混淆技术,其原理是基于llvm编译器,直接对native层汇编指令进行扩充混淆。通过增添大量无效跳转及代码片段,混淆全部函数名称及变量名称,单个函数体内指令集混淆后可能膨胀数十倍之大,并且基于llvm编译器特点,被混淆函数流程也会进行大幅优化,但不论是混淆还是优化均不影响函数功能及最终结果的计算。针对ollvm强混淆保护,目前有效的分析手段很少,且分析门槛较高,如目前最常用的分析手段是基于虚拟执行的指令精简。虚拟执行是利用虚拟化技术(qemu)制作特殊容器(沙箱),将受保护应用或算法置于容器内执行,在执行时对指令进行分析,提取实际执行到的关键跳转及代码片段并进行记录(往往仅记录关键跳转,记录全部代码片段性能损耗太大),最终由记录的跳转及代码片段形成完整流程逻辑图。还原后的算法主体 ...
【技术保护点】
1.一种指令定位方法,其特征在于,所述方法包括:/n确定待分析程序的输入数据或输出数据所使用的内存段;/n基于所述内存段,执行如下指令定位步骤:/n去除所述内存段的读写权限;/n运行待分析程序;/n响应于检测到读写数据异常信号,确定对应的读写指令在所述待分析程序中的位置,其中,所述读写数据异常信号用于表征向所述内存段写入数据时产生异常,所述读写指令用于对所述内存段进行读写操作;/n响应于针对所述读写指令的逻辑分析结束,且确定需要继续进行逻辑分析,确定所述内存段中的数据的来源内存段,并基于所述来源内存段继续执行所述指令定位步骤。/n
【技术特征摘要】
1.一种指令定位方法,其特征在于,所述方法包括:
确定待分析程序的输入数据或输出数据所使用的内存段;
基于所述内存段,执行如下指令定位步骤:
去除所述内存段的读写权限;
运行待分析程序;
响应于检测到读写数据异常信号,确定对应的读写指令在所述待分析程序中的位置,其中,所述读写数据异常信号用于表征向所述内存段写入数据时产生异常,所述读写指令用于对所述内存段进行读写操作;
响应于针对所述读写指令的逻辑分析结束,且确定需要继续进行逻辑分析,确定所述内存段中的数据的来源内存段,并基于所述来源内存段继续执行所述指令定位步骤。
2.根据权利要求1所述的方法,其特征在于,所述读写数据异常信号由预设的异常信号捕获处理程序检测。
3.根据权利要求1所述的方法,其特征在于,所述确定对应的读写指令在所述待分析程序中的位置,包括:
向程序调试器发送自定义信号;
程序调试器响应所述自定义信号,将所述待分析程序暂停于所述读写指令的位置。
4.根据权利要求1所述的方法,其特征在于,在所述确定对应的读写指令在所述待分析程序中的位置之后,所述方法还包括:
恢复所述内存段的读写权限。
5.根据权利要求1所述的方法,其特征在于,所述待分析程序是经过代码混淆处理的程序。
6.一种指令定位装置,其特征在于,所述装置包括:
...
【专利技术属性】
技术研发人员:孙林泽,郭弘,张磊,黄剑,张辉极,
申请(专利权)人:厦门市美亚柏科信息股份有限公司,
类型:发明
国别省市:福建;35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。