System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机软件安全,具体而言,涉及一种arm linux自定义指令集虚拟化加固方法及系统。
技术介绍
1、随着物联网应用的快速发展,网络安全问题同样日益严峻。近两年,安全威胁的发展呈现出新的特征和形势,如持续增长黑色产业规模和全业务链条,物联网应用已经成为进入各行各业,尤其是设备通信类的应用,作为用户直接参与交互的入口,可以直接与用户平台数据交互,获取大量用户信息,用户信息安全问题日益明显。互联网业务安全越来越聚焦在iot安全,黑产的攻击技术“日新月异”。而arm-linux作为一个新的针对高性能的嵌入式信号处理的架构,被广泛应用于各类互联网应用中,其应用安全也是一个巨大问题。因此,如何对arm linux架构下的可执行程序或者动态库进行加固保护,防止核心程序被逆向分析成为一个亟需解决的问题。
技术实现思路
1、为了克服上述问题或者至少部分地解决上述问题,本专利技术提供一种arm linux自定义指令集虚拟化加固方法及系统,可以实现对arm linux架构下的可执行程序或者动态库进行加固保护,防止核心程序被逆向分析。
2、为解决上述技术问题,本专利技术采用的技术方案为:
3、第一方面,本专利技术提供一种arm linux自定义指令集虚拟化加固方法,包括以下步骤:
4、获取arm linux架构下的可执行文件,并对可执行文件进行解析,以得到对应的指令块或数据块;
5、将解析后得到的指令块或数据块进行配置,得到新的指令块或数据块
6、获取并根据加固策略将新的指令块或数据块进行编译,以得到保护后的指令块或数据块;
7、将保护后的指令块或数据块进行链接,以得到保护后的可执行文件。
8、本专利技术基于二进制加固技术实现,通过解析,配置,编译(混淆、虚拟化),链接等多个操作配合,对arm指令翻译成自定义的虚拟机指令,并将虚拟机解释器和虚拟指令以指令块和数据块的方式插入块表中,最终链接成新的可执行程序。本方法可以实现对arm linux架构下的可执行程序或者动态库进行加固保护,防止核心程序被逆向分析。
9、基于第一方面,进一步地,上述获取并根据加固策略将新的指令块或数据块进行编译的方法包括以下步骤:
10、将新的指令或数据块翻译成自定义虚拟机指令;
11、将自定义虚拟机指令和虚拟机解释器以数据块和指令块的方式插入到块表中,获取并根据加固策略进行数据块和指令块的混淆,混淆后的数据块或指令块即为得到保护后的指令块或数据块。
12、基于第一方面,进一步地,上述获取并根据加固策略进行数据块和指令块的混淆的方法包括以下步骤:
13、获取并根据加固策略对数据块和指令块进行指令替换、指令重排、控制流变换、插入冗余代码、虚拟化执行环境、代码加密、符合混淆、花指令以及控制流扁平化中一个或多种操作。
14、基于第一方面,进一步地,上述将保护后的指令块或数据块进行链接的方法包括以下步骤:
15、将保护后的指令块或数据块进行乱序和重定位处理,以得到保护后的可执行文件。
16、基于第一方面,进一步地,该arm linux自定义指令集虚拟化加固方法还包括以下步骤:
17、获取虚拟机代码,并进行逆向处理,以得到自定义虚拟机指令对应的真实操作。
18、第二方面,本专利技术提供一种arm linux自定义指令集虚拟化加固系统,包括解析模块、配置模块、编译模块以及链接模块,其中:
19、解析模块,用于获取arm linux架构下的可执行文件,并对可执行文件进行解析,以得到对应的指令块或数据块;
20、配置模块,用于将解析后得到的指令块或数据块进行配置,得到新的指令块或数据块;
21、编译模块,用于获取并根据加固策略将新的指令块或数据块进行编译,以得到保护后的指令块或数据块;
22、链接模块,用于将保护后的指令块或数据块进行链接,以得到保护后的可执行文件。
23、本专利技术基于二进制加固技术实现,通过解析,配置,编译(混淆、虚拟化),链接等多个操作配合,对arm指令翻译成自定义的虚拟机指令,并将虚拟机解释器和虚拟指令以指令块和数据块的方式插入块表中,最终链接成新的可执行程序。本系统可以实现对arm linux架构下的可执行程序或者动态库进行加固保护,防止核心程序被逆向分析。
24、基于第二方面,进一步地,该arm linux自定义指令集虚拟化加固系统还包括代码逆向处理模块,用于获取虚拟机代码,并进行逆向处理,以得到自定义虚拟机指令对应的真实操作。
25、第三方面,本申请提供一种电子设备,其包括存储器,用于存储一个或多个程序;处理器;当一个或多个程序被处理器执行时,实现如上述第一方面中任一项的方法。
26、第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面中任一项的方法。
27、本专利技术至少具有如下优点或有益效果:
28、本专利技术提供一种arm linux自定义指令集虚拟化加固方法及系统,基于二进制加固技术实现,通过解析,配置,编译(混淆、虚拟化),链接等多个操作配合,对arm指令翻译成自定义的虚拟机指令,并将虚拟机解释器和虚拟指令以指令块和数据块的方式插入块表中,最终链接成新的可执行程序。本专利技术可以实现对arm linux架构下的可执行程序或者动态库进行加固保护,防止核心程序被逆向分析。
本文档来自技高网...【技术保护点】
1.一种ARM linux自定义指令集虚拟化加固方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种ARM linux自定义指令集虚拟化加固方法,其特征在于,所述获取并根据加固策略将新的指令块或数据块进行编译的方法包括以下步骤:
3.根据权利要求2所述的一种ARM linux自定义指令集虚拟化加固方法,其特征在于,所述获取并根据加固策略进行数据块和指令块的混淆的方法包括以下步骤:
4.根据权利要求1所述的一种ARM linux自定义指令集虚拟化加固方法,其特征在于,所述将保护后的指令块或数据块进行链接的方法包括以下步骤:
5.根据权利要求1所述的一种ARM linux自定义指令集虚拟化加固方法,其特征在于,还包括以下步骤:
6.一种ARM linux自定义指令集虚拟化加固系统,其特征在于,包括解析模块、配置模块、编译模块以及链接模块,其中:
7.根据权利要求6所述的一种ARM linux自定义指令集虚拟化加固系统,其特征在于,还包括代码逆向处理模块,用于获取虚拟机代码,并进行逆向处理,以得到自定义虚
8.一种电子设备,其特征在于,包括:
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
...【技术特征摘要】
1.一种arm linux自定义指令集虚拟化加固方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种arm linux自定义指令集虚拟化加固方法,其特征在于,所述获取并根据加固策略将新的指令块或数据块进行编译的方法包括以下步骤:
3.根据权利要求2所述的一种arm linux自定义指令集虚拟化加固方法,其特征在于,所述获取并根据加固策略进行数据块和指令块的混淆的方法包括以下步骤:
4.根据权利要求1所述的一种arm linux自定义指令集虚拟化加固方法,其特征在于,所述将保护后的指令块或数据块进行链接的方法包括以下步骤:
5.根据权利要求1所...
【专利技术属性】
技术研发人员:陈旸,
申请(专利权)人:杭州几维逻辑科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。