命令对照表
环境
PC: Windows 10
NDK: 22.1.7171670
程序位置
GDB 8.3
(位于<ndk>\toolchains\llvm\prebuilt\windows-x86_64\bin
)lldb version 11.0.5
(位于<ndk>\prebuilt\windows-x86_64\bin
)
注意:如果找不到NDK内置的对应server,则在Android Studio中下载旧版本。
Server
ARM
<ndk>\prebuilt\android-arm64\gdbserver
<ndk>\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\11.0.5\lib\linux\arm\lldb-server
ARM64
<ndk>\prebuilt\android-arm\gdbserver
<ndk>\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\11.0.5\lib\linux\aarch64\lldb-server
Spawn模式
gdb
启动server
1 | adb forward tcp:9999 tcp:9999 |
PC连接
进入gdb
命令行,执行以下命令连接:
1 | target remote :9999 |
调试器自动断在__dl__start () from target:/system/bin/linker
lldb
server
1 | adb forward tcp:1234 tcp:1234 |
连接
进入lldb
命令行,执行以下命令连接:
1 | platform select remote-android |
启动
设置工作目录,指定文件后执行:
1 | platform settings -w /data/local/tmp |
Attach模式
可使用pidof
获取进程pid
gdb
server
1 | adb forward tcp:9999 tcp:9999 |
PC连接
进入gdb
命令行,执行以下命令连接:
1 | target remote :9999 |
lldb
server
转发端口,并以后台模式启动:
1 | adb forward tcp:1234 tcp:1234 |
连接
进入lldb
命令行,执行以下命令连接:
1 | platform select remote-android |
附加
可使用进程名或pid
附加
1 | attach -name victim |