发明名称 |
一种针对函数级别加壳的脱壳方法及系统 |
摘要 |
本发明提出一种针对函数级别加壳的脱壳方法及系统,包括:启动模拟器,初始化应用程序,调用应用程序的OnCreate;加载应用程序的Dex文件并保存,查找DexFile结构体;检索其中的class_defs类定义列表,并判断加载后的Dalvik虚拟机的Method对象与类定义列表中的特定代码段是否不同,及判断代码地址是否超出范围。本发明所述技术方案能从系统层面去调用时就可以实现主动解密,同时对于相似的加固技术,能够使用相似的脱壳方法,也有效的解决了通用性问题。 |
申请公布号 |
CN105989252A |
申请公布日期 |
2016.10.05 |
申请号 |
CN201510913382.1 |
申请日期 |
2015.12.12 |
申请人 |
武汉安天信息技术有限责任公司 |
发明人 |
唐浩;马志远;潘宣辰 |
分类号 |
G06F21/12(2013.01)I;G06F21/56(2013.01)I |
主分类号 |
G06F21/12(2013.01)I |
代理机构 |
|
代理人 |
|
主权项 |
一种针对函数级别加壳的脱壳方法,其特征在于,包括:启动模拟器,初始化应用程序Activity,调用应用程序的OnCreate;加载应用程序的Dex文件并保存至gDvm的hash_tables,在gDvm的hash_tables中查找DexFile结构体;检索DexFile结构体中的class_defs类定义列表,并判断加载后的Dalvik虚拟机的Method对象与class_defs类定义列表中的method结构体中AccessFlags和insn代码段是否不同,若不同,则从运行时Method获取解密代码,填写到DexFile结构体中method的AccessFlags位置;判断Method的insns代码地址是否超出DexFile范围,若是则扩展DexFile大小,将Method代码拷贝至新的内存区域,并且修复DexFile的Method偏移地址。 |
地址 |
430000 湖北省武汉市东湖新技术开发区软件园东路1号软件产业4.1期B4栋12层01室 |