游戏安全实验室 首页 技术入门 查看内容

 阅读目录

Android系统GDB和IDA调试环境搭建

发布于:2015-6-5 15:53   |    224108次阅读 作者: 管理员    |   原作者: TP   |   来自: 原创


一、gdb调试环境搭建

1、环境变量的设置,包含:android-sdk-windows\platform-toolsandroid-sdk-windows\toolsandroid-ndk-r9android-ndk-r9\prebuilt\windows\bin;等等目录android-sdk-windowssdk的目录;android-ndk-r9NDK的目录。(一般情况需要开启三个CMD

2、切换到目录android-ndk-r9\prebuilt\android-arm\gdbserver,使用命令adb push gdbserver /data/gdbserver gdbserver放入手机里。

3、另外开一个命令行程序,使用命令adb shell进入shell,然后输入su获取root权限。

4、使用命令chmod 777 /data/gdbserver, 给予gdbserver文件可执行权限。

5、使用命令ps 查看系统进程,获取需要调试的进程的pid信息。后面假定我需要调试的目标进程的pid值为205。

6、使用命令cat /proc/205/maps 获取指定进程的模块信息以及模块基址信息。其中205需替换成你的目标进程pid。

7、使用命令/data/gdbserver :1234 --attach 205 对指定进程进行attach调试,其中205需要替换成你的目标进程pid(1234表示在tcp 1234端口监听,调试事件都发送到该端口上。直接从入口运行程序命令为(例如):/data/gdbserver :1234 /data/test)

8、另外开一个命令行程序,使用命令adb forward tcp:1234 tcp:1234 把手机的1234端口和本机的1234端口关联起来。

9、运行gdb程序命令:arm-linux-androideabi-gdb.exe,再使用命令target remote :1234调试程序。


二、IDA调试环境搭建

IDA Pro软件6.1以上的版本支持调试Android平台下原生态程序,对应调试的步骤为:

1、IDA目录下的Android_server程序复制在Android设备中,同时将需调试的原生可执行程序(假设为test 文件)复制在Android中。例如复制之后:/data/Android_server/data/test

2、分别给Android_servertest程序可执行的权限,对应的命令为:

adb shell chmod 755 /data/Android_server 

adb shell chmod 755 /data/test

3、执行/data/Android_server程序(adb shell /data/Android_server),执行之后会监听23946端口,对应之行的效果图为:

 4、另外启动一个命令窗口输入如下命令开启端口转发:

Adb forward tcp:23946 tcp:23946

5、启动IDA主程序,点击菜单项“Debugger->Run->Remote Arminux/Android debugger”选项之后弹出下框并配置相关属性项:

填写好相关项数据点击OK便能开始界面化逆向调试Android平台的原生程序。

Attach方式调试已运行的进程,点击菜单项“Debugger->Attach->Remote Arminux/Android debugger”选项之后弹下图所示默认框:

此时点击“OK”选项之后在选取相应需要Attach的进程名,此时IDA便能Attach进程并调试。


*转载请注明来自游戏安全实验室(https://gslab.qq.com

分享到:
踩0 赞0

收藏

上一篇:客观莫急,技术入门文章正在陆续产出中……

下一篇:iOS 64位程序调试环境搭建

相关阅读
最新评论
B Color Image Link Quote Code Smilies

发表评论