反編譯教程
//download.csdn.net/download/NaShiWoMenHuanXiao/12031935
- 工具介紹
- Apktool工具 可以反編譯軟件的佈局文件、圖片等資源
- dex2jar工具 dex文件格式轉換爲jar
- jad工具 class格式轉化爲java文件
- jadx工具 查看jar、dex、apk源碼,資源可視化工具
- 反編譯過程
- 使用 jadx工具 查看源碼
- 使用Apktool工具 反編譯看佈局文件和圖片資源
- 把apk後綴改爲zip,解壓
- 找到 dex文件 ,用 dex2jar工具 轉換成jar
- 用jad工具 把jar轉換爲 java文件
- 修改完java文件打包成jar或者arr (有鏈接可點擊進去)
- 工具使用教程
- Apktool工具
- apktool.bat和apktool.jar文件放到同一文件夾下打開命令窗口,也可以把當前文件添加到系統環境變量中,也可以在當前目錄下 shift+鼠標右鍵,打開命令窗口;
- 定位到apktool所在的文件夾,apk也放在這個目錄下;
- 命令 apktool.bat d -f 微信.apk objectFolderPath
- 其中,objectFolderPath爲可選項,如果此項不存在,軟件將會在apktool文件夾下新建一個apk文件名的文件夾,否則存儲到目標文件夾;
- 會生成smali 格式的文件,其實就是java代碼,不過不是jar形式的,如果要查看java代碼,看其他工具使用。
- Dex2jar工具
- 改apk後綴爲zip,解壓,找到裏面的dex文件
- 把dex文件拷貝到的dex2jar的目錄下
- 在此目錄下打開命令行
- 執行 d2j-dex2jar.bat classes.dex
- 在此目錄會多一個classes-dex2jar.jar
- Jad工具
- 進入到jad.exe目錄下,打開命令窗口到這個目錄
- 輸入命令jad -o -r -s java -d src smallAppJar/**/*.class
- src就是執行完腳本後生成java文件的目錄(自動生成,不需要創建)
- smallAppJar 需要轉換的jar文件夾(執行腳本前放到當前目錄)
- Jad命令的參數含義如下
- -o:覆蓋舊文件,而且不用提示確認。
- -r:重新加載生成包結構。
- -s (java):定義輸出文件的擴展名。jad爲默認擴展名,我們反編譯後當然是要.java源文件了。
- -d:輸出文件的目錄。src表示反編譯後的所有文件都放在src目錄下。
- classes/**/*.class:classes是需要反編譯的文件夾的名字,整個表示classes目錄下的所有class文件。你也可以寫成這樣**/*.class,這表示當前目錄及其子目錄下所有的class文件(包含所有的子目錄)。
- Jadx工具
解壓,雙擊打開bin目錄下面的jadx-gui.bat :雙擊這個工具,apk,class,dex可以直接拖進去看源碼
- 333
- 生成jar
- 生成arr
- 常見問題
如果遇到工具不能用的請到網上自行查找最新的版本