美文网首页Android安全-逆向
【Android逆向实战系列】使用IDA Pro对Dalvik指

【Android逆向实战系列】使用IDA Pro对Dalvik指

作者: bro丶默默 | 来源:发表于2019-06-08 17:40 被阅读0次

    准备工作

    • 准备工作
    • 一台Mac os/Window系统的电脑
    • 一部root的手机
    • 一条数据线
    • IDA Pro
    • adb
    • 需要进行调试的APK

    演示环境

    • Mac os系统的电脑
    • 小米5 Max
    • IDA Pro 7.0 64位

    开始

    1. 将手机通过数据线连接到电脑
    2. 在手机上安装Xposed Installer工具,并安装XInstaller插件。安装完毕后,在XInstaller的其他设置中找到调试应用并勾选,勾选完毕后回到Xposred Installer软重启设备。

    注:如果是未ROOT的设备,可以在AndroidManifest.xml的application标签里添加android:debuggable="true",然后保存后进行二次打包。

    1. 通过adb install 将apk文件安装到手机中
    adb instll /Work/Demo/test.apk
    
    1. 用IDA Pro打开apk,选择classes.dex文件。
    问: 为什么是classes.dex文件呢?
    答: classes.dex是应用的主要自行程序,包含着所有的Dalvik指令。
    
    1. 等待IDA Pro加载分析完毕后,依次点击菜单栏的Debugger > Debugger options,在弹出的窗口中勾选"Suspend on process entry point",并点击右下角的"Set specific options"按钮。
    image
    1. 在新弹出的窗口中,填入ADB executable路径。然后点击"Fill from AndroidManfest.xml"按钮,IDA Pro就会自动加载"Package Name"和"Activity",最后点击"ok"按钮即可。
    image
    1. 然后在菜单栏中依次点击"Debugger-Process Options",在弹出的窗口中将"Port"改为8700,其他的保持不变。
    image
    问:为什么是8700端口呢?
    答:在Android SDK中提供了一款工具DDMS,它用来监视App的运行状态和结果。它的默认端口是8700。
    
    1. 到此所有的工作准备就绪,然后就可以下断点开始调试App了。

    2. 结合前面打开的Classes.dex文件找到对应的内存基址,然后找到该内存基址,打上断点。

    使用技巧

    • 打开本地变量窗口

      点击菜单栏上的"debugger-use source level debugger",然后点击"debugger-debugger windows - locals"

    • 单步跟踪

      按下F7或者F8

    更多好文点击访问https://blog.52zhuanke.cn/

    相关文章

      网友评论

        本文标题:【Android逆向实战系列】使用IDA Pro对Dalvik指

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