Tôi đã vô tình xóa dự án của mình khỏi Eclipse và tất cả những gì tôi còn lại là tệp APK mà tôi đã chuyển sang điện thoại của mình. Có cách nào để đảo ngược quá trình xuất một ứng dụng sang tệp .apk, để tôi có thể lấy lại dự án của mình không?
Tôi đã vô tình xóa dự án của mình khỏi Eclipse và tất cả những gì tôi còn lại là tệp APK mà tôi đã chuyển sang điện thoại của mình. Có cách nào để đảo ngược quá trình xuất một ứng dụng sang tệp .apk, để tôi có thể lấy lại dự án của mình không?
Câu trả lời:
Có hai công cụ hữu ích sẽ tạo mã Java (thô nhưng đủ tốt) từ tệp APK không xác định.
Sử dụng công cụ để chuyển đổi tệp APK sang JAR :
$ d2j-dex2jar.bat demo.apk
dex2jar demo.apk -> ./demo-dex2jar.jar
Khi tệp JAR được tạo, sử dụng JD-GUI để mở tệp JAR. Bạn sẽ thấy các tệp Java.
Đầu ra sẽ tương tự như:
d2j-dex2jar
thay thế (v0.0.9.15).
res
thư mục
res
thư mục chứa các tệp xml không thể đọc được
Mac
hợp bạn không thể sử dụng dex2jar: permission denied
thì hãy làm điều này $sudo chmod +x d2j-dex2jar.sh
Trước hết tôi khuyên bạn nên this
video này có thể xóa tan mọi nghi ngờ của bạn
Nếu không xin vui lòng đi qua nó
Procedure for decoding .apk files, step-by-step method:
Step 1:
Tạo một thư mục mới và đặt tệp .apk vào đó (mà bạn muốn giải mã). Bây giờ đổi tên phần mở rộng của .apk
tệp này thành .zip
(ví dụ: đổi tên từ filename.apk thành filename.zip) và lưu nó.
Nếu sự cố trong quá trình chuyển đổi thành .zip vui lòng tham khảo link
Sau khi nhận được .zip bây giờ bạn nhận được các tệp class.dex, v.v ... Ở giai đoạn này, bạn có thể thấy các tệp có thể rút được nhưng không phải là xml và java, vì vậy hãy tiếp tục. Nếu bạn không thấy các tiện ích mở rộng, hãy kiểm tra cấu hình
Step 2:
Bây giờ giải nén tập tin apk zip này trong cùng một thư mục. Bây giờ tải xuống dex2jar từ nàylink
và giải nén nó vào cùng một thư mục. Bây giờ hãy mở dấu nhắc lệnh và thay đổi thư mục vào thư mục đó.
Sau đó viết dex2jar classes.dex
và nhấn enter. Bây giờ bạn nhận được classes.dex.dex2jar
tập tin trong cùng một thư mục.
Sau đó tải xuống trình dịch ngược java
Và bây giờ, nhấp đúp chuột vào jd-gui và nhấp vào mở tệp. Sau đó mở classes.dex.dex2jar
tập tin từ thư mục đó. Bây giờ bạn có được các tệp lớp và lưu tất cả các tệp lớp này (nhấp vào tệp sau đó nhấp vào "lưu tất cả các nguồn" trong jd-gui) bằng tên src. Giải nén tập tin zip đó(classes_dex2jar.src.zip)
và bạn sẽ nhận được tất cả các tệp java của ứng dụng.
Ở giai đoạn này bạn có được nguồn java nhưng các tệp xml vẫn không thể đọc được, vì vậy hãy tiếp tục.
Step 3:
Bây giờ hãy mở một thư mục mới và đặt các tệp này
đặt tập tin .apk mà bạn muốn giải mã
tải Apktool cho windows v1.x
vàApktool
cài đặt cửa sổ bằng google và đặt vào cùng một thư mục
tải xuống tệp framework-res.apk bằng google và đặt vào cùng một thư mục (Không phải tất cả các tệp apk đều cần tệp framework-res.apk)
Mở một cửa sổ lệnh
Điều hướng đến thư mục gốc của APKtool và gõ lệnh sau:
apktool if framework-res.apk.
Lệnh trên sẽ dẫn đến Framework installed ...
.
Step 4:
Cuối cùng, chúng tôi đã nhận được res/
mã java cũng như dự án là mục tiêu của chúng tôi khi bắt đầu.
P.S.
Nếu bạn không thể lấy thư mục res theo các bước trên, vui lòng cài đặt mớiapktool
- Java 1.7 đã được cài đặt chưa? Cài đặt Apktool 2.x
- Được cài đặt Java 1.6 trở lên? Cài đặt Apktool 1.x
Enjoy and happy coding
apktool.jar
không phải trong cùng một gói, tôi đã nhận nó từ gói cũ và dán nó trong cùng một thư mục như apktool
.
Không có phần mềm & Không có quá nhiều bước ..
Chỉ cần tải lên APK của bạn và nhận tất cả tài nguyên của bạn từ trang web này ..
https://www.apkdecompilers.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.
lưu ý: Tôi dịch ngược tệp APK của mình và nhận mã trong một phút từ trang web này
Cập nhật 1 :
Tôi tìm thấy một trang web dịch ngược trực tuyến khác,
http://www.javadecompilers.com/apk/ - Không hoạt động liên tục yêu cầu chặn cửa sổ bật lên
Cập nhật 2:
Tôi tìm thấy ứng dụng dịch ngược apk trong cửa hàng chơi,
https://play.google.com/store/apps/details?id=com.njlabs.showjava
Chúng tôi có thể dịch ngược các tập tin apk trong điện thoại Android của chúng tôi. và chúng tôi cũng có thể xem các tệp java & xml trong ứng dụng này
Cập nhật 3:
Chúng tôi có thể sử dụng tùy chọn khác Phân tích tính năng APK từ phiên bản Android studio 2.2
Xây dựng -> Phân tích APK -> Chọn APK của bạn -> nó cho kết quả
Có một cách mới để làm điều này.
Android Studio 2.2 có Trình phân tích APK, nó sẽ cung cấp nhiều thông tin về apk, hãy kiểm tra tại đây: - http://android-developers.blogspot.in/2016/05/android-studio-22-preview-new-ui.html
Không hẳn vậy. Có một số bộ giải mã / bộ dịch ngược dex ngoài đó như smali hoặc dex2jar sẽ tạo ra đầu ra có thể đọc được (trong trường hợp của dex2jar, bạn có thể lấy mã java thông qua việc sử dụng một cái gì đó như JD-GUI nhưng quá trình này là không hoàn hảo và rất có thể bạn sẽ không thể tạo lại 100% mã nguồn của mình. Tuy nhiên, nó có khả năng cung cấp cho bạn một nơi để bắt đầu xây dựng lại cây nguồn của bạn.
Vâng, bạn có thể lấy lại dự án của bạn. Chỉ cần đổi tên yourproject.apk
tệp thành yourproject.zip
và bạn sẽ nhận được tất cả các tệp trong tệp ZIP đó. Chúng tôi đang thay đổi phần mở rộng tập tin từ .apk sang .zip. Từ tệp ZIP đó, giải nén classes.dex
tệp và dịch ngược tệp theo cách sau.
Trước tiên, bạn cần một công cụ để trích xuất tất cả các lớp (đã biên dịch) trên DEX sang JAR. Có một cái gọi là dex2jar , được tạo bởi một sinh viên Trung Quốc.
Sau đó, bạn có thể sử dụng JD-GUI để dịch ngược các lớp trong JAR thành mã nguồn. Mã nguồn kết quả phải khá dễ đọc, vì dex2jar áp dụng một số tối ưu hóa.
Đối với nền tảng Android, bạn có thể dùng thử ShowJava , có sẵn trên Play Store.
Bạn có thể tham khảo mã được tạo thông qua giao diện ứng dụng và cấu trúc tệp và thư mục java được tạo được lưu trữ trong ShowJava
thư mục /sdcard
bên cạnh .jar
tệp kết quả từ chuyển đổi.
Ứng dụng miễn phí với biểu ngữ quảng cáo ở cuối chế độ xem chính, nhưng có tùy chọn mua trong ứng dụng (3,99 $) để xóa ứng dụng. Mua trong ứng dụng không thêm bất kỳ chức năng nào bên cạnh việc xóa biểu ngữ quảng cáo.
Tiết lộ: Tôi không phải là nhà phát triển ứng dụng, tôi cũng không liên kết với anh ấy.
Thực hiện theo các bước dưới đây để làm điều này hoặc chỉ đơn giản là sử dụng đá quý apkToJava cho quy trình này, thậm chí còn chăm sóc cài đặt các công cụ cần thiết để nó hoạt động.
Nếu bạn đang tìm kiếm một sự thay thế chuyên nghiệp, hãy xem JEB Decompiler từ PNF Software.
Có một phiên bản demo sẽ cho phép bạn dịch ngược hầu hết mã.
Dưới đây là một số công cụ mà bạn có thể sử dụng để thực hiện kỹ thuật đảo ngược từ tệp APK sang mã nguồn:
Trong Android Studio 3.5, thật dễ dàng khi bạn có thể đạt được nó trong một phút. Sau đây là một quá trình khôn ngoan.
1: Mở Android Studio, nhấn nút cửa sổ -> Gõ Android Studio -> nhấp vào biểu tượng để mở màn hình giật gân của studio android sẽ giống như thế này.
2: Tại đây bạn có thể thấy tùy chọn "Hồ sơ hoặc gỡ lỗi APK" nhấp vào nó và chọn tệp apk của bạn và nhấn ok.
3: Nó sẽ mở tất cả các lớp kê khai và java của bạn trong một phút tùy thuộc vào kích thước của apk.
Đó là nó.
Hãy thử công cụ này: https://decompile.io , nó chạy trên iPhone / iPad / Mac