Android反编译工具与反编译步骤及常见问题
Android代碼混淆很大程度上就是為了別人反編譯我們的代碼,用反編譯工具也可以測試我們的代碼是否混淆成功。
“工欲善其事,必先利其器”,先介紹一下反編譯的工具:
apktool、dex2jar和jd-gui,這里是下載鏈接:Android反編譯工具集
大概的用法與步驟是:用apktool可以獲得apk中的資源文件,用dex2jar可以獲得apk中包含java代碼的jar包,通過jg-gui可以打開jar包中的java代碼。
反編譯開始:
一、反編譯資源文件
? ? ? ?? 解壓工具包,打開apktool文件夾,看到下圖文件:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ?? 將需要反編譯的.apk文件也放在這個文件夾里,打開命令行界面(cmd),定位到apktool文件夾(用cd命令)
? ? ? ?? 接著輸入命令:apktool? d? -f test.apk(這里是需要反編譯的apk的名字) -o testfile(這個是反編譯出的資源文件需要存放的文件夾的名字)
? ? ? ? ? 注:此處有一點需要注意,網上有說輸入命令:apktool.bat d -f test.apk test的,但是運行之后會提示錯誤:input file was not found or was not readable,這是因為版本原因導致的報錯,用上面的apktool工具和命令,就不會出現(xiàn)這種情況了。
? ? ? ? ?? 運行結束后, 再來看文件夾,會發(fā)現(xiàn)多了一個testfile文件夾,里面有反編譯出的資源文件。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
二、反編譯源代碼
? ? ? ? ?? 打開壓縮文件后,找到里面的dex2jar-0.0.9.15文件夾。
??將需要反編譯的apk文件后綴名改為.rar或.zip,解壓獲得一個文件夾, 打開這個文件夾
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
?將文件夾里面的classes.dex復制到dex2jar-0.0.9.15文件夾中。
?在命令行定位到dex2jar.bat所在目錄,輸入dex2jar.bat classes.dex,運行
? ? ? ? ? ? ? ? ? ? ? ? ??
?運行結束后,會發(fā)現(xiàn)原本的目錄下多了一個classes_dex2jar.jar文件
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?打開jd-gui-0.3.5.windows文件夾,運行里面的jd-gui.exe
? ? ? ? ? ? ? ? ? ? ? ? ?
?在菜單欄File里打開剛才生成的classes_dex2jar.jar文件。
? ? ? ? ? ? ? ? ? ??
?就能得到apk中的java文件了。
? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ??
總結
以上是生活随笔為你收集整理的Android反编译工具与反编译步骤及常见问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QCharts随时间流逝
- 下一篇: Android代码实现——拨打电话和发送