考虑到360可能在Dalvik虚拟机中实现类加载机制360+app+加固+脱壳,寻找DUMP点较为困难在ART虚拟机环境下,操作空间有限,因此选择360+app+加固+脱壳了在ClassLinkerDefineClass函数处获取dex_file的开始和大小,然后进行DUMP操作有人尝试在dex2oat阶段DUMP,但怀疑如果360 HOOK execv阻止dex2oat转换原始classesdex,则可能无法完成脱壳。

加固过程中,内存dump的odex文件是360加固后的qihu360 dex通过多次运行并利用mmap函数和memcmp技术,开发者可以定位到脱壳点,对比dex文件中的quotdexquot字符串,获取原始的dex文件这时,替换加固外壳,删除多余元素并重新签名,以恢复应用的原貌同时,还需检查application类是否被360的重写影响深入探究Andro。

替换360加固的外壳程序的dex文件,删除附加元素,重新签名apk程序即可完成脱壳脱壳过程需注意确保内存dump出的dex文件完整无误,特别是检查脱壳后classesDex文件是否重写360+app+加固+脱壳了application类,如需调整,则修改androidname属性本文以360 Dex加固与脱壳流程为例,详解了Dex加固方法,对于Android逆向与技术学习。

中国脱壳能力最强的杀毒软件KV,只能脱两种壳,UPX和ASPack而360的API脱壳基本上可以算是没有,例如灰鸽子的控制端就是upx加壳,360可以识别,但是无法脱壳,只能改变病毒自身代码运行程序,放置病毒隔离区,也就是说一个原本能被他们查杀的病毒,随便加一个冷门的壳,就无法查出来了。

360+app+加固+脱壳 - APK报毒处理平台-apk防红链接-防封链接-安卓过毒免杀-稳定不掉签名TG:@AICDN8  第1张

相比于之前版本的加固,自从1加固版本之后,多了几次反调试,使得动态难度稍微增大了一些,不过针对脱壳机脱壳,再多了反调试也是无用或者通过修改系统源码,也能达到消除反调试的作用2 动态调试 1把app安装到手机,以调试模式打开app 2以shell模式root权限打开IDA的android_server。