Android RE - Pool Master Pro
In diesem Post wird es um ein die Basics von Android Reverse Engineering gehen. Das Ziel ist eine Billiard-App namens “Pool Master Pro”. Dazu zunächst einmal ein Vorher/Nachher Bild:
Das Ziel ist es also, die relativ kurze “Aim Linie” zu verlängern, dass wir präzise über den ganzen Tisch zielen können.
Android basiert einer Java VM, und dies ist mehr oder wenig gut zu decompilieren. Dabei entpacken wir erst ein mal die APK (im Zip umbenennen) und sehen u.a. eine “.dex” Datei. Dort ist der komprimierte Source drin. Mit Hilfe des Tools Dex2Jar erzeugen wir uns eine einigermaßen lesbare .jar-Datei.
Allerdings gibt es auch ein weiteres Tool für Android De-und Recompiling names apktool. Dieses nette Tool entpackt alle Ressourcen, Decodiert das XML-Manifest und wandelt auch die .dex-Datei in eine Art Java-VM-Assembler (smali) um (wie bei .NET MSIL). Dieses werden wir nachher patchen. Aber zunächst zu der “Java-Analyse” dank JD-gui.
Die “Aim Line” ist im Optionsmenu an oder ausstellbar. Daher hat dort meine Analyse begonnen. Wir durchsuchen also den ganzen smali-Code nach dem String “Aim” und werden in der Main.smali fündig: