[筆記] Android APK逆向工程回Java class file

久久才用一次,每次都忘記要重新查,乾脆寫下來。


需要的工具

apktool - 把APK拆回resource和smali
https://ibotpeaches.github.io/Apktool/install/

dex-tools (d2j) - 把smali轉成dex再轉成jar
https://github.com/pxb1988/dex2jar/releases

jd-gui - 檢視jar檔的GUI工具
http://java-decompiler.github.io/

R8 Mapping file - 解obfuscation用,如果你有開R8而且記得留下來的話
https://developer.android.com/studio/build/shrink-code


步驟

apktool d app.apk // decode apk into resource and smali files

d2j-smali smali_class_file.smali // output to out.dex

d2j-dex2jar out.dex // output to out-dex2jar.jar

jd-gui out-dex2jar.jar


提醒:逆向工程可能是違法的,請參考EULA和相關法律說明。


留言