安卓IDA动态调试初体验

作者: 山东大葱哥 | 来源:发表于2017-09-28 18:32 被阅读328次

今天终于完成了一个基于动态调试的安卓逆向的题目,发现动态调试真的蛮有趣的,今天算初体验吧。

抽时间我把整个过程都细化出来,录个视频或者写个完整文档,有需要朋友给我留言或私信吧。
在此感谢简书作者aimua提供的文章:链接地址!这是2016年zctf的一道Android题目,样本和本文用到的部分工具在文章末尾可以下载。

总体流程

大流程是按照aimua作者的文章进行的,大家可以参考原文,有几处不同之处:

  1. 静态分析
  2. smali patch app中的定时任务
    这个我直接修改的smali文件,把time的shedule直接 # 号注释掉了,然后重新打包签名。
  3. 动态调试
  4. so patch so中的反调试校验
    这个我是直接patch的so文件,将ptrace的返回值设为0 movs R0 #0。然后重新打包签名。
  5. dump核心数据
  6. 通过图像分层工具拿到flag

简单写一下调试的几个注意事项:

  1. 要用真机调试
    什么bluestack、夜神等都不能在ida中好好的玩耍,有大神说可以用gdb玩,我还配好环境,等有时间再玩一把gdb的。
  2. 真机要root过
    360超级root过的有时候会root不彻底,在进行调试时会提示权限问题,可以下载一个adbd insecure.apk进行完整root,安装好后只需要配置两个勾选项,然后重启手机即可。
  3. android_server不要放在sdcard目录下
    需要将ida下的android_server拷贝到手机的 /data/目录或子目录下,不能放到/sdcard目录下,/sdcard目录下文件不支持chmod,我在这里费了很长时间,最后咨询了大神才知道。
  4. adb shell后,su提示权限不足
    如果已经完全root还出这个提示,建议先重启手机,然后看360超级root中---root管理,会看到一个被禁止的应用“控制台程序”,把他设为允许即可。
  5. ida挂载异常
    ida挂载,选择进程后提示
    The debugger could not attach to the selected process. This can perhaps indicate the process was just terminated, or that you don't have the necessary privileges.
    如果排除权限问题,解决办法可以重启手机或者将手机的应用彻底终止,重新打开应用进行挂载。还有一种情况就是应用被别的进程做了ptrace,也就是做了反调试,那就需要跟踪到对应的指令patch掉。
  6. ida要设置好调试选项

    这个调试选项貌似不能自动保存,如果重开ida或者重新开启调试时都会自动情况,所以对于一些有反调试的程序一定要检查好,避免走弯路。 ida调试选项

相关工具

  1. ida
  2. apktook
  3. jeb
  4. autosign

具体参考关于安卓逆向你需要知道的工具及网站

附件

apk样本和stegsolve工具下载: apk样本和stegsolve工具下载

学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入我的圈子多多交流,共同进步,具体看我的个人介绍,我们一起学技术!
朋友圈,点赞是表态,评论才是真爱;在公众号,点赞只是认同,赞赏才是死忠;在简书,阅读只是眼动,喜欢才是心动。

相关文章

  • 安卓IDA动态调试初体验

    今天终于完成了一个基于动态调试的安卓逆向的题目,发现动态调试真的蛮有趣的,今天算初体验吧。 抽时间我把整个过程都细...

  • IDA6.8动态调试so-windows

    1.打开cmd进入IDA6.8目录的dbgsrv子目录,执行以下命令: 2.IDA 设置 使用IDA调试安卓elf...

  • 安卓动态调试

    开篇 之前工作内容不涉及安卓调试,所以对安卓的测试并不了解。但是最近工作关于安卓的调试越来越多,需要用到动态调试技...

  • so逆向

    动态调试:安装ida,ida安装F5调试工具,安装Eclipse,Eclipse安装DDMS插件相关软件:http...

  • ida动态调试

    首先adb连接逍遥模拟器 127.0.0.1:21503 然后我们需要从IDA中向模拟器中传入android_se...

  • 逆向篇二

    1. 静态分析 1.1 Hopper 1.2 IDA 2. 动态调试 2.1 lldb调试

  • Smali动态调试之Android Studio

    动态调试Smali有多种方式,可以用IDA Pro,Eclipse或者Android Studio等,IDA Pr...

  • Android Studio动态调试smali

    前言 之前对于app反编译的smali汇编语言都是静态分析为主,加上一点ida6.6的动态调试,但是ida的调试s...

  • Android Studio动态调试Smail

    首发:Android Studio动态调试Smail 0x00 前言DDCTF安卓题调试上一次是静态修改,后来我在...

  • IDA 调试android

    使用IDA进行动态调试so,有两种方式进行调试,一种是调试启动方式,调试启动可以调试jni_onload ,ini...

网友评论

本文标题:安卓IDA动态调试初体验

本文链接:https://www.haomeiwen.com/subject/hyjvextx.html