C'è un modo per ottenere il codice sorgente da un file APK?


1262

Il disco rigido del mio laptop si è appena bloccato e ho perso tutto il codice sorgente di un'app su cui ho lavorato negli ultimi due mesi. Tutto quello che ho è il file APK che è memorizzato nella mia e-mail da quando l'ho inviato a un amico.

Esiste un modo per estrarre il mio codice sorgente da questo file APK?


28
Cordiali saluti Esiste un controllo del decompilatore online qui
edwin,

11
Questo significa che possiamo ottenere il codice sorgente di app del valore di milioni di dollari come Whatsapp o Facebook? È tutto open source?
Faizan,

3
@Faizan hai sentito parlare di proguard ??
Vishwajit Palankar,

1
La formulazione della domanda contiene bocconcini di storie di vita irrilevanti e come tali può essere interpretata come raccomandare uno strumento . Eppure la risposta avrebbe potuto essere potenzialmente javac -decompile, che si adatterebbe quindi alle linee guida SO. Mi sembra che le risposte siano fuori tema , non la domanda.
SwiftArchitect,

2
in questo articolo spiegano come retroingegner Pokemon Go
anders il

Risposte:


1569

Modo semplice: usa lo strumento online http://www.javadecompilers.com/apk , carica l'apk e ottieni il codice sorgente.


Procedura per la decodifica dei file .apk, metodo passo-passo:

Passo 1:

  1. Crea una nuova cartella e copia sul file .apk che vuoi decodificare.

  2. Ora rinominare l'estensione di questo file .apk in .zip (ad esempio rinominare da nomefile.apk in nomefile.zip) e salvarlo. Ora puoi accedere ai file classes.dex, ecc. In questa fase puoi vedere i file disegnabili ma non i file xml e java, quindi continua.

Passo 2:

  1. Ora estrai questo file .zip nella stessa cartella (o NEW FOLDER).

  2. Scarica dex2jar ed estrailo nella stessa cartella (o NUOVA CARTELLA).

  3. Spostare il file classes.dex nella cartella dex2jar.

  4. Ora apri il prompt dei comandi e cambia la directory in quella cartella (o NEW FOLDER). Quindi scrivi d2j-dex2jar classes.dex(per Mac Terminal o Ubuntu Write ./d2j-dex2jar.sh classes.dex) e premi Invio. Ora hai il file classes.dex.dex2jar nella stessa cartella.

  5. Scarica il decompilatore java , fai doppio clic su jd-gui, fai clic sul file aperto e apri il file classes.dex.dex2jar da quella cartella: ora ottieni i file di classe.

  6. Salvare tutti questi file di classe (in jd-gui, fare clic su File -> Salva tutte le fonti) per nome src. A questo punto ottieni la fonte java ma i file .xml sono ancora illeggibili, quindi continua.

Passaggio 3:

Ora apri un'altra nuova cartella

  1. Inserisci il file .apk che vuoi decodificare

  2. Scarica l'ultima versione di apktool AND apktool install window (entrambi possono essere scaricati dallo stesso link) e posizionali nella stessa cartella

  3. Apri una finestra di comando

  4. Ora esegui il comando come apktool if framework-res.apk(se non ce l'hai, prendilo qui ) e poi

  5. apktool d myApp.apk (dove myApp.apk indica il nome file che si desidera decodificare)

ora ottieni una cartella di file in quella cartella e puoi leggere facilmente i file xml dell'apk.

Step 4:

Non è un passaggio, basta copiare il contenuto di entrambe le cartelle (in questo caso, entrambe le nuove cartelle) in quella singola

e goditi il ​​codice sorgente ...


26
@prankulgarg, al punto 5 del passaggio 3 ricevo il seguente errore: Impossibile accedere al file jar E: \ apktojava \ testt \\ apktool.jar

55
Invece di scrivere dex2jar classes.dex in cmd, prova d2j-dex2jar classes.dex . Perché dex2jar classes.dex questo cmd è obsoleto.
Umesh,

23
Per coloro che non riescono a trovare framework-res.apk. Scaricalo da qui
atulkhatri

12
Coloro che non hanno trovato d2j-dex2jar.sh, scaricano dex2jar da qui: dex2jar.googlecode.com/files/dex2jar-0.0.9.15.zip
Reaz Murshed

14
Per le persone bloccate nel passaggio 2: 4 scarica questa versione e risolverà il problema: sourceforge.net/projects/dex2jar/files/dex2jar-2.0.zip/download ha funzionato per me. @delive
siriuseteor77

126

Questa è una descrizione alternativa - nel caso in cui qualcuno si fosse bloccato con la descrizione sopra. Segui i passi:

  1. scaricare apktool.bat(o apktoolper Linux) e apktool_<version>.jarda http://ibotpeaches.github.io/Apktool/install/
  2. rinominare il file jar dall'alto in apktool.jare inserire entrambi i file nella stessa cartella

  3. apri una casella dos ( cmd.exe) e cambia in quella cartella; verificare che sia installato un ambiente Java (per Linux controllare anche le note relative alle librerie richieste)
  4. Inizio: apktool decode [apk file]

    Risultato intermedio : file di risorse,AndroidManifest.xml

  5. decomprimere il file APK con un decompressore a scelta

    Risultato intermedio :classes.dex

  6. scaricare ed estrarre dex2jar-0.0.9.15.zipda http://code.google.com/p/dex2jar/downloads/detail?name=dex2jar-0.0.9.15.zip&can=2&q=
  7. trascina e rilascia classes.dexsu dex2jar.bat(o inserisci <path_to>\dex2jar.bat classes.dexin una casella DOS; per uso Linux dex2jar.sh)

    Risultato intermedio :classes_dex2jar.jar

  8. decomprimere classes_dex2jar.jar(potrebbe essere facoltativo a seconda del decompilatore utilizzato)
  9. decompilare i file della classe (ad es. con JD-GUI o DJ Decompiler )

    Risultato : codice sorgente

Nota: non è consentito decompilare pacchetti di terze parti; questa guida ha lo scopo di recuperare il codice sorgente personale solo da un file APK; infine, molto probabilmente il codice risultante verrà offuscato


6
Potrei anche aggiungere che esiste una moderna alternativa a questo percorso APKTool-> dex2jar-> JD-GUI! Basta provare il decompilatore APK e DEX open source chiamato Jadx: sourceforge.net/projects/jadx/files Ha anche la versione online qui: javadecompilers.com/apk
Andrew Rukin

1
È consentito (leggi: legale) di decompilare qualsiasi file APK. Vedere la seguente domanda: stackoverflow.com/questions/9674557/...
Rakete1111

1
Perché quelli apktoolrestituiscono smalifile? Come ottenere il javafile?
Rminaj,

108

Mentre potresti essere in grado di decompilare il tuo APKfile, probabilmente colpirai un grosso problema:

non restituirà il codice che hai scritto. Restituirà invece qualunque sia il compilatore integrato, con variabili a cui sono stati assegnati nomi casuali, nonché funzioni a cui sono stati assegnati nomi casuali. Potrebbe volerci molto più tempo per provare a decompilare e ripristinarlo nel codice che avevi, che sarà ricominciare da capo.

Purtroppo, cose come questa hanno ucciso molti progetti.
Per il futuro, consiglio vivamente di apprendere un sistema di controllo versione, come CVS , SVN e git ecc.

e come eseguirne il backup.


19
Sarà utile anche un servizio come Dropbox.
Jeremy Logan,

1
e c'è sempre un modo per masterizzare CD
JerryGoyal,

52

C'è anche una nuova applicazione sul Play Store con la quale è possibile decompilare un apk (anche applicazioni di sistema) e visualizzare il codice sorgente direttamente sul tuo smartphone. Salva i file sulla scheda SD in modo che tu possa vederli anche sul tuo computer. Non richiede root o qualcos'altro.

Installa e divertiti. Penso che questo sia il modo più semplice per decompilare un'app.


1
Questo è il più semplice.
Midhun Vijayakumar,

@MidhunVijayakumar potresti convertire l'apk in codice sorgente usando questo?
Sajeev,

28

apktool è la cosa migliore che puoi provare. Ho salvato qualche xml con esso, ma sinceramente non so come funzionerà con il codice .java.

Ti consiglierei di avere un repository di codice anche se sei l'unico programmatore. Ho usato Project Locker per i miei progetti. Ti dà repository svn e git gratuiti.


Troverai apktool indispensabile se vuoi estrarre risorse (cioè immagini da un'applicazione Android. In realtà, lo strumento non ha concorrenti!) Una versione online di apktool è disponibile qui: www.javadecompilers.com/apktool
Andrew Rukin

23

Questi due articoli descrivono come combinare l'uso di apktoole dex2jarprendere un APKfile e creare un progetto Eclipse in grado di costruirlo ed eseguirlo.

http://blog.inyourbits.com/2012/11/extending-existing-android-applications.html

http://blog.inyourbits.com/2012/12/extending-existing-android-applications.html

Fondamentalmente tu:

  1. Utilizzare apktoolper estrarre i file di risorse dall'apk
  2. Utilizzare dex2jarper ottenere un file jar che contiene le classi in un formato che piacerà a Eclipse.
  3. Crea un progetto Eclipse puntandolo ai file di risorse e al nuovo file jar
  4. Apri il file jar con un'utilità zip ed elimina le risorse esistenti
  5. Apri il file jar con JDGuiper visualizzare il codice sorgente
  6. Prendi qualsiasi codice sorgente di cui hai bisogno JDGui, incollalo in una classe all'interno di Eclipse e modificalo
  7. Elimina quella classe dal file jar (quindi non hai la stessa classe definita più volte)
  8. Eseguirlo.

2
So che questa domanda ha ancora una risposta, vorrei passare un'informazione: esiste un decompilatore online per apk Android decompileandroid.com Carica l'apk dal computer locale, attendi qualche istante, scarica il codice sorgente in formato zip.
Snehal Masne,

2
Suona bene. E poi il sito web decompileandroid ha anche una copia di tutta la tua fonte! Intelligente!
DDSports,

Una domanda, ho un apk decompilato ma in jd gui non so se ci sono le vere classi di java, sai se un apk è decompilato ci sono le vere classi Java?

21

apktool funzionerà. Non è nemmeno necessario conoscere il keystore per estrarre il codice sorgente (che è un po 'spaventoso). Il principale svantaggio è che l'origine è presentata in formato Smali anziché Java. Altri file come l'icona e main.xml sono perfetti e potrebbe valere la pena di recuperarli. Alla fine, molto probabilmente dovrai riscrivere il tuo codice Java da zero.

Puoi trovare apktool qui . Basta scaricare apktool e l'helper appropriato (per Windows, Linux o Mac OS). Consiglio di utilizzare uno strumento come 7-zip per decomprimerli.


16

Ci sono alcuni modi per farlo:

  1. Utilizzare la funzionalità "APK profilo o debug" in Android Studio 3.0.

    Ti consente di aprire ed esplorare APK in Android Studio. Le lezioni sono decompilate in smali. Le risorse non vengono estratte e cose come "Vai alla definizione", "Trova tutti i riferimenti" e il debug non funzionano senza il codice sorgente (Android Studio 3.0 Canary 9). Alcune funzionalità aggiuntive di smali potrebbero funzionare con smalidea .

    Android-studio

    seleziona il file

    codice

  2. Usa jadx .

    Jadx decompila il codice in un determinato APK in file sorgente Java.

    jdax-img

  3. Usa apktool .

    Apktool è uno strumento da riga di comando che estrae risorse e decompila il codice in smali per un determinato apk. Puoi ricompilare usando anche apktool. Ecco un esempio in azione:

    $ apktool d test.apk
    I: Using Apktool 2.2.4 on test.apk
    I: Loading resource table...
    I: Decoding AndroidManifest.xml with resources...
    I: Loading resource table from file: 1.apk
    I: Regular manifest package...
    I: Decoding file-resources...
    I: Decoding values */* XMLs...
    I: Baksmaling classes.dex...
    I: Copying assets and libs...
    I: Copying unknown files...
    I: Copying original files...
    $ apktool b test
    I: Using Apktool 2.2.4 on test
    I: Checking whether sources has changed...
    I: Smaling smali folder into classes.dex...
    I: Checking whether resources has changed...
    I: Building resources...
    I: Building apk file...
    I: Copying unknown files/dir...

Ho provato jadx, ma anche con un semplice helloworld, sebbene lo decompili in java, tuttavia, tentando di aprire il progetto in Android Studio e compilarlo di nuovo in apk, fallisce per molte ragioni (file di duplicazione, ecc.). Esiste un metodo che crea java che può essere compilato in apk?
riscatto

1
@ransh In genere utilizzo jadx per leggere il codice, quindi apktool per modificare il codice. apktool non crea java ma consente la ricompilazione.
0xcaff,

0xcaff, grazie per il chiarimento. questo ha senso adesso. Perché cercare di compilare un java di decompilazione in Android Studio, non funzionava.
riscatto


7

Ti mostrerò un altro modo per decompilare i file .apk .

Puoi seguire i primi 2 passi da " prankul garg ". Quindi hai un'altra opportunità:

Step 3 ':

Scarica "JD-GUI" , è facile trovarlo. Apri il tuo file .jar in "jd-gui.exe". (File> Apri file> 'trova il tuo file .jar '). Dopo questa procedura, è possibile salvare tutte le risorse in un file .zip .

Così,

1 °: devi rinominare il file .apk in .zip

2 ° - È necessario decodificare .dex file (se si desidera, decodificare il .apk file dex2jar , che è possibile)

3 ° - Devi decodificare il file .jar con JD-GUI


20
Cosa fornisce questa risposta che gli altri non fanno?
Jørgen R,

Non è necessario rinominarlo in zip. Potrei aprire il file apk direttamente con 7-zip.
miva2,

7

Sotto lo strumento ONLINE :

http://www.javadecompilers.com/apk

fa TUTTO con un clic: file .java decompilati + risorse + xml (in un file .zip) con un ottimo decompilatore (jadx restituisce il codice java in luoghi / funzioni in cui altre compilazioni restituiscono commenti all'interno di funzioni come "incapace di decompilare" o alcune assemblatore android / codice macchina)


sì, questo è fantastico, ma invece dei nomi delle funzioni, ha cambiato tutti i nomi delle funzioni in CS1001 e così via. Quindi, come riconoscerli. e una cosa in più, possiamo usare questo apk decompilato direttamente come nostro progetto Android Studio, funzionerà?
Zia Ur Rahman,

quindi per quale scopo utilizziamo per decompilare alcuni apk, se non possiamo usare la loro funzionalità nelle nostre app.
Zia Ur Rahman,

@ZiaUrRahman Non lo so. Tuttavia, nel mio caso, decompilo il codice per analizzare l'algoritmo. Verifichi che il codice decompilato da quello strumento possa essere compilato da Android Studio in modo completamente automatico - o abbia bisogno di un po 'di "elaborazione umana"?
Kamil Kiełczewski,

1
Ho importato il progetto decompilato in Android Studio, ma No Gradle lì e il progetto ha molti file ma non ho capito fino a quando non lo abbiamo eseguito. Semplicemente non ha funzionato. Ho bisogno di rendere il progetto decompilato completamente funzionale in Android Studio e quindi ottenere alcune funzionalità di base di alcuni, quindi voglio usarlo / incorporarlo nel mio progetto. Quindi esiste un modo per farlo?
Zia Ur Rahman,

6

Questo sito https://www.apkdecompilers.com/ lo ha fatto automaticamente.

Ho provato prima il sito indicato nella risposta accettata, ma non ha funzionato per me.


non sono riuscito a recuperare il mio codice sorgente Java ... sembra qualcosa come file allegato e ..
iman kazemayni

@imankazemayni nel link sopra, "sfoglia" il tuo file APK e fai clic su "Decompila APK". Ci vorrà del tempo e quindi dovrebbe darti il ​​codice sorgente, se il codice non è crittografato.
M. Usman Khan,

conosci l'impatto di multidex sulla crittografia?
iman kazemayni,

6

Personalmente consiglio Show Java Android App per ottenere il codice sorgente. Puoi scaricarlo dal Play Store o da qui


Principalmente compilatori online non funzionano, ma questa app funziona. Grazie
Sunil

4

Apktool per applicazioni Android binarie di ingegneria inversa di terze parti, chiuse.

Può decodificare le risorse in una forma quasi originale e ricostruirle dopo aver apportato alcune modifiche.

Rende possibile il debug del codice smali passo dopo passo. Inoltre semplifica il lavoro con un'app grazie alla struttura di file simile a un progetto e all'automazione di alcune attività ripetitive come la creazione di apk, ecc.

http://ibotpeaches.github.io/Apktool/


3

apktool è la strada da percorrere. Esiste anche il servizio di apktool online: http://www.javadecompilers.com/apktool

Ovviamente, esistono alcune limitazioni a causa della "natura online" del servizio: è possibile estrarre e ricercare risorse e file manifest, ma al momento è impossibile ricompilare l'applicazione.

Tuttavia, questo è un modo semplice per "aprire" l'applicazione Android.


3

Puoi provare DexPatcher . Si integra persino con Android Studio. Utilizza internamente Apktool e Dex2Jar .
Puoi anche usare quegli strumenti in modo indipendente. Apktool decompila apk ed estrae i file .dex, che possono essere ulteriormente convertiti in jar usando Dex2Jar. Jar può essere decompilato usando JD-GUI . Puoi vedere il codice Java con l'aiuto di quello strumento. Sebbene la somiglianza del codice decompilato con il codice effettivo non possa essere garantita. Ci sono alcuni strumenti avanzati di offuscamento del codice disponibili sul mercato, che confondono il codice per rendere difficile la decompilazione / comprensione. per esempio. Proguard


Ciao Come usare DexPatcher con Android Studio?
ravi152,

Non riesco a spiegare tutto nei commenti. Google è tuo amico :) Ci sono anche dei bei tutorial su YouTube.
Lakshmikant Deshpande,

2

in base alle tue condizioni, se il tuo apk android:

Condizione 1: NON indurire (di Tencent Legu / Qihoo 360 / ...)

Scelta1: utilizzo del servizio online

ad esempio:

utilizzando www.javadecompilers.com

vai a:

per decodificare automaticamente da apk a java sourcecode

passaggi:

uploadfile apk + clic Run+ attendere qualche tempo + fare clic Downloadper ottenere zip + decomprimere ->

sources/com/{yourCompanyName}/{yourProjectName}

è il codice sorgente Java previsto

Choice2: decompilare / crack da soli

utilizzare lo strumento correlato per decompilare / crackare da soli:

usa jadx/ jadx-guiconverti apkinjava sourcecode

scarica jadx-0.9.0.zip quindi decomprimilo per ottenere bin/jadx, quindi:

  • modalità riga di comando:
    • in esecuzione terminale: jadx-0.9.0/bin/jadx -o output_folder /path_to_your_apk/your_apk_file.apk
    • output_folder mostrerà decodificato sourceseresources
      • sources/com/{yourCompanyName}/{yourProjectName} è il tuo previsto java sourcecode
  • Modalità GUI
    • doppio clic per eseguire jadx-0.9.0/bin/jadx-gui(Linux jadx-gui.sh/ Windows jadx-gui.bat)
    • apkfile aperto
    • decodificherà automaticamente -> vedrai il tuo codice sorgente Java previsto
    • save all o save as Gradle project

per esempio:

Condition2: harden (di Tencent Legu / Qihoo 360 / ...)

il metodo principale di 3 steps:

  1. apk/app to dex
  2. dex to jar
  3. jar to java src

spiegazione dettagliata:

Passo 1: apk/app to dex

usa lo strumento ( FDex2/ DumpDex) dump / hook out (uno o più) dexfile dall'app in esecuzione

passaggi:

preparare l'ambiente

scaricare dexdall'app in esecuzione

  • esegui FDex2quindi fai clic sul tuo nome apk per abilitare successivamente a catturare / agganciare dex

  • (nel telefono / emulatore) esegui la tua app
  • trova e copia il dump di intere risorse apk in /data/data/com/yourCompanyName/yourProjectName
    • nella sua cartella principale normalmente troverai diversi dexfile

Passo 2: dex to jar

usa tool ( dex2jar) converti (lo specifico, contenente la logica dell'app) da dexfile a jarfile

scaricare dex2jar ottenuto dex-tools-2.1-SNAPSHOT.zip , decomprimere ottenuto dex-tools-2.1-SNAPSHOT/d2j-dex2jar.sh, quindi

sh dex-tools-2.1-SNAPSHOT/d2j-dex2jar.sh -f your_dex_name.dex

per esempio:

dex-tools-2.1-SNAPSHOT/d2j-dex2jar.sh -f com.xxx.yyy8825612.dex
dex2jar com.xxx.yyy8825612.dex -> ./com.xxx.yyy8825612-dex2jar.jar

Fase 3: jar to java src

utilizzare uno degli strumenti:

convertire jarinjava src

per dall'effetto di conversione da jar a java src:

Jadx> Procyon> CRF>>JD-GUI

quindi consigliamo l'uso: Jadx/jadx-gui

passaggi:

  • fare doppio clic per eseguire jadx-gui
  • dexfile aperto
  • File -> save all

per esempio:

esportato java src:


Una spiegazione più dettagliata può vedere il mio tutorial cinese di ebook online :


2

Android Studio ti offre la possibilità di analizzare qualsiasi file apk.

1 - Dal menu di creazione scegli l'opzione analizza apk e seleziona il file apk. 2 - Ciò comporterà il file classes.dex e altri file. 3 - Fare clic su classes.dex che fornirà l'elenco di cartelle, pacchetti, librerie e file. 4 - Da e le impostazioni di Android Studio installano un plug-in chiamato "Dex to Jar" 5 - fai clic su qualsiasi file di attività del progetto estratto e scegli Dex to Jar dal menu di creazione.

Ciò comporterà il codice effettivo del file java.

Saluti.


1

Il modo più semplice è usare Apk OneClick Decompiler. Questo è un pacchetto di strumenti per decompilare e disassemblare gli APK (pacchetti Android).

CARATTERISTICHE

  • Tutte le funzionalità sono integrate nel menu di scelta rapida di Windows.
  • Decompilare le classi APK in codici sorgente Java.
  • Disassembla APK per smali code e decodifica le sue risorse.
  • Installa APK sul telefono facendo clic con il tasto destro.
  • Ricompila APK dopo aver modificato il codice smali e / o le risorse. Durante la ricompilazione:
  • Ottimizza immagini png
  • Iscriviti apk
  • Zipalign

REQUISITI

Java Runtime Environment (JRE) deve essere installato.

Puoi scaricarlo da questo link Apk OneClick Decompiler

Divertiti.


1

Ho trovato il seguente come metodo più semplice:

  1. Rinomina il tuo app.apk in app.zip (Cambia l'estensione da apk a zip)
  2. Estrarre il file zip in una cartella
  3. Utilizzare lo strumento JADX per leggere il codice sorgente, presente nel file classes.dex.

1

C'è un'app per questo e generalmente richiede solo pochi clic e il gioco è fatto. https://github.com/Nuvolect/DeepDive-Android

  1. Seleziona App, in "App installate" seleziona la tua app. In caso contrario, è possibile caricare l'APK.
  2. Seleziona "Estrai APK"
  3. Seleziona "Unpack APK"
  4. Seleziona "Decompila con Jadx". Questa operazione può richiedere alcuni secondi o alcuni minuti a seconda della velocità del dispositivo

Dopodiché puoi sfogliare il codice sorgente, scaricarlo su un altro computer con elFinder o cercarlo usando Lucene.

Oltre a Jadx ha decompilatori CFR e Fernflower.


0

Mi sto facendo impazzire da giorni cercando di far funzionare dex2jar su un laptop fedora 31 contro un apk che non funzionava. Questo script di Python 3 ha funzionato in pochi minuti e l'installazione di jd-gui ha reso leggibili i file di classe.

http://java-decompiler.github.io/

https://github.com/Storyyeller/enjarify

in particolare, ecco cosa ho eseguito:

# i installed apktool before the rest of the stuff, may not need it but here it is
$> cd /opt
$> sudo mkdir apktool
$> cd apktool/
$> sudo wget https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/linux/apktool
$> sudo wget https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.4.1.jar
$> sudo mv apktool_2.4.1.jar apktool.jar
$> sudo mv apktool* /usr/bin/
$> sudo chmod a+x /usr/bin/apktool*

# and enjarify
$> cd /opt
$> sudo git clone https://github.com/Storyyeller/enjarify.git
$> cd enjarify/
$> sudo ln -s /opt/enjarify/enjarify.sh /usr/bin/enjarify

# and finally jd-gui
$> cd /opt
$> sudo git clone https://github.com/java-decompiler/jd-gui.git
$> cd jd-gui/
$> sudo ./gradlew build

# I made an alias to kick of the jd-gui with short commandline rather than long java -jar blahblahblah :)
$> echo "jd-gui='java -jar /opt/jd-gui/build/launch4j/lib/jd-gui-1.6.6.jar'" >> ~/.bashrc

Ora si dovrebbe essere in grado di rumare il seguente per ottenere i file di classe:

$> enjarify yourapkfile.apk

E per avviare jd-gui:

$> jd-gui

Quindi apri i tuoi file di classe!



0

Utilizzare questo strumento http://www.javadecompilers.com/

Ma recentemente, una nuova ondata di decompilatori è stata lanciata sul mercato: Procyon, CFR, JD, Fernflower, Krakatau, Candle.

Ecco un elenco di decompilatori presentati su questo sito:

CFR - Gratuito, nessun codice sorgente disponibile, http://www.benf.org/other/cfr/ Autore: Lee Benfield

Decompilatore molto aggiornato! CFR è in grado di decompilare le moderne funzionalità Java - moduli Java 9, Java 8 lambdas, switch di stringhe Java 7 ecc. Sarà persino in grado di convertire decentemente i file di classe da altri linguaggi JVM in java!

JD - gratuito solo per uso non commerciale, http://jd.benow.ca/ Autore: Emmanuel Dupuy

Aggiornato nel 2015. Ha una propria interfaccia visiva e plugin per Eclipse e IntelliJ. Scritto in C ++, molto veloce. Supporta Java 5.

Procyon - open-source, https://bitbucket.org/mstrobel/procyon/wiki/Java%20Decompiler Autore: Mike Strobel

Fernflower - open-source, https://github.com/fesh0r/fernflower Autore: Egor Ushakov

Aggiornato nel 2015. Decompilatore analitico Java molto promettente, ora diventa parte integrante di IntelliJ 14. ( https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler ) Supporta Java fino alla versione 6 (Annotazioni, generici, enumerazioni)

JAD - dato qui solo per motivi storici. Gratuito, nessun codice sorgente disponibile, mirror download jad Autore: Pavel Kouznetsov

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.