ApkToolPlus 是一個可視化的跨平台 apk 分析工具。
項目地址:https://github.com/linchaolong/ApkToolPlus
1. ApkTool
apk 反編譯,回編譯,簽名。
apktool
2. Apk 加固
dex 加密,防逆向,防止二次打包。(注意:該功能當前並非很完善,暫不建議商用,歡迎學習交流,歡迎提交 Pull requests)。
apktool
注意:加固后的 apk 啟動時會做簽名校驗,如果和原來的簽名不匹配會啟動失敗,在設置界面的 ApkTool 下配置 keystore。
3. ApkInfoPrinter
apk 常見信息查看工具,如:AndroidManifest.xml,apk 簽名,版本號等。支持直接拖入查看 apk 信息。
apktool
4. Apk源碼查看工具
Apk 源碼查看工具,支持 multi-dex。
apktool
5. 格式轉換工具
jar2smali,class2smali,dex2smali(apk2smali),smali2dex,class2dex。
在設置界面,可關聯 Sublime ,關聯后通過工具轉換后的文件會自動顯示在 Sublime。
apktool
6. 角標生成工具
icon 角標生成工具
apktool
7. 其他
JD(Java 反編譯工具)
JAD(Java 反編譯工具),注意 jar 文件或 class 目錄不要在中文路徑下!!!
JBE(Java 字節碼編輯工具)
Proguard(Java 代碼混淆工具)
工程結構
app:應用主模塊。
app.Builder:應用構建模塊。
lib.ApkParser:apk-parser,apk 解析庫。
lib.AXMLPrinter: AXMLPrinter2,二進制 xml 文件解析庫。
lib.Jad: Jad ,Java 反編譯工具。
lib.JBE: JBE ,Java 字節碼編輯器。
lib.JiaGu:apk 加固模塊。
lib.Proguard: Proguard ,代碼混淆優化工具, Usage 。
lib.Res:應用資源模塊。
lib.Utils:工具類模塊。
ApkToolPlus.jks
alias: ApkToolPlus
password: linchaolong
keystore password: linchaolong
構建說明
這是一個 IntelliJ IDEA 工程。
項目的構建依賴 ant, 點擊這里下載 ant,並把 ant 的 bin 目錄路徑配置到 Path 環境變量,執行 ant -version 命令檢測是否配置完成。
1. 運行項目
直接 Run app 模塊中的 com.linchaolong.apktoolplus.Main 運行 ApkToolPlus。
2. 構建apk加固模塊
lib.JiaGu 是 apk 加固模塊,如果有更新修改,則執行 app.Builder 模塊的 com.linchaolong.apktoolplus.builder.UpdateJiaGu 自動更新打包 apk 加固庫到 app 模塊。
3. 打包ApkToolPlus
Build -> Artifacts... -> ApkToolPlus -> Build,ApkToolPlus.jar 將生成在 out\artifacts\ApkToolPlus 目錄下,如果已經安裝 jdk 可以直接點擊運行。
下載
點擊 這里 下載 release 版 ApkToolPlus。安裝 jdk 后,雙擊 jar 文件即可運行 ApkToolPlus。
相關鏈接
dexknife-wj:Android Studio 下的 apk 加固插件,支持簽名校驗和 dex 加密
聯系方式
Email:linchaolong.dev@gmail.com
Blog:http://www.jianshu.com/u/149dc6683cc7
https://www.jianshu.com/p/07aceb7cf085
https://github.com/linchaolong/ApkToolPlus
下載地址:
https://github.com/linchaolong/ApkToolPlus/tree/master/release
https://raw.githubusercontent.com/linchaolong/ApkToolPlus/master/release/ApkToolPlus_1.0.jar
運行jar的方法:
java -jar ApkToolPlus_1.0.jar