动态调试和log插桩

1
2
笔记内容来自吾爱破解正己师傅
https://www.52pojie.cn/thread-1692384-1-1.html

动态调试

动态调试是指自带的调试器跟踪自己软件的运行,可以在调试的过程中知道参数或者局部变量的值以及履清代码运行的先后顺序。多用于爆破注册码

修改debug权限

方法一:在AndroidManifest.xml里添加可调试权限

image-20231117092933478

1
android:debuggable="true"

方法二:XappDebug模块hook对应的app

image-20231117170740701

端口转发开启adb

image-20231117093129527

image-20231117093208142

打开usb调试

jeb调试

打开jeb,将demo拖到窗口中打开,查看demo第四关

尝试找出密钥

image-20231117093827898

image-20231117093948924

image-20231117094139660

定位到check

image-20231117094423343

image-20231117094615263

image-20231117094849135

debug模式启动程序

1
2
3
4
5
adb shell am start -D -n com.zj.wuaipojie/.ui.MainActivity
adb shell am start -D -n
adb shell am start -D -n 包名/类名
am start -n 表示启动一个activity
am start -D 表示将应用设置为可调试模式

image-20231117095257606

image-20231117095341699

模拟器bug,建议用真实手机测试

log插桩

定义:Log插桩指的是反编译APK文件时,在对应的smali文件里,添加相应的smali代码,将程序中的关键信息,以log日志的形式进行输出

1
invoke-static {对应寄存器}, Lcom/mtools/LogUtils;->v(Ljava/lang/Object;)V

将dex文件放入手机端的目录下,移动到想要调试的安装包的里面

image-20231117171100922

image-20231117171406393

image-20231117171655096

image-20231117172119890

image-20231117172052959