我正在调试一个我没有源的 apk 应用程序。我想在 smali 级别上调试它,而不是反编译。
我曾经用 apktool 来做这个,但查看他们的网站,smali-debugging 已被弃用,他们指向 SmaliIdea - android studio 的插件。所以我安装了它,确实 - 它工作正常:当我在它们上设置观察点时,我可以步进、设置断点、查看 smali 寄存器(v7、v8、v9 等)。
我不能做的实际上是修改那些寄存器/局部变量。当我对它们设置观察点时,我可以看到它们,但无法分配值。
查看 SmaliIdea 的“计划功能”:
- 在“本地”窗格中显示具有值的所有寄存器
- 能够在“观察”窗格中设置寄存器的值
它并没有说我现在根本无法修改寄存器,但也没有完全确认。
不过,这在古代 apktool 版本中曾经是可能的!我会说,这是一个相当大的回归。(回去不切实际,改的太多了)
问题:如何在调试时修改那些 smali 寄存器?是否有我丢失的寄存器视图或其他什么?其他人如何在 smali 级别调试 APK?