android调试系列--使用ida pro调试so
来源:互联网 发布:电信提速软件 编辑:程序博客网 时间:2024/06/05 11:54
1、工具介绍
IDA pro: 反汇编神器,可静态分析和动态调试。
模拟机或者真机:运行要调试的程序。
样本:阿里安全挑战赛第二题:http://pan.baidu.com/s/1eS9EXIM
2、前期准备
2.1 安装样本程序
adb install AliCrackme_2.apk
2.2 上传android_server文件
adb push android_server /data/local/tmp/adb shell chmod 777 /data/local/tmp/android_server
3、调试步骤
3.1 开启android_server,监听23946端口,与IDA pro通信
adb shell /data/local/tmp/android_server
3.2 设置本地端口转发
adb forward tcp:23946 tcp:23946
3.3 以调试模式启动程序
adb shell am start -D -n com.yaotong.crackme/.MainActivity
3.4 启动IDA pro,点击Debugger->attach->Remote ARMLinux/Android debugger,输入localhost,选择要调试的进程即可。
3.5 附加程序成功后,选择,Debugger option,勾选
suspend on process entry point
suspend on thread start/exit
suspend on library load/unload
三项,然后按f9运行调试程序,此时IDA pro 挂起
3.6 使用jdb恢复程序执行
jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700
3.7 此时IDA pro断在linker中,此时module中并没有libcrackme.so,说明licrackme.so还没有加载到内容中,只需要跟几步f8,在寄存器中看到libcrackme.so加载进来了,就可以在module中找到,有两种情况
1、如果IDA Pro能够解析成功,双击module中的libcrackme.so就可以看到它export的函数,就可以右键下断点了
2、如果IDA Pro解析失败,需要再开一个IDA,查找到要下断的函数地址,加上libcrackme.so加载到内存的地址即可(在init_array下断只能使用这种方法)。
3.8 IDA Pro按F9几次,直到断在自己下断的地方即可
3、总结
本章内容和调试原生程序有重复,就省略了一些内容。
另外还有一种so函数是在用户操作的时候才能触发,只需要下好断点,用户进行触发即可
- android调试系列--使用ida pro调试so
- IDA Pro动态调试Android so文件
- 使用IDA Pro调试so文件
- 使用IDA Pro动态调试SO文件
- IDA调试Android so文件
- IDA调试Android SO笔记
- IDA调试Android so源码
- IDA动态调试Android SO
- IDA动态调试android so
- 安卓逆向学习笔记 (4) - 使用IDA Pro动态调试so文件
- 【已解决】使用ida pro进行动态调试so文件遇到的问题
- Android逆向系列之动态调试(七)–IDA调试so文件(下)
- Android逆向系列之动态调试7–IDA调试so文件(上)
- Android逆向系列之动态调试8–IDA调试so文件(下)
- IDA 调试SO
- IDA 动态调试SO
- Ida 调试so文件
- IDA调试原生SO
- 测试一下编辑器好不好用
- Java精选笔记_IO流【File(文件)类、遍历目录下的文件、删除文件及目录】
- 小程序实现微信支付java后端
- 使用DTD对XML文件进行检验
- excel中,0不显示,负数显示红色
- android调试系列--使用ida pro调试so
- ARP协议和ARP脚本
- 浅谈CSS样式
- [BZOJ2150]部落战争-二分图匹配
- 【已解决】使用ida pro进行动态调试so文件遇到的问题
- MySql从一窍不通到入门(一)基本概念梳理
- PYTHON数据分析之分组计算
- WebStorm开发工具设置React Native智能提示
- 服务器Apache配置以及改变工作目录