品牌型号:联想拯救者R7000
系统:Windows 10专业版
软件版本:JEB 5.20.0.202411121942
JEB Decompiler是一款安卓逆向分析工具,支持动态调试Smali代码。很多用户可能不知道如何调试Smali代码,或者在调试过程中遇到【断点调试无效】的情况。本文将为大家介绍JEB Decompiler如何调试Smali代码,JEB Decompiler断点调试无效怎么办的相关内容。
一、JEB Decompiler如何调试Smali代码
JEB Decompiler支持以Debug的方式调试Smali代码,下面我就为大家详细介绍调试Smali代码的步骤。
1、准备工作
安装JEB Pro版本,建议安装最新版,还需要配置ADB工具并连接模拟器(如雷电模拟器)或真实安卓设备,确保安卓设备已开启USB调试模式,USB调试模式需要先打开【开发者模式】,不同品牌的设备开启方式不同,例如小米手机需要连续点击MIUI版本即可开启。

2、修改APK
在导入前,用【AndroidKiller】安卓修改器,修改一下AndroidManifest.xml里可调试权限android:debuggable="true",重新编译后签名APP,把APP导入到JEB中,直接默认配置,点确定。

3、检验APK
等待进度条完成,JEB就加载好了APP,双击【Manifest】,查看application的【debuggable属性】,正常显示为true,即可开始调试。

4、开始调试
用数据线连接手机和电脑,电脑会弹出【是否允许电脑调试手机】之类的提示,要选择允许。手机打开APP,在JEB中点【绿色瓢虫】图标开始调试。

当出现下面这个弹框时说明已经连接好了,这个时候选择【附上】,如果此处显示为空,说明未成功连接手机或模拟器,或者手机未开启USB调试功能。

5、断点调试
连接成功后,手机上的操作会被转发到电脑端,并且程序会在断点处停下来,我们可以看到此处的变量值、线程等,从而调试Smali代码。

二、JEB Decompiler断点调试无效怎么办
我们在调试Smali代码时,可能会遇到断点调试无效的情况,大概率是因为未命中断点,例如断点设置在【if】语句的内部,可能If语句的“条件”不成立,不会执行if语句内的代码,而断点打在if语句内,就会出现【断点调试无效】的情况。

如果断点调试无效,并且弹出下图窗口,需要检查电脑和手机之间的连接是否正常,我们还可以在CMD中执行命令【adb shell am start -D -n 包名/入口Activity名】,例如【com.goldze.mvvmhabit/.MainActivity】来启动调试APP。

三、总结
以上就是JEB Decompiler如何调试Smali代码,JEB Decompiler断点调试无效怎么办的相关内容。本文为大家介绍了使用真机或者模拟器安装APK并连接到电脑进行Smali代码调试的步骤。如果遇到了断点调试无效的情况,可以参考上文内容排查问题所在,希望本文对你有所帮助。
