Làm cách nào để dịch ngược tệp APK hoặc DEX trên nền tảng Android? [đóng cửa]


137

Có thể dịch ngược gói APK hoặc tệp DEX trên nền tảng Android không? Có công cụ nào có thể dịch ngược tệp APK không?


bạn có nghĩa là bằng lập trình?
Lucifer

Liên kết này có mọi câu trả lời mà bạn cần. stackoverflow.com/questions/12732882/
Mạnh

có rất nhiều trong cửa hàng Play ai đó có thể tìm kiếm nó ..
MarmiK

Câu trả lời:


163

Bạn cần Ba công cụ để decompile an APKnộp.

  1. Dex2jar - Công cụ để làm việc với các tệp android .dex và java. Class

  2. ApkTool - Một công cụ cho các tệp apk Android kỹ thuật đảo ngược

  3. JD-GUI - Trình dịch ngược Java là một công cụ để dịch ngược và phân tích mã Java 5 byte mã byte và các phiên bản mới hơn.

để biết thêm cách sử dụng-dextojar . Hy vọng điều này sẽ giúp bạn và tất cả! :)


Tôi nghĩ rằng tất cả các công cụ này chạy trong nền tảng windows. Tôi có thể nhập các tệp jar này vào dự án Android của mình và sau đó chạy trong nền tảng Android
user3151261

Rupesh Yadav @ Trong quá trình này, một số mã dòng bị khớp với mã gốc. www.decompileandroid.com/ từ trang web này tôi có thể dịch ngược mã của mình nhưng cả hai mã đều khác nhau tại sao?
Shailendr singh

1
@Shailendrsingh ở trên là quy trình chuẩn để dịch ngược APK và trong trường hợp khi tính năng obfuscation được bật trong ứng dụng, mã lớp dịch ngược có thể khác nhau.
Rupesh Yadav

ok nếu obfuscation được kích hoạt trong app. Làm thế nào tôi có thể nhận được mã gốc được viết trong ứng dụng?
Shailendr singh

2
@Shailendrsingh chỉ có thể nếu bạn đang có tệp ánh xạ ngược, nếu không thì không thể lấy 100% ra khỏi tệp APK.
Rupesh Yadav

32

Trình dịch ngược APK trực tuyến http://www.decompileandroid.com/
http://www.javadecompilers.com/
Ứng dụng dịch ngược APK cho Windows http://forum.xda-developers.com/showthread.php?t=2493107

Cập nhật 2015/12/04
ClassyShark bạn có thể mở tệp APK / Zip / Class / Jar và phân tích nội dung của chúng. https://github.com/google/android-classyshark


3
Rất tiếc, DecompileAndroid không dịch ngược chuỗi chính xác
goRGon

ProGuard loại bỏ hoàn toàn R $ string. Class, nhưng trình dịch ngược Android có thể cấu trúc lại tất cả thông tin từ resource.arsc. Tôi nghĩ DecompileAndroid này chưa thực hiện loại chức năng phức tạp này
Jacky


5

Một APK chỉ ở zipđịnh dạng. Bạn có thể giải nén nó như bất kỳ .ziptập tin khác .

Bạn có thể dịch ngược .dextệp bằng dexdumpcông cụ được cung cấp trong SDK Android.

Xem https://stackoverflow.com/a/7750547/116938 để biết thêm thông tin về dex.


5

Bạn có thể dịch ngược apk trên thiết bị Android bằng cách này: https://play.google.com/store/apps/details?id=com.njlabs.showjava

Để biết thêm thông tin, hãy xem tại đây: http://forum.xda-developers.com/showthread.php?t=2601315

EDIT: 28-02-2015

Để dịch ngược apk, bạn có thể sử dụng công cụ này: https://apkstudio.codeplex.com/license

Nếu điều đó không giúp kiểm tra liên kết này


Các ứng dụng không bao giờ làm việc cho tôi. Nó vô cùng cố gắng thực hiện "Dịch ngược sang java" và chúng thường gặp sự cố ..
goRGon

sau đó bạn nên làm theo câu trả lời này stackoverflow.com/a/23924665/2736039 các giải pháp này hoạt động rất tốt
Ultimo_m

giải pháp đó có một vấn đề khác - xem bình luận của tôi ở đó;)
goRGon

Tôi biết vấn đề đó và để giải quyết rằng tôi sử dụng Apk Tool. Nhiều như tôi biết bạn không thể tìm thấy một công cụ làm tất cả công việc. Bạn phải sử dụng tất cả chúng :)
Ultimo_m

kiểm tra câu trả lời đã chỉnh sửa của tôi Tôi đã tìm thấy một công cụ mới
Ultimo_m

5

http://www.decompileandroid.com /

Trang web này sẽ dịch ngược mã được nhúng trong tệp APK và trích xuất tất cả các tài sản khác trong tệp.


2
trang web rất đẹp! Tôi đã sử dụng nó trong một năm. Ngoài ra còn có giải pháp thay thế: javadecompilers.com/apk , sử dụng cách tiếp cận khác (Jadx thay vì Dex2jar + Jad)
Andrew Rukin

@JqueryNinja kiểm tra thay thế này - stackoverflow.com/a/27981520/3879847
Ranjith Kumar

@RanjithKumar javadecompilers.com/apk sau khi chờ đợi hàng giờ trong hàng đợi, trang web đã dịch ngược apk của tôi. Tuy nhiên, một số lớp java đã bị mất. Không có sự thay thế nào khác?
iOSAndroidWindowsMobileAppsDev

@JqueryNinja sử dụng apk showjava. Điều này là tốt hơn so với những người khác. nhưng quảng cáo thì nhiều hơn .. play.google.com/store/apps/details?id=com.njlabs.showjava
Ranjith Kumar

@RanjithKumar showjava sử dụng javadecompilers.com/apk hoặc jadx không dịch ngược tất cả các lớp java
iOSAndroidWindowsMobileAppsDev

3

Bạn cũng có thể sử dụng apktool: http://ibotpeaches.github.io/Apktool/ cũng sẽ cung cấp cho bạn các tệp res xml. Cùng với đó, bạn cũng có thể sử dụng hệ thống dex2jar sẽ xuất tệp dex trong apk sang tệp jar có thể được mở bằng JD-GUI và xuất sang tệp java tiêu chuẩn.


0

Ngoài ra, bạn có thể sử dụng Android Multitool. Bạn có thể thực hiện các thay đổi nhỏ trong ứng dụng như ẩn các thành phần GUI hoặc sửa đổi phần nhỏ của Logic và xây dựng lại apk. Nó dễ sử dụng và dịch ngược / biên dịch lại các tệp apk và jar. Đây là Liên kết bạn có thể kiểm tra.

Chúc mừng

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.