apk脱壳工具_APP爬取第一步:脱壳

  • 1.加固apk的特征(各家.so文件名特征 使用软件检测)(腾讯乐加固 360加固 梆梆 爱加密 等 等)

  • 2.第三方加固/自己加固(一般在哪家应用市场发布 就要用哪家的加固方案)

  • 3.为什么要加固(一定程度保护源代码)

  • 4.加固方式(.dex加固 .so加固)

78c38184ef2ad0b3d46e7ebeeff55991.png

  • 新APK运行

    • 先加载壳APP--->壳APP读Dex文件末尾的源APKD大小---->在内存中壳APP解密出源APP--->运 行源APP

  • 壳APK有自己的Application对象

  • 源APK有自己的Application对象

  • 壳APK启动时 在AndroidMenifest.xml里找源APK的Application 执行它的oncreate方法 启动源 APK

逆向/脱壳方法

  • 反编译/Hook技术和动态调试

  • Hook:先取得要Hook函数/方法的控制权,不用破坏程序

  • 动态调试:反调试,汇编,计算内存地址

  • Hook Java层

  • Hook Native层(.so库)

  • 在代码层 寻找要Hook的地方

  • 进行Hook 改下代码逻辑

脱壳原理:

  • 在壳APK解密源APK后,源APK被加载前,拦截这个过程中的系统函数 把内存中Dex dump出来

    手动脱壳:

  • 通过动态调试,跟踪计算Dex源文件的内存偏移地址,从内存中Dump出Dex文件 难度大,寄存器,汇编,反调试,反读写IDA

    工具脱壳:

    HOOK技术/内存特征寻找 简单易操作

  • 基于xposed 脱壳工具:Fdex2:Hook ClassLoader loadClass方法 通用脱壳 dumpDex:https://github.com/WrBug/dumpDex

  • 重写底层函数:DexExtractor:重写libdvm.so dexFileParse函数。脱梆梆 爱加密 libart.so 安卓7.0

  • 逆向框架:筑好底层 提供开发接口 xposed(Java 编译) frida(Python Javascript 代码注入) 主要系统函数都已HOOK/基于xposed frida开发脱壳工具/有大神已开发上层应用模块 开发工具要了解 APP启动 加载过程的原理.

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值