IDA 远程调试 gdbserver 完整实战教程(适合 Android / Linux 逆向)
一、什么是 IDA 远程调试(gdbserver)
IDA 远程调试指的是:
- IDA 运行在你的电脑上(调试端 / Client)
- 程序运行在另一台设备(被调试端 / Server)
- 双方通过 gdbserver + TCP 通信
典型结构如下:
[IDA Pro] <==== TCP ====> [gdbserver + 目标程序] PC Linux / Android
为什么要用 gdbserver?
- Android 没法直接跑 IDA
- ARM / MIPS / 嵌入式
- 真机行为 ≠ 模拟器
- 反调试只在真机触发
gdbserver 是远程调试的核心桥梁。
二、准备环境
1. 调试端(你的电脑)
- Linux / Windows
- IDA Pro(建议 7.x 以上)
- 对应架构的交叉调试支持(IDA 自带)
2. 被调试端(目标设备)
- Linux / Android
- CPU 架构需匹配(x86 / arm / arm64)
gdbserver可执行文件
三、优先使用 IDA 自带的远程调试服务器(dbgsrv)
这是很多人会忽略、但非常关键的一点:
IDA Pro 安装目录本身就自带了完整的远程调试服务器(dbgsrv),大多数情况下无需额外下载 gdbserver / android_server。
1. IDA 自带 dbgsrv 在哪里?
在 IDA 可执行文件(ida / ida64 / ida.exe / ida64.exe)同级目录 下,你会看到:
dbgsrv/
这个目录里已经包含了 常见系统 + 常见架构的远程调试服务端程序,基本是一个'全家桶'。
2. dbgsrv 目录常见内容说明
Android
android_server (ARM32)
android_server32 (ARM32,旧命名)
android_x64_server (ARM64)
android_x86_server (x86)
Linux
linux_server (x86_64)
linux_server32 (x86 32-bit)
armlinux_server (ARM64)
armlinux_server32 (ARM32)
armlinux_serverhf32 (ARM32 hard-float)
macOS
mac_server
mac_server_arm
mac_server_arme


