第八课、真实app去壳、去升级

查看 87|回复 9
作者:胡凯莉   
第八课、真实app去壳、去升级1、去壳
  • 1 frida-dexdump -U -f com.hello.qqc  全自动去壳

  • 2 grep -ril "MainActivity"   搜索MainActivity在哪个dex中


  • 2、快速定位
  • 1 objection  hook弹窗的几种方式
  • window
  • dialog
  • 2 android hooking watch class android.app.Dialog 查看源码进行尝试hook
  • 3 随便点击后发现被调用   大概是这个类    下面就是回溯调用栈
  • (agent) Hooking android.app.Dialog.setCancelable(boolean)  设置不可取消的api
  • 4  hook 这个方法看看调用栈
  • android hooking watch class_method android.app.Dialog.setCancelable --dump-args --dump-backtrace --dump-return
  • 结合静态jadx代码进行分析


  • 3、内存可视化漫游
  • 不确定找到的位置是不是要找的地方  
  • 加载wallbreaker  回溯代码
  • plugin load /root/.objection/plugins/Wallbreaker  
  • plugin wallbreaker   classdump                     看一个类的结构
    plugin wallbreaker   classsearch                   根据一个名字找一个接近的类
    plugin wallbreaker   objectdump                    看对象的实例的内容
    plugin wallbreaker   objectsearch                  找一个对象实例
  • plugin wallbreaker objectsearch cn.net.tokyo.ccg.ui.fragment.dialog.Update
    DialogFragment                                                                                                     
    [0x1dca]: UpdateDialogFragment{372b25e #1 UpdateDialogFragment}
  • 可见即可得  得到内存地址
  • dump出这个实例
  • plugin wallbreaker objectdump --fullname 0x1dca
  • 继续dump   cn.net.tokyo.ccg.bean.VersionBean$Version a这个实例对象
  • 找到确定就是这个代码的位置
  • android hooking watch class cn.net.tokyo.ccg.ui.fragment.dialog.UpdateDialogFragment     看看调用栈
  • 调用了b
  • 目标是不要让这个窗口起来  就是看b代码逻辑让窗口不起来
  • 查看b的调用栈代码  
  • android hooking watch class_method cn.net.tokyo.ccg.ui.fragment.dialog.UpdateDialogFragment.b  --dump-args --dump-backtrace --dump-return
  • 发现是从MainActivity过来的
  • 找到这个参数是versionbean的重载
  • @Override // b.a.a.a.d.b.z
      public void a(VersionBean.Version version, boolean z) {
          this.f1696a = version.url;
          if (version != null) {
              UpdateDialogFragment.b(version, z).show(getSupportFragmentManager(), UpdateDialogFragment.class.getSimpleName());
          }
      }
  • 修改这部分代码即可

    4、定位代码思路5、修改源码实现
  • 1、apktool 解包
  • 2、替换dex  修改文件名
  • 3、重打包 签名
  • 4、apktool 再次解包 修改smile代码
  • 5、重打包 签名

    代码, 去壳

  • phxi   

    沙发做一回
    逆水舟行   

    需要密码的那种可以去吗,一直想学
    52new   

    检测frida怎么过?
    繁星落月   

    感谢分享
    泽翌凉风   

    沙发做一回
    flying1008   

    感谢分享!学习下
    v12608   

    APP学习看一下
    anidelong   

    我觉得我要先学一下英文
    andyhah   

    轻轻cao,肉丝弟子
    您需要登录后才可以回帖 登录 | 立即注册