APKtools: Analysis .apk file

Debug APK file

apktool d <apk file to unpack> --no-res

Build APK file from APK folder:

Sau khi Unpack file APK thì Pack nó lại như sau:

apktool b <folder debugged> -o <output>
------------------------------------------------------
Ex: 
apktool b ./four -o recompiled/recompiled_four.apk

Sau khi Pack lại thì assign cho apk file 1 key được gen bằng tool keytool:

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

Sử dụng key đó assign cho apk file.

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore my_application.apk alias_name

Hoặc có thể làm như sau:

wget https://github.com/patrickfav/uber-apk-signer/releases/download/v1.1.0/uber-apk-signer-1.1.0.jar
java -jar uber-apk-signer-1.1.0.jar --apks recompiled #recompiled là folder chứa tệp apk đã được rebuild

Sau khi thành công ta sẽ nhận được 1 tệp: recompiled_four-aligned-debugSigned.apk

Trường hợp build lại được dùng khi bạn đã chỉnh sửa code trong /smali/com/... và muốn build lại 1 file apk mới được sửa từ folder đã debug và chỉnh sửa để có thể chạy trong Android Studio Emulator

Decompile with JADX

Open file ==> Choose file:

Phần khoanh đỏ ==> Source Code. Phần khoanh xanh ==> Chứa thông tin về file. Phần khoanh vàng ==> Chứa các chuỗi. Phần /Source code/com...../R: Chứa thông tin về các địa chỉ tương ứng trong có trong phần khoanh vàng. (Ví dụ như 3 ảnh dưới)

Android Studio và Android Studio Emulator

Mở file apk bằng cách sau:

Hoặc là

Màn hình chính khi mở 1 tệp APK sẽ như sau:

Đây là thông báo thành công/lỗi:

Edit config như sau:

Logcat (Log Console)

Reference: https://yasoob.me/posts/reverse-engineering-android-apps-apktool/

Last updated

Was this helpful?