【技术实现步骤摘要】
一种基于Java代码Native化的ARM VMP保护方案
[0001]本专利技术属于安卓应用的安全
,具体涉及到DEX代码向C++代码的转换以及ARM平台的VMP代码保护方法。
技术介绍
[0002]随着智能手机和平板等移动终端设备的普及,人们逐渐习惯了使用应用客户端上网的方式,而智能终端的普及不仅推动了移动互联网的发展,也带来了移动应用的爆炸式增长,在海量的移动应用中,可能会存在许多风险与漏洞。攻击者可以很轻易地从一个未经过保护的应用安装包中获取应用的源码,通过修改和重打包的方式进行盗版、植入广告甚至植入木马病毒的危险行为,对用户和软件原创者造成极大损害。
[0003]随着移动应用的发展以及安全问题的日益迫切,加固技术也在不断发展,从整体加固,指令抽取到引入VMP来对应用代码进行加固。加固技术只能增大应用被逆向的难度,伴随着加固技术的迭代,针对加固的逆向技术也在发展,如今整体加固、指令抽取等早期加固手段可以被有一定经验的逆向人员破解,甚至发展出了自动化的脱壳机。VMP技术虽然可以进一步增大逆向分析的难度,但 ...
【技术保护点】
【技术特征摘要】
1.一种基于Java代码Native化的ARM VMP保护方案,该方案包含以下步骤:A.反编译APK文件,提取其中包含被保护代码的DEX文件,解析DEX文件得到需要保护的方法指令数组;B.删掉被保护Java方法的代码,将Java方法替换为Native方法;C. 将被保护的方法指令数组转化成 SSA 形式的 LLVM IR 中间码,并将中间码改写成C++源码,编译成so文件;D. 反编译步骤C中编译生成的so文件,提取ARM架构的汇编码,根据Opcode映射表对汇编指令逐条进行虚拟化,将虚拟化后的汇编指令重新编译后和映射表一起写入so文件的新数据段内,原方法代码的位置替换成VMP虚拟机的入口函数;E. 将包含虚拟机核心代码的so文件与步骤D中生成的新so文件拷贝回反编译的APK项目目录下,重编译成APK文件,再签名形成可发布的安卓应用安装包。2.根据权利要求1所述的安卓应用Java层代码的保护方案,其特征在于,待保护的Java方法指令先...
【专利技术属性】
技术研发人员:叶绍琛,蔡国兆,黎治声,
申请(专利权)人:深圳市浩海云信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。