android逆向常用命令笔记
1、如何导出已安装apk?
- a.列出已经安装的包
adb shell pm list package | grep -i 关键字
- b.找出安装路径
adb shell pm path 包名
- c.拉下来:
adb pull 路径
- d.使用apktool解包
2、如何查看android cpu架构?
adb shell cat /proc/cpuinfo
或者查看系统配置:
adb shell cat /system/build.prop | grep ro
更直接:
adb shell getprop ro.product.cpu.abi
3、查看当前活动的activity
adb shell dumpsys activity top
4、开启调试总开关
原理:当android系统启动时候init.rc会去读取两个系统配置文件
系统配置文件两个:
/system/build.prop
/default.prop
default.prop里面有一个重要属性:ro.debuggable 如果为1,所有进程都可以调试。不管apk的AndroidManifest.xml里面是否有android:debuggable=true都可以进行调试。 修改ro.debuggable有三种方式:
- a.直接修改default.prop文件中的值。然后重启设备。
- b.改写系统文件,重新编译系统镜像,然后刷入到设备
- c.注入init进程(linux系统启动的第一个进程也就是0号进程),修改内存中的属性值
一般是按照第三种方式使用ptrace注入init进程进行修改内存中的ro.debuggable值。
网上已经有这个工具叫做mprop
5、使用mprop修改调试总开关流程如下:
- a. 下载mprop:https://github.com/wpvsyou/mprop
- b. 查看cpu架构:参考上面第2章
- c. push相应架构的mprop到设备:
adb push mprop /sdcard/tools
cd /sdcard/tools
cp /sdcard/tool/ /data
#注意拷贝到/data目录下,修改执行权限
chmod +x mprop
- d. 开启调试:
./mprop ro.debuggable 1
- e. 确认是否开启调试:
getprop ro.debuggable
- f. 查看可以调试的进程清单:
adb jdwp
会发现没有,需要注意的是要重启adbd:stop;start
6、查看APP日志
adb logcat | grep 6252
防止失联,关注微信公众号:码道工程。
请先登陆 或 注册