动态调试apk需要将AndroidManifest.xml中的android:debuggable属性修改为true,但是当应用做了签名校验或者完整性保护等措施就不能修改apk了。
打算直接修改手机的ro.debuggable为1,参考:https://www.cnblogs.com/xiaoweigege/p/15726711.html,https://blog.csdn.net/CSNN2019/article/details/117959083
此方案重启失效,需要每次重启都要执行下面步骤
下载工具mprop: https://github.com/wpvsyou/mprop
这个工具需要选择对应手机的cpu架构的脚本下载
查看手机CPU架构
adb shell getprop ro.product.cpu.abi
push mprop 到系统data目录下
adb push E:\app渗透\动态调试\mprop-master\arm64-v8a\mprop /data/local/tmp
修改mprop权限
adb shell
su
cd /data/local/tmp/
chmod 755 mprop
执行mprop设置debuggable=1
./mprop ro.debuggable 1
getprop ro.debuggable
adb kill-server
上传ida的android_server,
adb push E:\app渗透\动态调试\mprop-master\arm64-v8a\android_server data/local/tmp/android_server
adb push E:\app渗透\动态调试\mprop-master\arm64-v8a\android_server64 data/local/tmp/android_server64
提权
adb shell
su
cd data/local/tmp
chmod 777 android_server64
chmod 777 android_server
启动
./android_server
转发端口
adb forward tcp:23946 tcp:23946
启动 DDMS,ddms是在sdk中的,一般情况下我们已经将platform-tools和tools目录添加到环境变量 所以只需要在cmd中输入ddms即可
挂起程序
adb shell am start -D -n 包名/类名
adb shell am start -D -n com.ydpt.yzj/com.kdweibo.android.ui.activity.StartActivity
IDA连接
勾选三项
挂载
jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=端口号
|