Hướng dẫn chèn code vào đoạn mã smali của file apk.
Hướng dẫn chèn code vào đoạn mã smali của file apk.
I. Mở đầu
_ Ứng dụng Android thường được viết bằng Java và thực thi trên Virtual Machine, byte code chạy trên Dalvik Virtual Machine (DVM) được chuyển đổi từ JVM byte code truyền thống sang dex-format(.dex file) bởi convertion tool dx (lưu trữ tại android-sdk/platforms/android-X/tools/lib/ với các phiên bản trước đây, ở phiên bản Android SDK mới nhất được lưu tại android-sdk/platform-tools/lib/).
_ Mã code thực thi trên DVM được gọi là mã Smali, có tập lệnh phức tạp giống như Assembly trên Windows. Để đọc và hiểu mã Smali là một việc không hề dễ dàng.
_ Việc chèn code java vào một ứng dụng Android có sẵn khá phức tạp do cấu trúc ngôn ngữ java khi decompile sẽ không được bảo toàn nguyên vẹn, khó có thể re-build lại ứng dụng để hoạt động bình thường.
_ Tuy nhiên, chèn code smali vào ứng dụng là một việc khả thi, ta hoàn toàn có thể re-build lại ứng dụng để chạy bình thường. Đây là cách thông dụng khi cần mod ứng dụng, ROM, …
_ Các hacker hoặc những người có ý đồ xấu hoàn toàn có thể chèn code smali vào ứng dụng nào đó nhằm thực hiện một hành vi độc hại nào đó.
II. Yêu cầu:
· Android SDK, virtual emulator hoặc 1 device thật
· JAVA SDK
· NotePad ++
· Nắm được kiến thức cơ bản về Android, cấu trúc file apk, tập lệnh smali
III. Các bước thực hiện
1. Dùng apktool hoặc công cụ baksmali disassemble file apk thành các file smali.
2. Phân tích code smali để biết cách hoạt động của ứng dụng
3. Chèn code vào file smali.
4. Thực hiện Reassemble file apk và zip/ sign apk.
I. Mở đầu
_ Ứng dụng Android thường được viết bằng Java và thực thi trên Virtual Machine, byte code chạy trên Dalvik Virtual Machine (DVM) được chuyển đổi từ JVM byte code truyền thống sang dex-format(.dex file) bởi convertion tool dx (lưu trữ tại android-sdk/platforms/android-X/tools/lib/ với các phiên bản trước đây, ở phiên bản Android SDK mới nhất được lưu tại android-sdk/platform-tools/lib/).
_ Mã code thực thi trên DVM được gọi là mã Smali, có tập lệnh phức tạp giống như Assembly trên Windows. Để đọc và hiểu mã Smali là một việc không hề dễ dàng.
_ Việc chèn code java vào một ứng dụng Android có sẵn khá phức tạp do cấu trúc ngôn ngữ java khi decompile sẽ không được bảo toàn nguyên vẹn, khó có thể re-build lại ứng dụng để hoạt động bình thường.
_ Tuy nhiên, chèn code smali vào ứng dụng là một việc khả thi, ta hoàn toàn có thể re-build lại ứng dụng để chạy bình thường. Đây là cách thông dụng khi cần mod ứng dụng, ROM, …
_ Các hacker hoặc những người có ý đồ xấu hoàn toàn có thể chèn code smali vào ứng dụng nào đó nhằm thực hiện một hành vi độc hại nào đó.
II. Yêu cầu:
· Android SDK, virtual emulator hoặc 1 device thật
· JAVA SDK
· NotePad ++
· Nắm được kiến thức cơ bản về Android, cấu trúc file apk, tập lệnh smali
· Apktool & baksmali/smali + Signer for all GB/ICS/JB/KK ROM v3 (4.4 Kitkat support/optimized) (
)
III. Các bước thực hiện
1. Dùng apktool hoặc công cụ baksmali disassemble file apk thành các file smali.
2. Phân tích code smali để biết cách hoạt động của ứng dụng
3. Chèn code vào file smali.
4. Thực hiện Reassemble file apk và zip/ sign apk.