• Android逆向学习(五)app进行动态调试


    Android逆向学习(五)app进行动态调试

    一、写在前面

    非常抱歉鸽了那么久,前一段时间一直在忙,现在终于结束了,可以继续更新android逆向系列的,这个系列我会尽力做下去,然后如果可以的话我看看能不能开其他的系列,当然这就要看我以后忙不忙了,废话少说我们开始今天的学习,动态调试

    对了,关于之前smali2java插件的bug,已经和开发者联系后修复了这个bug,感谢开发者大大的重视

    二、任务目标

    进行动态调试,获得对应的密钥

    三、动态调试

    我们进行动态调试的话首先要添加上这个权限

    20230925165800

    添加上这个权限后我们才可以进行动态的调试

    然后进行打包后得到apk,之后将apk移动到jeb中去(直接拖动就可以)

    先开启开发者模式,就是对着版本号点击10下,就可以开启开发者模式了

    20230926101637

    之后使用adb进行调试

    因为在上一期中我是改名成为了东北往事,所以命令是这样的

    adb shell am start -D -n com.zj.dongbeiwangshi/.ui.MainActivity

    但是!这样运行是有问题的,我改了好久才发现这个问题,就是通过adb启动的话是会连接失败的,所以我选择了更有效的办法,就是直接在模拟器中手动打开这个软件,这个方法是有效的

    然后点击JEB的调试

    在这里插入图片描述

    之后应用就会启动

    20230926101849

    然后我们点击到第四关,然后看一下这个源代码,我们发现这个是需要flag{xxx}的格式,CTF是吧(笑),无所谓了,我们观察源代码,发现这里有个比较,观察方式就是先找程序入口,然后查看调用的函数,就可以找到这么一个代码

    20231003215420

    就在这个地方ctrl+b断点,然后开启debug,到时候就可以卡到这个地方

    20231003215832

    然后我们就发现了这个值,我们把这个值给输入进去,就可以看到这样了

    20231003215950

    关于log插桩我打算以后有时间再介绍,因为我一直想用另外的方式完成,不是简单的复现,这期就先这样

  • 相关阅读:
    用输出倒逼输入
    DID革命:详解PoP、SBT和VC三种去中心化身份方案
    10以内字符与数字的转化(与ASCII码无关)
    TSINGSEE青犀省级高速公路视频上云联网方案:全面实现联网化、共享化、智能化
    Vue 组成、语法
    01 | Spring Data JPA 初识
    软件测试基础知识
    算法系列二:插值查找、斐波那契查找
    [AGC057D] Sum Avoidance
    VMware+Ubuntu安装过程,含秘钥
  • 原文地址:https://blog.csdn.net/qq_52380836/article/details/133530469