[发明专利]一种基于Android系统微指令即时编译的加固方法在审
| 申请号: | 201610032724.3 | 申请日: | 2016-01-19 |
| 公开(公告)号: | CN105912893A | 公开(公告)日: | 2016-08-31 |
| 发明(设计)人: | 文伟平 | 申请(专利权)人: | 北京鼎源科技有限公司 |
| 主分类号: | G06F21/14 | 分类号: | G06F21/14 |
| 代理公司: | 北京万象新悦知识产权代理事务所(普通合伙) 11360 | 代理人: | 张肖琪 |
| 地址: | 100086 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明公布了一种基于Android系统微指令即时编译的加固方法,包括读取预处理阶段、构造和添加花指令阶段和写回Dex文件阶段;针对一条指令通过添加相反指令的方式构造花指令。本发明方法针对Android系统的APK应用程序,通过在APK应用程序的dex文件中添加花指令代码进行加固,然后写回dex文件,从而破坏反汇编软件的静态反汇编过程,使反汇编的结果出现错误。错误的反汇编结果会造成破解者的分析工作大量增加,进而使之不能理解程序的结构和算法,使主流反汇编软件无法显示加固后文件的正确反汇编结果,从而达到保护版权的目的。 | ||
| 搜索关键词: | 一种 基于 android 系统 指令 即时 编译 加固 方法 | ||
【主权项】:
一种基于Android系统微指令即时编译的加固方法,针对Android系统的APK应用程序,通过在APK应用程序的dex文件中添加花指令代码进行加固,从而破坏反汇编软件的静态反汇编过程,使反汇编的结果出现错误;包括读取预处理阶段、添加花指令阶段和写回Dex文件阶段,具体包括如下步骤:A.进行读取预处理时,执行如下操作:A1.读取APK程序,解压得到dex文件;A2.解析dex文件结构,得到MainActivity类中Oncreat()方法在string_id中的索引;A3.获取Oncreat()在class_def_item中的索引,读取code_item,得到dex文件中的字节码指令;B.进行添加花指令时,执行如下操作:B1.构造用来添加的花指令;B2.选择用来加固的类,根据所构造的花指令的大小,修改所述用来加固的类中code_item的insns_size;B3.在用来加固的类中code_item的insns中,添加所构造的花指令;C.进行写回Dex文件时,执行如下操作:C1.根据用来加固的类中code_item的insns中添加的花指令的长度(大小)和添加的位置,获取其余类相关信息写回时的偏移值;C2.写回Dex文件;C3.将Dex文件打包,得到加固后的APK应用程序。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京鼎源科技有限公司,未经北京鼎源科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610032724.3/,转载请声明来源钻瓜专利网。





