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

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

1、去壳

  • 1 frida-dexdump -U -f com.hello.qqc 全自动去壳
    • image-20230211212235416
  • 2 grep -ril "MainActivity" 搜索MainActivity在哪个dex中
    • image-20230211212251860

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.setCancelab
      le --dump-args --dump-backtrace --dump-return
    • image-20230211223359861
    • 结合静态jadx代码进行分析
    • image-20230211224108961

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}
      
    • image-20230211225016413

    • 可见即可得 得到内存地址

  • dump出这个实例

    • plugin wallbreaker objectdump --fullname 0x1dca
    • image-20230211225441982
    • 继续dump cn.net.tokyo.ccg.bean.VersionBean$Version a这个实例对象
    • image-20230211225559407
    • 找到确定就是这个代码的位置
  • android hooking watch class cn.net.tokyo.ccg.ui.fragment.dialog.UpdateDial
    ogFragment 看看调用栈

    • image-20230211230630393
    • image-20230211231107861
    • 调用了b
  • 目标是不要让这个窗口起来 就是看b代码逻辑让窗口不起来

  • 查看b的调用栈代码

    • android hooking watch class_method cn.net.tokyo.ccg.ui.fragment.dialog.Upd
      ateDialogFragment.b --dump-args --dump-backtrace --dump-return

    • image-20230211231434154

    • 发现是从MainActivity过来的

    • image-20230211231835108

    • 找到这个参数是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、重打包 签名
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
公开课小组app记分是一款方便统计和记录公开课小组成绩的应用程序。这款app为老师和学生提供了一个简单、直观的平台来管理和评估小组的表现。 首先,公开课小组app记分具有创建小组和学生的功能。老师可以轻松地为每个小组创建一个专属页面,并将学生分配到不同的小组中。这样,老师就可以根据小组表现进行评分和记录。 其次,该应用程序还提供了评分和记录功能。老师可以根据不同的标准为每个小组评分,例如合作能力、演示技巧和内容理解。老师也可以为个别学生打分。完成评分后,分数将自动记录在相应的小组或学生页面上,方便老师和学生查看和跟踪表现。 另外,公开课小组app记分还具有交流功能。学生和老师可以在应用程序中互相交流和评论,共享对于公开课的想法和建议。这样,学生可以更好地了解自己的表现,并且得到老师的实时反馈。 最后,公开课小组app记分还提供了数据分析功能。通过对所有小组和学生的成绩进行整理和分析,老师可以获得对整体表现的洞察和评估。这有助于老师了解学生的强项和弱项,以便更好地指导和支持他们的学习。 综上所述,公开课小组app记分是一款极具实用价值的应用程序。它方便了老师和学生管理和评估小组表现,提供了交流和数据分析的平台,有助于提高公开课的质量和效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值