基于安卓平台的so文件安全加固技术方法技术

技术编号:20222011 阅读:36 留言:0更新日期:2019-01-28 20:27
本发明专利技术公开了基于安卓平台的so文件安全加固技术方法。属于so文件安全加固技术领域,对so文件的形式方面进行了处理,使其不以文件的形式存在,使其动态的在内存中进行加解密,防止被攻击者从本地直接得到so文件,增加了非法破解的难度,在对抗静态分析和反动态调试均有良好效果的基于安卓平台的so文件安全加固技术方法。包括so文件加固过程和so文件解密加载过程;在Android项目需要使用so文件中的内容时,读取java文件中已经加密的字符串数组,动态的对字符串数组内的字符串进行自定义算法的移位解密和拼接,将拼接好的字符串以文件流的形式写入到java文件的app/pkgName/lib目录下,并通过System.load加载so文件的方式加载和调用,并在调用完成后将其删除。

【技术实现步骤摘要】
基于安卓平台的so文件安全加固技术方法
本专利技术涉及so文件安全加固
,具体涉及基于安卓平台的so文件安全加固技术方法。
技术介绍
现在so文件加固一般有两种,一种是对so文件本身进行加固处理,另外一种是对so文件内部的Native代码进行混淆加密处理。现在so文件的这两种加固方式都是以文件的形式存在,使其固定的在内存中进行加解密,容易被攻击者从本地直接得到so文件,降低了非法破解的难度,在对抗静态分析和反动态调试上效果较差。
技术实现思路
本专利技术是为了解决现有so文件安全加固存在的上述不足,提供一种对so文件的形式方面进行了处理,使其不以文件的形式存在,使其动态的在内存中进行加解密,防止被攻击者从本地直接得到so文件,增加了非法破解的难度,在对抗静态分析和反动态调试均有良好效果的基于安卓平台的so文件安全加固技术方法。以上技术问题是通过下列技术方案解决的:基于安卓平台的so文件安全加固技术方法,包括so文件加固过程和so文件解密加载过程;so文件加固过程如下:(A1)读取未加固的so文件,将该未加固的so文件以文件流的形式读取到内存中;(A2)将内存中的文件流转换成字节数组本文档来自技高网...

【技术保护点】
1.基于安卓平台的so文件安全加固技术方法,其特征在于,包括so文件加固过程和so文件解密加载过程;so文件加固过程如下:(A1)读取未加固的so文件,将该未加固的so文件以文件流的形式读取到内存中;(A2)将内存中的文件流转换成字节数组,根据自定义算法对字节数组进行移位加密,得到新的字节数组;(A3)然后循环读取字节数组,将读取的字节数组以固定长度的字符串形式有序地写入到java文件中,最终得到一个完整的字符串数组;so文件解密加载过程如下:(A4)在Android项目需要使用so文件中的内容时,读取java文件中已经加密的字符串数组,动态的对字符串数组内的字符串进行自定义算法的移位解密和拼...

【技术特征摘要】
1.基于安卓平台的so文件安全加固技术方法,其特征在于,包括so文件加固过程和so文件解密加载过程;so文件加固过程如下:(A1)读取未加固的so文件,将该未加固的so文件以文件流的形式读取到内存中;(A2)将内存中的文件流转换成字节数组,根据自定义算法对字节数组进行移位加密,得到新的字节数组;(A3)然后循环读取字节数组,将读取的字节数组以固定长度的字符串形式有序地写入到java文件中,最终得到一个完整的字符串数组;so文件解密加载过程如下:(A4)在Android项目需要使用so文件中的内容时,读取java文件中已经加密的字符串数组,动态的对字符串数组内的字符串进行自定义算法的移位解密和拼接,将拼接好的字符串以文件流的形式写入到java文件的app/pkgName/lib目录下,并通过System.load加载so文件的方式加载和调用,并在调用完成后将其从本地删除。2.根据权利要求1所述的一种基于安卓平台的so文件安全加固技术方法,特征在于,步骤A1中,在读取未加固的so文件前,首先准备好Android工程所使用的so文件;包括armeabi、x86和armeabi-v7a各个CPU框架所支持的...

【专利技术属性】
技术研发人员:李博帅
申请(专利权)人:杭州凯米科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1