Spørsmål:
Dekompilering av Android-applikasjon
Mellowcandle
2013-03-20 14:02:41 UTC
view on stackexchange narkive permalink

Android-Java-koden er samlet i Dalvik-byte-kode, noe som er ganske leselig. Jeg lurer på, er det mulig i teorien og i praksis å skrive en dekompileringsprogramvare for Dalvik-byte-kode?

Seks svar:
Igor Skochinsky
2013-03-20 14:41:43 UTC
view on stackexchange narkive permalink

Det er ikke bare mulig, men det er allerede gjort, og ikke bare en gang. Her er tre jeg vet om, og det kan være flere.

  1. Kivlad av Cody Brocious

    http://www.matasano.com/research / kivlad /

  2. DAD av Zost (Androguard-prosjekt):

    http://code.google.com/p / androguard / wiki / Decompiler

  3. JEB av Nicolas Falliere (kommersiell)

    http: //www.android-decompiler .com /

Så er det alle Java-dekompilerer som kan brukes etter bruk av dex2jar eller Tør på Dalvik-binæren.

I teorien fungerer alle Java-dekompilatorer, så vel som Dalvik-klassefiler kan transformeres (tilbake) til Java-klassefiler. I tillegg til lenkene ovenfor, vil du kanskje se på [Soot] (http://www.bodden.de/2013/01/08/soot-android-instrumentation/) som nylig la til Dalvik-støtte.
Anton Kochkov
2013-03-20 14:26:35 UTC
view on stackexchange narkive permalink

Jeg synes det burde være mulig selv med nåværende Java-dekompilatorer, ved å lappe koden deres. De har minst en stor forskjell - mens JVM er stakkbasert, er Dalvik registerbasert. Denne forskjellen kan håndteres med ikke så mye kode. Andre forskjell - bytecode-format. Så du trenger å bruke kode som kan demontere Dalvik bytecode-format.

samuirai
2013-04-10 15:17:00 UTC
view on stackexchange narkive permalink

Ikke glem http://dexter.dexlabs.org/ - Dexter er et statisk Android-applikasjonsanalyseverktøy.

JayXon
2015-01-25 03:06:29 UTC
view on stackexchange narkive permalink

jadx har både CLI og GUI, og det er åpen kildekode.

Nik NexAndrX
2015-02-23 15:35:19 UTC
view on stackexchange narkive permalink

Et annet verktøy er Bytecode Viewer :

https://github.com/Konloch/bytecode-viewer

Bytecode Viewer er en avansert lett Java Bytecode Viewer, GUI Java Decompiler, GUI Bytecode Editor, GUI Smali, GUI Baksmali, GUI APK Editor, GUI Dex Editor, GUI APK Decompiler, GUI DEX Decompiler, GUI Procyon Java Decompiler, GUI Krakatau , GUI CFR Java Decompiler, GUI FernFlower Java Decompiler, GUI DEX2Jar, GUI Jar2DEX, GUI Jar-Jar, Hex Viewer, Code Searcher, Debugger og mer. Den er skrevet helt på Java, og den er åpen. For tiden vedlikeholdes den og utvikles av Konloch.

Et eksempel på bruk vil være mer enn velkommen! :-)
user1677
2013-04-10 06:58:28 UTC
view on stackexchange narkive permalink

I tillegg til programvaren som er oppført av Igor, finnes det også verktøy som apktool som kan brukes til å dekompilere kode: den forvandler dalvik bytecode til smali, et språk som er spesifikt for dalviks virtuelle maskin (se instruksjoner / opcodes her for eksempel).

Du kan også redigere ressurser i applikasjonen, og bygge applikasjonen tilbake (men den vil bryte den originale signaturen, ettersom du må re -tegn den med din egen nøkkel)

Beklager, men det du beskriver er * demontering *, ikke dekompilering. Smali er bare en måte å representere Dalvik bytecode på, det er ikke et språk på høyt nivå som Java.


Denne spørsmålet ble automatisk oversatt fra engelsk.Det opprinnelige innholdet er tilgjengelig på stackexchange, som vi takker for cc by-sa 3.0-lisensen den distribueres under.
Loading...