I am debugging an apk app that I do not have the sources for. I want to debug it on a smali level, not decompiled.

I used to do this with apktool, but looking at their website, smali-debugging is deprecated and they point to SmaliIdea - a plugin for android studio. So I installed that, and indeed - it works fine: I can step, set breakpoints, view smali registers (v7,v8,v9 etc) when I set a watchpoint on them.

What I cant do is actually modify those registers / local variables. I can see them when I set a watchpoint on them, but cant assign a value.

Looking at "planned features" of SmaliIdea:

  • Show all registers with a value in "locals" pane
  • Ability to set the value of a register in "watch" pane

It doesnt say I cant modify a register at all right now, but doesnt exactly confirm it either.

This used to be possible with ancient apktool version though! A pretty hefty regression, I would say. (Going back is impractical, too much changed)

Question: How can i modify those smali registers while debugging? is there a register view I am missing or something? How do other people debug APK on smali level?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.