安卓反編譯詳解

世界美景發表於2017-11-03

作為一個安卓開發人員 反編譯應該是必會的 

1. apktool 獲取資原始檔  下載

2. 安卓逆向助手(推薦)  視覺化的工具   下載

3 jd-gui  Jar檔案(原始碼)檢視器 下載

4. dex2jar  看名字也是dex 轉jar 但我沒用過 (安卓逆向助手可以代替他

5. IDA 反彙編神器 靜態 動態除錯 so(AndroidKiller IDA Jeb jadx  我會單獨抽一篇部落格介紹使用)


上述連線都是CSDN 站內的 原地址速度太慢    


apktool 下載完畢後 解壓到C目錄下 會出現  


我給你們推薦的這個版本還是比較好用的 


工具已到為 隨便找個應用 來試下 就微信吧  要把微信APK名字改一下

隨便什麼都行 簡單為主  把要反編譯的APK   放在 apktool目錄下




在W10 上 微軟+X  + R (工作管理員) CMD   CD 一下 進入到apktool 目錄下  


輸入 apktool d 123.apk     d 代表反編譯該123.APK  

輸入 apktool b 123 -o 111.apk    b  代表把當前反編譯出來的123檔案 重打包成111.apk  apk需要重新進行簽名   



顯示為成功 會在 apktool 目錄下生成一個和apk 同樣名字的 檔案 這裡就是資原始檔了 但微信有加固 獲取出來的資源不是很全 缺少了很多  而且沒有build 檔案 也就無法拿到dex 檔案 無法在把他轉成Jar 不過沒關係 下面會講到

下面給大家換個APK   正常反編譯出來的檔案都是很全的    除了程式碼變成了 smali(虛擬機器語言)

其他資原始檔 佈局 用了什麼三方都可以看到


接下來還是回到微信  怎麼辦 要看他程式碼 那怕是混淆過的 現在就可以用上 安卓逆向助手了  

1開啟逆向助手  點選提取dex  把微信apk 拖到逆向助手上  

點選操作 將會在你的桌面上生成 dex 檔案  基本什麼apk都可以提取到dex

目前沒碰到過失敗 百度 高德 微信 都可以 


2 安卓逆向助手 點選  dex轉jar 在把dex 拖上去  就會在桌面上生成 一個jar 檔案 這就是拿到原始碼了 



接下來 我們就可以通過 jd-gui 來檢視 jar檔案  一般操作到這安卓逆向助手會預設開啟反編譯出來的jar檔案



也可以手動開啟   點選 File 下面的藍色資料夾 自行新增  就不加圖了 點開你就懂了 我這都詳細到不能在詳細了...



講到這裡 應該是個人都能看懂了吧 其實很簡單 就是工具的使用 而且我加了多張圖 基本都快成圖解了

 在獲取資原始檔那步驟  一般的 APK 都能直接拿到dex  到時候直接用 助手一轉 就行  望大家靈活使用

jd-gui   快捷鍵 點選 Search 進行檔案查詢            


Ctrl  +  F 在當前類 進行查詢方法  關鍵字等等









相關文章