E 'possibile decompilare un file .apk Android?
-
30-09-2019 - |
Domanda
Sono gli utenti in grado di convertire il file apk della mia schiena applicazione al codice vero e proprio? Se lo fanno - non v'è alcun modo per prevenire questo
?Soluzione
In primo luogo, un href="http://en.wikipedia.org/wiki/APK_%28file_format%29" rel="noreferrer"> apk file di è solo un file jar modificato. Quindi la vera domanda è che può decompilare il file DEX all'interno. La risposta è una sorta di. Ci sono già disassemblatori, come dedexer e Smali . Ci si può aspettare questi per ottenere solo meglio, e in teoria si dovrebbe alla fine essere possibile decompilare alla reale sorgente Java (almeno a volte). Vedere la domanda precedente decompilazione DEX in Java codice sorgente .
Ciò che bisogna ricordare è l'offuscamento non funziona mai. Scegliere una licenza bene e fare del tuo meglio per far rispettare attraverso la legge. Non perdere tempo con misure tecniche inaffidabili.
Altri suggerimenti
ApkTool Per visualizzare le risorse all'interno del file APK
- Estratti AndroidManifest.xml e tutto in cartella res (file di layout XML, immagini, HTMLs usati su WebView, ecc ..)
- comando:
apktool.bat d sampleApp.apk
- Nota: È possibile raggiungere questo obiettivo utilizzando utility zip come 7-zip. Ma, estrae anche il file .smali di tutti i file .class.
Utilizzo dex2jar
- Genera file .jar da file .apk, abbiamo bisogno di JD-GUI per visualizzare il codice sorgente da questo .jar.
- comando:
dex2jar sampleApp.apk
decompilazione .jar usando JD-GUI
- decompila i file .class (obfuscated- in un caso di app Android, ma un codice originale leggibile è ottenuto in un caso di altri file .jar). vale a dire, otteniamo .java indietro dall'applicazione.
Posso anche aggiungere che al giorno d'oggi è possibile decompilare applicazioni Android online, nessun software da installare!
Qui ci sono 2 opzioni per voi:
Scarica questo strumento jadx https://sourceforge.net/projects/jadx/files/
scompattarlo e poi in lib file di jadx-gui-run 0.6.1.jar cartella ora sfogliare il file apk. E 'fatto. Automaticamente apk sarà decompilare e salvarlo premendo il pulsante Salva. Spero che lavorerà per voi. Grazie
Codice A volte si ottiene rotto, quando si utilizza dex2jar
/ apktool
, in particolare nei cicli. Per evitare questo, utilizzare jadx , che di decompilare Dalvik bytecode in codice sorgente Java, senza creare un file .jar
/ .class
prima come dex2jar
fa (apktool usi dex2jar credo). E 'anche open-source e in fase di sviluppo. Dispone anche di una GUI, per gui-fanatici. Provalo!
sono gli utenti in grado di convertire il file apk della mia applicazione di nuovo al codice vero e proprio?
Sì.
Gli utenti possono utilizzare diversi strumenti per:
- Analisi: il tuo apk
- decodifica / incidere il vostro apk
- utilizzando
FDex2
per scaricare file di fuoridex
- quindi utilizzando
dex2jar
convertire injar
- quindi utilizzando
jadx
di conver al codice sorgentejava
- quindi utilizzando
- quindi utilizzando
- utilizzando
Se lo fanno? - non v'è alcun modo per prevenire questo
Sì. Diversi modi (può combinato) per prevenire (certo) questo:
- a basso livello: codice di offuscamento
- utilizzando
ProGuard
Android
- utilizzando
- di alto livello: utilizzare Android scenario indurire
Maggiori dettagli si può riferire il mio cinese tutorial: ?? ?? ??? ? ??