Windows環(huán)境可以一鍵編譯
Mac環(huán)境下反編譯
看代碼用JADX 可以find usage 超贊~
將apk文件后綴改成zip,解壓榆苞,打開(kāi)jadx-gui稳衬,拖入解壓后的文件夾里的classes.dex文件,就可以查看代碼坐漏。
也可以使用AndroidDecompiler
- 補(bǔ)充:
谷歌的APK反編譯工具enjarify
以及傳統(tǒng)方法
apktool + dex2ja+ jd-gui能看布局的工具 uiautomator
或者打開(kāi)Android Studio -> Tools -> Android Device Monitor 然后點(diǎn)擊device面板薄疚,
點(diǎn)擊 dump view hierarchy for UI Automator 就可以查看布局碧信,雖然組件類(lèi)名有時(shí)是錯(cuò)的,當(dāng)可以看 resource idAndroid Studio 2.2或以上的build菜單下的Analyze APK能直接反編譯APK了输涕,只是不能看java代碼音婶。
通過(guò)ActivityTracker獲取某個(gè)頁(yè)面的完整類(lèi)名,這樣反編譯時(shí)可以迅速找到相應(yīng)的頁(yè)面類(lèi)名
mapping文件位置:build/outputs/mapping/release/mapping.txt
反編譯后的布局會(huì)看到
android:layout_height="dimension(17409)"
這樣的文本莱坎,經(jīng)計(jì)算衣式,和原始值大概是256的倍數(shù)關(guān)系。即上面的值是58dp
其他對(duì)應(yīng)關(guān)系:
android:visibility="0" = android:visibility="visible"
android:visibility="1" = android:visibility="invisible"
android:visibility="2" = android:visibility="gone"
減少混淆的工具: simplify(記得加-ie選項(xiàng))
命令示例:
java -jar /Users/hongjunmin/Documents/開(kāi)發(fā)相關(guān)/反編譯/工具/simplify-1.3.0.jar -it '.*packageName.*' -ie /Users/hongjunmin/Documents/開(kāi)發(fā)相關(guān)/反編譯/APK/色散/com.xxx.xxx.apk