Công cụ dịch ngược File cài đặt .APK của Android


Trong bài viết này tôi sẽ cung cấp cho các bạn một cách đơn giản để dịch ngược (reverse) file *.APK của hệ điều hành  Android thành code java.
Công cụ :
dex2jar (link : http://code.google.com/p/dex2jar) dùng để dịch ngược file .APK thành file .JAR
jd-gui (link : http://java.decompiler.free.fr/?q=jdgui#downloads ) để đọc code java từ file JAR
(Chú ý: Khi giải nén file JAR ra, bạn sẽ thu được các lớp dưới dạng các file *.class, là dạng bytecode. Bạn cũng có thể sử dụng bất cứ công cụ Java Decompiler nào để đọc file JAR, ví dụ như  DJ Java Decompiler)
Thực hiện:
Bước 1: Giải nén dex2jar. Mở CMD (command prompt) của windows, chỉ đến đường dẫn của dex2jar (có chứa file dex2jar.bat)
Bước 2: Copy file APK cần giải nén vào thư mục đó (Nếu để ở thư mục khác thì khi gõ lệnh bạn phải gõ đường dẫn tuyệt đối của file APK). Tại cửa sổ CMD gõ lệnh : dex2jar.bat <Tên file.apk>
Ví dụ : C:\\dex2jar\dex2jar.bat exam1.apk
Chương trình sẽ sinh ra một file exam1.JAR
Bước 3: Mở file JAR này bằng JD-GUI, bạn sẽ thấy được code java của chương trình.
Tuy nhiên, việc reverse này không đảm bảo toàn vẹn code, có nghĩa là bạn dịch ngược xong mang vào NetBean hay Eclipse không phải lúc nào cũng build được. Chúng ta chỉ sử dụng để tham khảo cấu trúc của chương trình.
Để chống việc bị reverse code, bạn có thể sử dụng kĩ thuật obfuscate code hoặc anti-reverse, hoặc mã hóa bất đối xứng,…

Like