Enjarify 是一個用 Python 寫的, Google 官方開源的可以將 Dalvik 字節(jié)碼轉(zhuǎn)換為 Java 字節(jié)碼的工具。
Enjarify使用起來相當方便,雖然沒有可視化的圖形界面,但是Enjarify的命令卻十分簡單。Enjarify是一個基于Python3的程序,所以在使用Enjarify之前,需要預(yù)裝Python3的解釋器,官方推薦pypy3。
在Windows下使用時,Enjarify提供了一個批處理文件enjarify.bat。在官方介紹中,遇到模糊特性或一些邊緣情況時,Enjarify的反編譯效果要比Dex2jar要好得多。在使用過程中,確實可以明顯看到效果。一些針對Dex2jar反編譯進行過特殊處理的app,會導(dǎo)致Dex2jar反編譯時崩潰,但是對Enjarify卻無效。
使用方法
1、將下載的pypy解壓縮,路徑配置到環(huán)境變量里的Path中,在命令行輸入 pypy,出現(xiàn)下圖所示即為安裝成功。
2、找到Enjarify目錄下的enjarify.bat文件,使用編輯器打開(建議notepad),修改
python3 -O -m enjarify.main %* –> pypy -O -m enjarify.main %*(從官網(wǎng)下載的Enjarify需要進行此項修改)。
3、在命令行輸入 enjarify -f XXX.apk , -f 在這里是必須要加上的,否則會出現(xiàn)警告,無法反編譯APK文件。這是因為復(fù)寫保護需要Python3.3及以上的版本,而pypy目前支持的是python3.2.5。
4、反編譯之后的文件是一個jar文件,使用jd-gui查看Jar文件。但jd-gui可能會出現(xiàn)會出現(xiàn)部分class文件無法反編譯,使用Xjad單獨反編譯這個class就可以了。
Enjarify部分命令
反編譯apk或dex enjarify yourapp.apk
強制覆蓋之前已編譯的文件enjarify -f(force) yourapp.apk
指定輸出文件名 enjarify yourapp.apk -o(output) yourapp.jar
- PC官方版
- 安卓官方手機版
- IOS官方手機版