Android逆向之JEB动态调试apk

已经快4年没使用jeb动态调试apk了,前一段时间被徒弟问到怎么动态调试apk的dex文件时,由于没记录jeb的动态调试方法,只能给他eclipse的动态调试作为参考。

Android逆向之动态方式破解apk前奏篇(Eclipse动态调试smail源码)

上面的方法对新人来说太不友好,所以还是把使用jeb的动态调试的方法写一下,以便帮到更多的人。

准备工具

首先你得有jeb工具,吾爱破解,看雪都能搜索到,我这里就不提供了。

准备调试应用

反编译修改AndroidManifest.xml中的debug属性

修改AndroidManifest.xml中的android:debuggable="true"

如:

修改完成后回编译成标准apk

安装调试应用

adb install xxx.apk

JEB反编译

将要动态调试的apk用JEB打开

标记断点

找到你要debug的代码,打上断点。

标记方法是在Smali中鼠标单击选中行后,快捷键Ctrl+B可以标记和取消断点。

开始调试

使用以下命令运行程序

adb shell am start -D -n 包名/入口activity名

如我这里要调试的:

adb shell am start -D -n com.tomes.sharefile/com.tomes.MainActivity

这时你的手机会弹出一个系统提示框waiting for debugger

点击JEB菜单栏上调试按钮开始调试

点击调试按钮,会弹出Attach确定弹窗。
Machines/Devices选中要调试设备,
Processes选中要调试的应用对应的进程,即Flags为D的进程(可通过点击Flags 排序的方式快速选中)。

注意:

当attach弹出Could not attach to target提示的时候。解决方法如下:

eclipse/android studio/ddms,ddms导致jeb不能附加指定的应用。 所以粗暴点,关闭eclipse/android studio/ddms;

点击Attach按钮后成功调试。

进入调试状态,VM会变成绿色


断点条件触发后进入断点,在VM/Locals中可以查看变量值,F6可以单步。

对于不熟悉smali的同学来说,可以直接按快捷键Q或者使用右键菜单的Decompile在smali和java代码里来回切换,方便查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值