Java/Android: APK wieder in Java-Sourcecode de-kompilieren
-
- Beiträge: 3293
- Registriert: 29.06.2013 17:32:10
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Java/Android: APK wieder in Java-Sourcecode de-kompilieren
Hallo,
ich habe vor einer kleinen Ewigkeit mal eine Android-App geschrieben die schon etwas umfangreicher war...
Nun ist meine SSD kaputt gegangen und damit ist leider auch der Sourcecode dieser App verloren gegangen.
Gibt es eine Möglichkeit wieder halbwegs brauchbaren Java-Code aus eine APK zu erstellen? Warscheinlich nicht – *crying*
ich habe vor einer kleinen Ewigkeit mal eine Android-App geschrieben die schon etwas umfangreicher war...
Nun ist meine SSD kaputt gegangen und damit ist leider auch der Sourcecode dieser App verloren gegangen.
Gibt es eine Möglichkeit wieder halbwegs brauchbaren Java-Code aus eine APK zu erstellen? Warscheinlich nicht – *crying*
Zuletzt geändert von Anonymous am 27.03.2016 15:28:03, insgesamt 1-mal geändert.
(=_=)
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
-
- Beiträge: 3293
- Registriert: 29.06.2013 17:32:10
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: JAVA/Android. APK wieder in Java sourcecode
Oke, wer suchet der findet: http://www.decompileandroid.com/
(=_=)
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
-
- Beiträge: 3293
- Registriert: 29.06.2013 17:32:10
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: JAVA/Android. APK wieder in Java sourcecode
Wo finde ich denn via Eclipse installierte APKs auf dem Phone wieder? Installiert ist die App noch...
(=_=)
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Re: JAVA/Android. APK wieder in Java sourcecode
Müsste /data/app/foo.bar.baz/base.apk sein.
Unix is user-friendly; it's just picky about who its friends are.
-
- Beiträge: 3293
- Registriert: 29.06.2013 17:32:10
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: JAVA/Android. APK wieder in Java sourcecode
Hm... Als APK scheint die App nicht (mehr) vorzuliegen. Ich kann sie aber starten und ausführen, also muss die noch installiert sein.
Ich habe so gesucht, das findet aber nichts:
Wie könnte ich noch an die App kommen?
Ich habe so gesucht, das findet aber nichts:
Code: Alles auswählen
$ mkdir foo/
$ jmtpfs foo/
Unable to read MTPZ public exponent from ~/.mtpz-data, MTPZ disabled.
Device 0 (VID=04e8 and PID=6860) is a Samsung Galaxy models (MTP).
$ cd foo/
$ find -iname "*.apk"
$ fusermount -u foo
(=_=)
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Re: JAVA/Android. APK wieder in Java sourcecode
Du wirst wohl root rechte brauchen, ansonsten kannst du sie evtl. per adb backup ziehen (gibt tools die das backup format extrahieren können).Hm... Als APK scheint die App nicht (mehr) vorzuliegen. Ich kann sie aber starten und ausführen, also muss die noch installiert sein.
Unix is user-friendly; it's just picky about who its friends are.
-
- Beiträge: 3293
- Registriert: 29.06.2013 17:32:10
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: JAVA/Android. APK wieder in Java sourcecode
Auf dem Phone braucht es root-rechte oder?catdog2 hat geschrieben: Du wirst wohl root rechte brauchen, ansonsten kannst du sie evtl. per adb backup ziehen (gibt tools die das backup format extrahieren können).
Mit adb werde ich es noch probieren ...
(=_=)
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
-
- Beiträge: 3293
- Registriert: 29.06.2013 17:32:10
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: JAVA/Android. APK wieder in Java sourcecode
Ich glaube das wars... es mangelt an Rechten:
$ adb shell
shell@serranolte:/ $ cd data
shell@serranolte:/data $ ls
opendir failed, Permission denied
255|shell@serranolte:/data $
$ adb shell
shell@serranolte:/ $ cd data
shell@serranolte:/data $ ls
opendir failed, Permission denied
255|shell@serranolte:/data $
(=_=)
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Re: JAVA/Android. APK wieder in Java sourcecode
Code: Alles auswählen
adb backup -f somefile -apk name.des.pakets
Unix is user-friendly; it's just picky about who its friends are.
-
- Beiträge: 3293
- Registriert: 29.06.2013 17:32:10
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: JAVA/Android. APK wieder in Java sourcecode
Das funktioniert schonmal. Nur ist das tar-Archiv leer. Weil ich den genauen Namen nicht mehr weiss.
Hast du/jemand da noch einen Tipp wie ich an den vollen Namen (reverse domain name) der App komme.
Ich erinnere mich nicht mehr was ich da damals angegeben habe und sehe überall nur den aufgelösten Namen.
Gibt es da eine App für, vlt. im FDroid-Market?
Das com.example.Hello aus Eclipse funktioniert leider nicht. Aber ansonsten könnte das echt funktionieren
Hast du/jemand da noch einen Tipp wie ich an den vollen Namen (reverse domain name) der App komme.
Ich erinnere mich nicht mehr was ich da damals angegeben habe und sehe überall nur den aufgelösten Namen.
Gibt es da eine App für, vlt. im FDroid-Market?
Das com.example.Hello aus Eclipse funktioniert leider nicht. Aber ansonsten könnte das echt funktionieren
(=_=)
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Re: JAVA/Android. APK wieder in Java sourcecode
Steht normalerweise bei den App Infos dabei, Einstellungen->Apps
Unix is user-friendly; it's just picky about who its friends are.
-
- Beiträge: 3293
- Registriert: 29.06.2013 17:32:10
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: JAVA/Android. APK wieder in Java sourcecode
Leider nein dort steht nur der "einfache" App Name auf Deutsch. Aber das com.* ist mir entfallen.catdog2 hat geschrieben:Steht normalerweise bei den App Infos dabei, Einstellungen->Apps
Ich werde mal noch suchen, da wird wohl eine Lösung genen eine Taskmanager-App o.ä. geben.
Kann ich mit der ADB nicht in ein Live-Log o-ö schauen und dann die App per Touch-Click starten und sehen was gestartet wurde oder so?
(=_=)
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
-
- Beiträge: 3293
- Registriert: 29.06.2013 17:32:10
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: JAVA/Android. APK wieder in Java sourcecode
Die App Taskmanager zeigt einem beide Namen an.
https://play.google.com/store/apps/deta ... askmanager
https://play.google.com/store/apps/deta ... askmanager
(=_=)
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
-
- Beiträge: 3293
- Registriert: 29.06.2013 17:32:10
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: JAVA/Android. APK wieder in Java sourcecode
Vielen Dank an das APK bin ich schon mal gekommen:
$ tar -xvf thx.tar
apps/com.example.hello/_manifest
apps/com.example.hello/a/com.example.hello-487.apk
apps/com.example.hello/sp/com.example.hello_preferences.xml
Vielen Dank catdog2!
$ tar -xvf thx.tar
apps/com.example.hello/_manifest
apps/com.example.hello/a/com.example.hello-487.apk
apps/com.example.hello/sp/com.example.hello_preferences.xml
Vielen Dank catdog2!
(=_=)
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
-
- Beiträge: 3293
- Registriert: 29.06.2013 17:32:10
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: Java/Android: APK wieder in Java-Sourcecode de-kompilier
Mit dem APK-Multi-Tool (https://github.com/APK-Multi-Tool/APK-Multi-Tool) bekomme ich nur .smali-Dateien.
Auch wirft das Tool Fehlermeldungen, wenn man die Frameworks installieren will. Da stimmt die Syntax nicht...
Jemand einen Tipp? Ist das Projekt APK-Multi-Tool tot (von 2013 – Website offline)? Werde wohl mal eine Mail an den Programmierer schicken...
Auch wirft das Tool Fehlermeldungen, wenn man die Frameworks installieren will. Da stimmt die Syntax nicht...
Jemand einen Tipp? Ist das Projekt APK-Multi-Tool tot (von 2013 – Website offline)? Werde wohl mal eine Mail an den Programmierer schicken...
(=_=)
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
-
- Beiträge: 3293
- Registriert: 29.06.2013 17:32:10
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: Java/Android: APK wieder in Java-Sourcecode de-kompilier
Habe nun auch die Linux-Version gefunden, aber die kommt nichtmal soweit:
Code: Alles auswählen
Selected: com.example.hello-487.apk
I: Using Apktool 2.0.1-825476-SNAPSHOT on com.example.hello-487.apk
I: Loading resource table...
Exception in thread "main" brut.androlib.AndrolibException: Could not decode arsc file
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:52)
at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:538)
at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:63)
at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:55)
at brut.androlib.Androlib.getResTable(Androlib.java:64)
at brut.androlib.ApkDecoder.setTargetSdkVersion(ApkDecoder.java:209)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:92)
at brut.apktool.Main.cmdDecode(Main.java:165)
at brut.apktool.Main.main(Main.java:81)
Caused by: java.io.IOException: Expected: 0x00000008, got: 0x00000000
at brut.util.ExtDataInput.skipCheckShort(ExtDataInput.java:56)
at brut.androlib.res.decoder.ARSCDecoder.readValue(ARSCDecoder.java:254)
at brut.androlib.res.decoder.ARSCDecoder.readEntry(ARSCDecoder.java:203)
at brut.androlib.res.decoder.ARSCDecoder.readConfig(ARSCDecoder.java:191)
at brut.androlib.res.decoder.ARSCDecoder.readType(ARSCDecoder.java:159)
at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:116)
at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:78)
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:47)
... 8 more
(=_=)
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
-
- Beiträge: 3293
- Registriert: 29.06.2013 17:32:10
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: Java/Android: APK wieder in Java-Sourcecode de-kompilier
Kann das an OpenJRE vs. Suns JRE liegen?
(=_=)
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Re: Java/Android: APK wieder in Java-Sourcecode de-kompilier
Das ist praktisch nur disassemblierter bytecode. Es gibt noch so ein Tool was sich dex2jar nennt, das spuckt dann normalen java bytecode aus. Den sollte man dann in handelsübliche java Decompiler werfen können.Mit dem APK-Multi-Tool (https://github.com/APK-Multi-Tool/APK-Multi-Tool) bekomme ich nur .smali-Dateien.
Kannst ja mal den Probiern, der macht direkt apk zu java: https://github.com/skylot/jadx
Unix is user-friendly; it's just picky about who its friends are.