胡凯莉 发表于 2023-3-10 09:17

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



第八课、真实app去壳、去升级1、去壳
[*]1 frida-dexdump -U -f com.hello.qqc全自动去壳
[*]https://img-pool-own.oss-cn-shanghai.aliyuncs.com/img/image-20230211212235416.png

[*]2 grep -ril "MainActivity"   搜索MainActivity在哪个dex中
[*]https://img-pool-own.oss-cn-shanghai.aliyuncs.com/img/image-20230211212251860.png

2、快速定位
[*]1 objectionhook弹窗的几种方式
[*]window
[*]dialog

[*]2 android hooking watch class android.app.Dialog 查看源码进行尝试hook
[*]3 随便点击后发现被调用   大概是这个类    下面就是回溯调用栈
[*](agent) Hooking android.app.Dialog.setCancelable(boolean)设置不可取消的api

[*]4hook 这个方法看看调用栈
[*]android hooking watch class_method android.app.Dialog.setCancelable --dump-args --dump-backtrace --dump-return
[*]https://img-pool-own.oss-cn-shanghai.aliyuncs.com/img/image-20230211223359861.png
[*]结合静态jadx代码进行分析
[*]https://img-pool-own.oss-cn-shanghai.aliyuncs.com/img/image-20230211224108961.png
[*]

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                                                                                                   
: UpdateDialogFragment{372b25e #1 UpdateDialogFragment}
[*]https://img-pool-own.oss-cn-shanghai.aliyuncs.com/img/image-20230211225016413.png
[*]可见即可得得到内存地址

[*]dump出这个实例
[*]plugin wallbreaker objectdump --fullname 0x1dca
[*]https://img-pool-own.oss-cn-shanghai.aliyuncs.com/img/image-20230211225441982.png
[*]继续dump   cn.net.tokyo.ccg.bean.VersionBean$Version a这个实例对象
[*]https://img-pool-own.oss-cn-shanghai.aliyuncs.com/img/image-20230211225559407.png
[*]找到确定就是这个代码的位置

[*]android hooking watch class cn.net.tokyo.ccg.ui.fragment.dialog.UpdateDialogFragment   看看调用栈
[*]https://img-pool-own.oss-cn-shanghai.aliyuncs.com/img/image-20230211230630393.png
[*]https://img-pool-own.oss-cn-shanghai.aliyuncs.com/img/image-20230211231107861.png
[*]调用了b

[*]目标是不要让这个窗口起来就是看b代码逻辑让窗口不起来
[*]查看b的调用栈代码
[*]android hooking watch class_method cn.net.tokyo.ccg.ui.fragment.dialog.UpdateDialogFragment.b--dump-args --dump-backtrace --dump-return
[*]https://img-pool-own.oss-cn-shanghai.aliyuncs.com/img/image-20230211231434154.png
[*]发现是从MainActivity过来的
[*]https://img-pool-own.oss-cn-shanghai.aliyuncs.com/img/image-20230211231835108.png
[*]找到这个参数是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 发表于 2023-3-10 09:33

沙发做一回

逆水舟行 发表于 2023-3-10 11:03

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

52new 发表于 2023-3-10 11:18

检测frida怎么过?

繁星落月 发表于 2023-3-10 12:24

感谢分享

泽翌凉风 发表于 2023-3-10 13:21

沙发做一回

flying1008 发表于 2023-3-10 14:50

感谢分享!学习下

v12608 发表于 2023-3-10 15:04

APP学习看一下

anidelong 发表于 2023-3-10 16:16

我觉得我要先学一下英文

andyhah 发表于 2023-3-10 16:59

轻轻cao,肉丝弟子
页: [1] 2 3
查看完整版本: 第八课、真实app去壳、去升级