是APK加壳脱壳现状加壳覆盖率很高加固apk脱壳,当前加固apk脱壳的应用基本上百分之90都会加壳,各大加固厂商,基本都提供免费加固apk脱壳的加壳服务,很难找到不加壳的应用APK应用程序包是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件,一个Android应用程序的代码想要在Android设备上运行,必须先进行编译。
Android加壳技术涉及反编译apk文件至smali文件,修改代码逻辑,再重新编译apk具体步骤包括使用apktool反编译原始apk文件,创建新项目并编写代码实现,再次使用apktool反编译新生成的apk文件,将新文件夹内容合并到原始文件夹中,修改AndroidManifestxml文件,最终通过apktool编译得到加壳后的apk文件APK脱壳。
加固过程中,内存dump的odex文件是360加固后的qihu360 dex通过多次运行并利用mmap函数和memcmp技术,开发者可以定位到脱壳点,对比dex文件中的quotdexquot字符串,获取原始的dex文件这时,替换加固外壳,删除多余元素并重新签名,以恢复应用的原貌同时,还需检查application类是否被360的重写影响深入探究Andro。
需要替换系统组件的classloader才可以加固厂商必然饶不过去 两种解决方案1替换系统组件类加载器为我们的DexClassLoader,同时设置DexClassLoader的parent为系统组件类加载器2打破原有的双亲关系,在系统组件类加载器和BootClassLoader的中间插入我们自己的DexClassLoader即可壳与脱壳之二代壳函数抽取。
加固可以在一定程度上保护自己核心代码算法,提高破解盗版二次打包的难度,缓解代码注入动态调试内存注入攻击等 但也对应用的兼容性有一定影响,加壳技术不行的话,还会影响程序运行效率病毒扫描可通过病毒特征库,结合脱壳静态和动态扫描技术,实现手机病毒查杀目前市面上有很多第三方加壳的平台。
随着安卓应用安全需求的增长,国内APK软件加密保护服务逐渐转向付费模式,免费加固选项极其有限目前市面上如360加固爱加密梆梆加固腾讯加固和百度加固等,虽然部分如360提供了部分代码C层抽取的免费服务,但大部分服务商的加固技术仍停留在一代或二代整体抽取,无法有效抵御dump和定制ROM脱壳机的dex。
原文来自mt论坛,找不到原来的链接了,有看到的麻烦提醒一下 打开加固后的包,查看 classesdex ,找到 类中的第27行左右,找到原来的包名,即入口类把这里找到的包名粘贴到 AndroidManifestxml 的 androidname 中有的app需要删除这一行用。
发表评论