安卓逆向-动态调试

1.ADB

Android SDK工具

platform-tools加入环境变量

打开虚拟机就连接了

adb devices,查当前连接的设备

adb install 电脑路径,安装APK

adb shell,进入终端,linux命令

exit,退出终端

adb shell pm list packages,列出所有已安装的包名

adb shell dumpsys activity top,获取当前活动界面信息,有包名

adb shell dumpsys package 包名如com.xxx.xxx,获取包信息

adb shell pm path 包名,获取程序路径

adb shell dumpsys meminfo 包名,获取内存数据

adb shell dumpsys dbinfo 包名,获取数据库文件

2.Monitor

Android SDK工具,tools/monitor.bat

连上ADB后打开即可,监控APP的日志信息,调用了哪些函数等

3.IDA

逆向工具(ARM指令集)

动态调试:

真实机(虚拟机容易崩)->设置->开启开发者选项->开启USB调试

adb shell getprop ro.product.cpu.abi,查手机位数

根据位数放入android_server64或android_server(如果是虚拟机放android_x64_server或android_x86_server)

adb push "D:\GJ\IDA 7.0\dbgsrv\android_server64" /data/local/tmp

adb shell先自己想办法拿到root权限

赋权->执行->端口转发到电脑

adb shell
cd /data/local/tmp
chmod +x android_server64
./android_server64
adb forward tcp:23946 tcp:23946

IDA->Debugger->Attach->Remote ARM...(如果是虚拟机选Linux)->127.0.0.1:23946,Save->根据包名打开

Debugger->Debugger windows->Module list->找到对应函数,下断点调试

posted @ 2022-12-13 22:27  Hacker&Cat  阅读(140)  评论(0编辑  收藏  举报