Tiếp theo, chúng tôi sẽ tiếp tục giải thích sự so sánh trước và sau khi dịch ngược file apk và ý nghĩa của các file. Chúng tôi sẽ sử dụng một ứng dụng tương đối đơn giản "SD Card Cleanup Tool" làm phần mềm giảng dạy cho hướng dẫn này. (Tệp đính kèm là phần mềm, bằng tiếng Anh)
A. Trước tiên chúng ta hãy xem cấu trúc tệp trước khi dịch ngược. Như trong hình:
B. Tiếp theo, hãy nói về hoạt động thực tế của quá trình dịch ngược, sau đó xem tệp được dịch ngược
Sau khi tải xuống công cụ được cung cấp [Công cụ biên dịch và dịch ngược APK v141] trong Khóa học tiếng Trung 1, tốt nhất là tạo một thư mục mới (có tên là apktool), sau đó đặt công cụ apktool vào thư mục và đặt APK cần được dịch ngược, tức là, công tắc phím tắt trên thanh thông báo notificationToggle, trong thư mục apktool và đổi tên nó thành 123. apk, sau đó nhấp vào apktool. v1.4.1 và làm theo lời nhắc ở trên để hoàn tất quá trình dịch ngược apk, biên dịch (biên dịch ngược), chữ ký và các hoạt động khác.
Vì phần giới thiệu thao tác trong công cụ đã rất chi tiết nên tôi sẽ không giải thích quá nhiều. Nếu xuất hiện giao diện sau nghĩa là bạn đã dịch ngược thành công:
C. Tiếp theo, chúng ta hãy xem sự khác biệt giữa tệp được dịch ngược và tệp gốc:
Bằng cách so sánh các tệp trước và sau khi dịch ngược, bạn có thể tìm thấy những thay đổi trong tệp.
D. Tiếp theo, chúng ta hãy tìm hiểu chung về chức năng của các tệp này:
Trong số đó, có hai thư mục là META-INF và res, cũng như AndroidManifest. xml, các lớp. dex và tài nguyên. Ba tệp arsc này được bao gồm trong mọi phần mềm, nghĩa là chúng cần thiết! Một số phần mềm có tài sản, còn một số thì không. Chúng chủ yếu lưu trữ một số tệp tài nguyên không có trong các chương trình thông thường mà chủ yếu có trong trò chơi. Một số phần mềm còn có các tệp khác, v.v. Thư mục
META-INF lưu trữ thông tin chữ ký, được sử dụng để đảm bảo tính toàn vẹn của gói apk và tính bảo mật của hệ thống. Thư mục
res lưu trữ các tệp tài nguyên. Phần mềm khác nhau có các thư mục khác nhau trong thư mục res. Nói chung, đó là thư mục
drawable (nơi chứa ảnh))
drawable-hdpi (thư mục chứa hình ảnh có độ phân giải cao)
layout (thư mục chứa tệp xml bố cục giao diện)
layout-hdpi (thư mục chứa tệp xml bố cục giao diện có độ phân giải cao). Điều này không được bao gồm trong chương trình này. Tìm thấy trong nhiều chương trình)
menu (không tìm thấy thư mục chứa một số tệp menu trong chương trình này, nhưng được tìm thấy trong nhiều chương trình)
raw (thư mục lưu trữ tài liệu trợ giúp hoặc các tài nguyên khác, chẳng hạn như help.html; clock.zip, không tìm thấy trong chương trình này)
xml ( Thư mục chứa một số tệp xml khác)
Đối với ví dụ [Công cụ dọn dẹp thẻ SD] trong hướng dẫn này, chỉ có andmin, drawable, drawable-hdpi, bố cục, menu, giá trị, và các tập tin xml.
drawable Thư mục này thường lưu trữ hình ảnh trong phần mềm. Nếu bạn muốn sửa đổi hình ảnh bằng một số phần mềm, bạn nên tìm nó ở đây! Nói chung, những hình ảnh cần sửa đổi có thể được tìm thấy trong thư mục này đối với một số trò chơi nhỏ.
Các thư mục khác lưu trữ một số tệp XML và cũng sẽ có những chỗ cần được Trung Quốc hóa.
AndroidManifest. xml là tệp XML chính, phải được xác định và đưa vào trong mọi ứng dụng. Nó mô tả tên, phiên bản, quyền, tệp thư viện được tham chiếu và thông tin khác của ứng dụng. Về cơ bản, không cần phải Trung Quốc hóa nó, nhưng tên phần mềm của từng phần mềm hoặc các từ riêng lẻ sẽ tồn tại trong XML chính này!
các lớp học. dex là tệp mã byte java được tạo sau khi biên dịch mã nguồn java. Theo thuật ngữ thông thường, nó là tệp mã nguồn của toàn bộ phần mềm.
Phiên bản tiếng Trung chính của APKTOOL là (hình bên dưới)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Lưu ý: Phần mềm dịch ngược (có nhiều phiên bản apktool) Hướng dẫn này lấy công cụ biên dịch và dịch ngược APK v141 làm ví dụ.