Có cách nào để trích xuất và xem nội dung của tệp .apk không?
Có cách nào để trích xuất và xem nội dung của tệp .apk không?
Câu trả lời:
Trên thực tế, tệp apk chỉ là một kho lưu trữ zip, vì vậy bạn có thể thử đổi tên tệp thành theappname.apk.zip
và giải nén nó bằng bất kỳ tiện ích zip nào (ví dụ: 7zip).
Các androidmanifest.xml
tập tin và các nguồn lực sẽ được trích xuất và có thể được xem trong khi mã nguồn không phải là trong gói - chỉ là biên soạn .dex tập tin ( "Dalvik Executable")
Trong khi giải nén sẽ tiết lộ các tài nguyên, AndroidManifest.xml
sẽ được mã hóa.apktool
có thể - trong số rất nhiều thứ khác - cũng giải mã tệp này.
Để giải mã ứng dụng App.apk
vào thư mục App
, hãy chạy
apktool decode App.apk App
apktool
không được bao gồm trong Android SDK chính thức, nhưng có sẵn bằng cách sử dụng hầu hết các kho gói.
Ngoài ra còn có zzos . (Tiết lộ đầy đủ: Tôi đã viết nó). Nó chỉ dịch ngược các tài nguyên thực tế, không phải phần dex ( baksmali , mà tôi không viết, thực hiện một công việc tuyệt vời khi xử lý phần đó).
Zzos ít được biết đến hơn apktool, nhưng có một số APK được xử lý tốt hơn bởi nó (và ngược lại - sẽ có thêm thông tin sau). Hầu hết, APK chứa các loại tài nguyên tùy chỉnh (không phải công cụ sửa đổi) không được apktool xử lý vào lần cuối tôi kiểm tra và do zzos xử lý. Cũng có một số trường hợp thoát mà zzos xử lý tốt hơn.
Về mặt tiêu cực của mọi thứ, zzos (phiên bản hiện tại) yêu cầu một vài công cụ hỗ trợ để cài đặt. Nó được viết bằng perl (trái ngược với APKTool, được viết bằng Java) và sử dụng aapt để biên dịch thực sự. Nó cũng chưa dịch ngược tài nguyên thuộc tính (mà APKTool làm).
Ý nghĩa của tên là "aapt", trình biên dịch tài nguyên của Android, được chuyển xuống một chữ cái.
4 cách được đề xuất để mở tệp apk:
1. mở tệp apk bằng Android Studio (Đối với ảnh, mã java và phân tích kích thước) cách tốt nhất
2. mở bằng ứng dụng winRar, 7zip, v.v. (Chỉ để xem ảnh và ...)
3. sử dụng javadecompilers của trang web (Đối với ảnh và mã java)
4. sử dụng Công cụ APK (Đối với ảnh và mã java)
unzip my.apk
Điều này thực hiện thủ thuật từ dòng lệnh Linux vì định dạng APK chỉ là một tệp ZIP ở trên cùng.
Có một trình dịch ngược trực tuyến cho các apks android
http://www.decompileandroid.com/
Tải lên apk từ máy cục bộ
Đợi một chút
tải xuống mã nguồn ở định dạng zip.
Giải nén nó, bạn có thể xem tất cả các tài nguyên một cách chính xác nhưng tất cả các tệp java không được dịch ngược chính xác.
Để biết chi tiết đầy đủ, hãy truy cập câu trả lời này
Tùy thuộc vào lý do bạn muốn trích xuất APK, Trình phân tích APK có thể là đủ. Nó hiển thị cho bạn các thư mục và kích thước tệp. Nó cũng hiển thị số lượng phương pháp được nhóm theo gói mà bạn có thể xem chi tiết.
APK Analyzer được tích hợp sẵn trong Android Studio. Bạn có thể truy cập nó từ menu trên cùng, Xây dựng -> Phân tích APK.
Bạn cũng có thể sử dụng Jadx - https://github.com/skylot/jadx . Tôi đã sử dụng tất cả các công cụ được đề cập trong trang này và nhận thấy rằng Jadx hoạt động tốt nhất. Tệp kê khai và các tệp lớp khác được công cụ này chuyển đổi sang định dạng có thể đọc được nhiều nhất có thể.
PS - http://www.javadecompilers.com/apk cũng sử dụng trình dịch ngược jadx để thực hiện công việc tương tự khi trực tuyến. Đơn giản hơn nếu bạn muốn hủy lưu trữ một apk.
Chúc mừng!
Bạn cũng có thể xem nội dung của tệp APK trong chính thiết bị Android, điều này giúp ích rất nhiều trong việc gỡ lỗi.
Tất cả các tệp bao gồm tệp kê khai của một ứng dụng có thể được xem và cũng được chia sẻ bằng email, đám mây, v.v. mà không cần root. Ứng dụng có sẵn từ:
https://play.google.com/store/apps/details?id=com.dasmic.android.apkpeek
Tuyên bố từ chối trách nhiệm: Tôi là tác giả của ứng dụng này.
Trình quét APK có thể hiển thị thông tin của tệp APK trên PC.
Ngoài ra, có thể kéo một tệp apk từ thiết bị Android.
Và có thể được liên kết với các công cụ khác. (JADX-GUI, JD-GUI ...)