Bagaimana cara mendekompilasi file APK atau DEX di platform Android? [Tutup]

143

Apakah mungkin untuk mendekompilasi paket APK atau file DEX di platform Android? Apakah ada alat yang dapat mendekompilasi file APK?

pengguna3151261
sumber
yang Anda maksud dengan secara terprogram?
Lucifer
Tautan ini memiliki setiap jawaban yang Anda butuhkan. stackoverflow.com/questions/12732882/…
Mandar Kakade
ada banyak di Play store seseorang dapat mencarinya ..
MarmiK

Jawaban:

167

Anda membutuhkan Tiga Alat untuk decompile an APKmengajukan.

  1. Dex2jar - Alat untuk bekerja dengan file .dex android dan java .class

  2. ApkTool - Alat untuk rekayasa balik file apk Android

  3. JD-GUI - Java Decompiler adalah alat untuk mendekompilasi dan menganalisis “kode byte” Java 5 dan versi yang lebih baru.

untuk mengetahui lebih lanjut cara menggunakan dextojar . Semoga ini bisa membantu Anda dan semuanya! :)

Rupesh Yadav
sumber
Saya pikir semua alat ini berjalan di platform windows. dapatkah saya mengimpor file jar ini ke proyek android saya dan kemudian menjalankannya di platform android
user3151261
Rupesh Yadav @ Dalam proses ini beberapa kode baris tidak sesuai dengan kode aslinya. www.decompileandroid.com/ dari web ini saya dapat mendekompilasi kode saya tetapi kedua kode itu berbeda mengapa?
Shailendr singh
1
@Shailendrsingh di atas adalah proses standar untuk mendekompilasi APK dan jika obfuscation diaktifkan di aplikasi, kode kelas yang didekompilasi mungkin berbeda.
Rupesh Yadav
ok jika obfuscation diaktifkan di app. bagaimana saya bisa mendapatkan kode asli yang tertulis di aplikasi?
Shailendr singh
2
@Shailendrsingh hanya mungkin jika Anda memiliki file pemetaan terbalik, jika tidak, tidak bisa 100% keluar dari file APK.
Rupesh Yadav
32

Dekompiler APK Online http://www.decompileandroid.com/
http://www.javadecompilers.com/
Aplikasi Decompiler APK untuk Windows http://forum.xda-developers.com/showthread.php?t=2493107

Perbarui 2015/12/04
ClassyShark Anda dapat membuka file APK / Zip / Class / Jar dan menganalisis isinya. https://github.com/google/android-classyshark

BM
sumber
3
DecompileAndroid sayangnya tidak mendekompilasi strings.xml dengan benar
goRGon
ProGuard sepenuhnya menghapus R $ string.class, tetapi pengurai Android dapat merekonstruksi semua informasi dari resources.arsc. Saya pikir DecompileAndroid ini belum menerapkan fungsi rumit semacam ini
LiangWang
11

Saya telah membuat alat yang menggabungkan dex2jar, jd-core dan apktool: https://github.com/dirkvranckaert/AndroidDecompiler Cukup periksa proyek secara lokal dan jalankan skrip seperti yang didokumentasikan dan Anda akan mendapatkan semua sumber daya dan sumber yang didekompilasi.

dirkvranckaert
sumber
6

APK hanya dalam zipformat. Anda dapat mengekstraknya seperti .zipfile lainnya .

Anda dapat mendekompilasi .dexfile menggunakan dexdumpalat yang disediakan di Android SDK.

Lihat https://stackoverflow.com/a/7750547/116938 untuk info dex selengkapnya.

Austyn Mahoney
sumber
"APK hanya dalam format zip" , benar tetapi banyak file termasuk yang AndroidManifest.xmltidak di-unzip dengan benar dan tidak dapat dibaca ...
Ben Winding
5

Anda dapat mendekompilasi apk di perangkat Android menggunakan ini: https://play.google.com/store/apps/details?id=com.njlabs.showjava

Untuk info lebih lanjut lihat di sini: http://forum.xda-developers.com/showthread.php?t=2601315

EDIT: 28-02-2015

Untuk mendekompilasi apk, Anda dapat menggunakan alat ini: https://apkstudio.codeplex.com/license

Jika itu tidak membantu, periksa tautan ini

Ultimo_m
sumber
Aplikasi itu tidak pernah berhasil untuk saya. Itu terus mencoba untuk melakukan "Decompiling to java" dan mereka biasanya macet ..
goRGon
maka Anda harus mengikuti jawaban ini stackoverflow.com/a/23924665/2736039 solusi ini bekerja dengan sangat baik
Ultimo_m
solusi itu memiliki masalah lain - lihat komentar saya di sana;)
goRGon
Saya tahu masalah itu dan untuk mengatasinya saya menggunakan Alat Apk. Sejauh yang saya tahu, Anda tidak dapat menemukan alat yang melakukan semua pekerjaan. Anda harus menggunakan semuanya :)
Ultimo_m
periksa jawaban saya yang diedit Saya telah menemukan alat baru
Ultimo_m
5

http://www.decompileandroid.com/

Situs web ini akan mendekompilasi kode yang disematkan dalam file APK dan mengekstrak semua aset lain di file tersebut.

Ranjith Kumar
sumber
2
situs web yang sangat bagus! Saya menggunakannya selama setahun. Ada juga alternatif: javadecompilers.com/apk , yang menggunakan pendekatan berbeda (Jadx bukan Dex2jar + Jad)
Andrew Rukin
@JqueryNinja periksa ini untuk alternatif - stackoverflow.com/a/27981520/3879847
Ranjith Kumar
@RanjithKumar javadecompilers.com/apk setelah menunggu berjam-jam dalam antrian, situs web melakukan decompile apk saya. Namun, beberapa kelas java hilang. Apakah tidak ada alternatif lain?
iOSAndroidWindowsMobileAppsDev
@JqueryNinja gunakan showjava apk. Ini lebih baik dari yang lain. tapi iklan lebih .. play.google.com/store/apps/details?id=com.njlabs.showjava
Ranjith Kumar
@RanjithKumar showjava menggunakan javadecompilers.com/apk atau jadx yang tidak mendekompilasi semua kelas java
iOSAndroidWindowsMobileAppsDev
3

Anda juga dapat menggunakan apktool: http://ibotpeaches.github.io/Apktool/ yang juga akan memberi Anda file xml res. Bersamaan dengan itu Anda juga dapat menggunakan sistem dex2jar yang akan mengeluarkan file dex dalam apk ke file jar yang dapat dibuka dengan JD-GUI dan diekspor ke file java standar.

w9jds
sumber
0

Anda juga dapat menggunakan Android Multitool. Anda dapat membuat perubahan kecil di aplikasi seperti menyembunyikan elemen GUI atau memodifikasi sebagian kecil Logika dan membangun kembali apk. Mudah digunakan dan mendekompilasi / mengkompilasi ulang file apk dan jar. Ini Tautannya yang dapat Anda bayar.

Bersulang

benar
sumber