Android App Decompiler

    • Release
    • Open Source

    Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von ManuelSoftware.

      Android App Decompiler

      Name:
      Android App Decompiler

      Beschreibung:
      Der Android App Decompiler ist ein kleines Tool zum dekompillieren von Android Apps, es entpackt die APK,
      wandelt mit dex2jar die DEX-Dateien (dalvik executable format | Quelle: source.android.com/devices/tech/dalvik/dex-format.html)
      In JARs um die dann nur noch mit jd-gui oder anderen JAVA Dekompilern geöffnet werden müssen.
      Das ganze ist OpenSource, sodass jeder den Quellcode sehen kann und ihn auf seine bedürfnisse Anpassen.

      Screenshot(s):


      Verwendete Programmiersprache(n) und IDE(s):
      C# 6.0 in SharpDevelop 5.1

      Systemanforderungen:
      .NET Framework 4.0 (werde es noch runterschrauben)

      Systemveränderungen:
      Extrahiert APK in einen ausgewählten Ordner und dekompilliert mit d2j die dex Dateien

      Download(s):
      Binaries (3,02 MB)
      Source (11,53 MB)

      Lizenz/Weitergabe:
      Freeware, OpenSource

      OpenSource:
      GitHub (coming soon)
      Sourceforge

      Dex2Jar:
      Version für Android App Decompiler von meiner Website: Hier
      Dex2Jar: Hier

      Verwendete Libraries:

      Microsoft.WindowsAPICodePack (hab keine Website gefunden, die das mehr anbietet)
      Ionic.ZipLib
      Programm tut das was es soll, nicht mehr und nicht weniger ^^
      Optik gefällt mir sehr!
      Einfach zwei Punkte könnte man vllt. noch verbessern:
      1. Die Textboxen haben Rechts keinen Rahmen (Als die Buttons einfach über das Textfeld gezogen wurden)
      2. Wenn man eine APK Datei auswählt, wäre es toll wenn das Programm automatisch in die Output TextBox einen Pfad reinschreibt z.b das in gleichen Verzeichnis, wo auch die APK liegt, ein Output Ordner erstellt wird
      ​Sonst ist das Programm 1A!
      Weiter so! :thumbsup:
      Hallo @ManuelSoftware,
      von mir nur ein paar Sachen, die mir rein vom Durchlesen auffallen:

      ManuelSoftware schrieb:

      dekompillieren von Android Apps

      ManuelSoftware schrieb:

      es entpackt die APK,
      Ja was jetzt? Dekompiliert es oder entpackt es? Das sind zwei fundamental andere Sachen. Dekompilieren (deutsche Schreibweise) ist das Wiedeherstellen (soweit möglich) des originalen Quellcodes. Das Entpacken hingegen nimmt ein Archiv her und holt sich die komprimierten Dateien raus und kopiert sie raus in einnen anderen Rechner, oder anders: (jedenfall meistens) es dekomprimiert bereits komprimierte Dateien. [Falls es jemand besser erklären kann, bitte ich darum] Bitte die Beschreibung anpassen: Entweder du packst gleich noch ein jd-gui dran, welches die entpackten Dateien öffnet dran, oder du beschreibst das ganze anders.

      gabriel-b schrieb:

      automatisch in die Output TextBox einen Pfad reinschreibt
      Was du auch machen kannst, ist einen Button einzufügen, der den Explorer mit dem Pfad startet, so wie es in den meisten Konvertierprogrammen (bzw allen Programmen, die eine oder mehrer Dateien produzieren, ist.

      Zu dem Screenshot: Unterlass bitte diese pseudo-denglisch! Titel, Labels, Auswählbutton und Decompile-Button mit englischem Text und dann kommt "Schließen"...bitte entweder ganz in deutsch oder ganz in Englisch. Auch wenn sich "APK Datei auswählen" und "Ausgabeordner auswählen" doof anhört, da es sich hier um ein DEUTSCHES Forum handelt, denke ich, ist es vertretbar, wenn die Software auch vom UI her in deutsch ist. Es sei denn du willst sie auch noch außerhalb des deutschsprachingen Raumes vertreiben, dann aber bitte ALLES in Englisch (Schließen -> Close)

      Danke für's durchlesen
      Lg Radinator
      In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
      Eine Frage, wo ist jetzt der Unterschied zwischen deinem Programm und einem rechtsklick auf eine APK und dann öffnen mit 7-Zip?

      Es wäre cool wenn das Programm wirklich dekompiliert. Hatte mal da ein Cmd-Proggi dafür, war mir dann aber zu umständlich.
      Software being "Done" is like lawn being "Mowed". (Jim Benson)

      KidRick schrieb:

      Unterschied
      Er hat noch ein (schönes) GUI drum rum gebau ;D

      KidRick schrieb:

      wirklich dekompiliert
      Wie in meinem Post, "einfach" das entpackte Archiv mit CommandLine an jd-gui übergeben, dann hätte man so was wie einen Decompiler
      In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
      Meines Wissens kann man dex(Dalvik Executables) nicht einfach so in jd öffnen. Also ist eben auch noch dieser Teil drinnen, jedoch auch nur über einen Konsolenprogramm aufruf.
      @TE:
      Interessant wird es, wenn du den Konvertierungsvorgang selbst vornimmst, das hier dürfte dabei sehr hilfreich sein
      source.android.com/devices/tech/dalvik/dex-format.html
      Ich wollte auch mal ne total überflüssige Signatur:
      ---Leer---