1. 安装命令

    adb install xxx

  2. 推送

    adb push /Users/zrzz/Programme/CTF/mobile/IDA\ Pro\ 7.0/ida.app/Contents/MacOS/dbgsrv/android_server /data/local/tmp

  3. 赋予权限

    adb shell chmod 755 /data/local/tmp/android_server

  4. 启动调试服务器

    adb shell su -c "/data/local/tmp/android_server"

  5. 进行端口转发

    adb forward tcp:23946 tcp:23946

  6. 运行app 打开IDA Pro

  7. 依次点击菜单栏上的"debugger - attach - remote Armlinux/android debugger",在弹出的窗口中填充以下内容:

    1
    2
    Hostname:localhost
    Port:23946
  8. 在弹出的窗口中选择要调试的app的数据包名,然后点击"ok"按钮

  9. jeb运行

    jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700

    (这里出现了’致命错误。。。。’原因是apk的debuggable没开,得反编译后进去改成true后回编译)

    这里把新的东西搬一些过来

    先打开静态so,打断点,打开debug选项

    image-20210731125153888

    手机打开应用,

    adb shell su -c "/data/local/tmp/android_server"

    转发23946

    attach

    image-20200113233006022

    选中对应的apk后就开始了

    适当继续,然后到手机输入东西。

    由于在检验处打了断点,所以输入的值会被监视

    按下确定键后

    image-20200113233617789

    然后在debug里面打开local看当地变量

    image-20200113233800317

    就看到了

    进阶教程:

    IDA使用https://www.01hai.com/note/av189045#IDA-4

    绕过反调试https://blog.csdn.net/jltxgcy/article/details/50598670

    2020-1-15补充:今天学长教了下进IDA要看一些什么,所以有一些感想

    1. 先View->Open subviews->segment看下.init和init_array

      image-20200115194154870如果有一些反调试会在这里看到,图示是没有小动作的

    2. 进去观察JNI_Onload和有没有anti-debug(也可能功能相同但是名字不同)

    3. 可以通过动态调试patch重打包或者是ptrace等等(暂时还不懂、多学点反调试脱壳应该就懂了)

    4. 之后再找包名的函数进行查看就行了

一些问题

ddms报错

sdk的版本太高,重新安装1.8.0_144的版本就好了,很多都要重新配置

http://www.luyixian.cn/news_show_22299.aspx

ddms中进程不显示

image-20200105194516775

是手机debug的问题,操作不难

https://www.cnblogs.com/afublog/p/11226492.html

直接用ddms吧,monitor太傻x了