Android逆向笔记-IDA Pro动态调试Android程序(真机)

Posted IT1995

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android逆向笔记-IDA Pro动态调试Android程序(真机)相关的知识,希望对你有一定的参考价值。

这里的安卓版本是:

android 5.1.1(Lollipop, API 22)

LGE Google Nexus 5

arm

使用的IDA为:IDA Pro 6.8

将android_server送到/data/local/tmp

adb push android_server /data/local/tmp
adb shell
su
mv android_server android_server6.8
chmod 777 android_server6.8

将程序跑起来:

root@hammerhead:/data/local/tmp # ./android_server6.8
./android_server6.8
IDA Android 32-bit remote debug server(ST) v1.19. Hex-Rays (c) 2004-2015
Listening on port #23946...

进行adb端口转发:

adb forward tcp:23946 tcp:23946

运行monitor.exe

D:\\AndroidStudioIDE\\sdk\\tools>monitor.bat

将apk改成debug版:

 

<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.yaotong.crackme">
    <application android:allowBackup="true" android:icon="@drawable/creakme2_logo" android:label="@string/app_name" android:debuggable="true">
        <activity android:label="@string/app_name" android:name="com.yaotong.crackme.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity android:name="com.yaotong.crackme.ResultActivity"/>
    </application>
</manifest>

Android手机安装好后,启动:

adb shell am start -D -n com.yaotong.crackme/.MainActivity

此时手机上会出现Waiting For Degbugger

Android Device Monitor选中:

IDA打开选中此lib库

在此处下好断点;

再Debugger->Select debugger

 

再Debugger->Process options

输入127.0.0.1,然后ok

再选择附加的进程:

选中,点击OK

让其跑起来:

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

 此时点击这个运行:

命令行提示: 

 

D:\\AndroidStudioIDE\\sdk\\tools>jdb -connect com.sun.jdi.SocketAttach:port=8700,hostname=localhost
设置未捕获的java.lang.Throwable
设置延迟的未捕获的java.lang.Throwable
正在初始化jdb...
>
>

 IDA断点成功:

 这个就是单步调试:

 

 

以上是关于Android逆向笔记-IDA Pro动态调试Android程序(真机)的主要内容,如果未能解决你的问题,请参考以下文章

安卓逆向 -- IDA动态调试

Android逆向笔记-通过tracerPid对抗IDA调试

Android 逆向IDA 工具使用 ( 交叉引用数量设置 | 调试设置 )

Android 逆向IDA 工具使用 ( 交叉引用数量设置 | 调试设置 )

IDA 调试 Android 方法及简单的脱壳实现

Android 逆向初探