編輯:關於Android編程
近期由於學習需要,嘗試了下截包與反編譯,發現對於簡單的反編譯與截包其實挺簡單的,而本文也主要介紹截包與反編譯工具的使用.
截包的工具有很多,我這裡主要介紹簡單實用的fiddler.
官網下載地址:http://www.telerik.com/fiddler
下載完成後打開fiddler
1.首先,確保安裝 Fiddler 的電腦和你的手機在同一局域網內,因為Fiddler只是一個代理,需要將手機的代理指向 PC 機,不能互相訪問是不行的。
2.打開菜單欄中的Tools>Fiddler Options,打開“Fiddler Options”對話框。
在Fiddler Options”對話框切換到“Connections”選項卡,然後勾選“Allow romote computers to connect”後面的復選框,然後點擊“OK”按鈕,設置允許遠程鏈接.
3.然後在本機命令行輸入ipconfig命令行找到本機ip,由於我這裡手機和電腦都是連得無線網所以使用電腦無線網ip 192.168.0.102
4.打開手機設置無線網代理界面 服務器設置為電腦無線網ip 端口為fiddler監聽端口8888
5.現在就可以抓包了打開fiddler
6還可以設置過濾器 過濾掉不想要的信息
apktool : 它可以解碼資源接近原始形式和重建後做一些修改,可以提取出圖片文件和布局文件進行使用查看
下載鏈接:http://download.csdn.net/detail/zly921112/9472996
dex2jar : 將apk反編譯成java源碼(classes.dex轉化成jar文件)
下載鏈接:http://download.csdn.net/detail/zly921112/9473310
jd-gui : 查看用dex2jar轉換生成的jar文件,查看源碼
下載鏈接:http://download.csdn.net/detail/zly921112/9473311
apktool(反編譯資源文件)
將工具中apktool,解壓得到aapt.exe,apktool.bat,apktool.jar,將需要反編譯的APK文件放到該目錄下,然後將命令行目錄切換至該目錄下.輸入apktool d test.apk,命令中test.apk指的是要反編譯的APK文件全名,反編譯後生成文件名與APK文件名相同
雖然這裡有部分資源未能解碼但是大部分資源都得到了,
test文件內部
如果你想將反編譯完成的文件重新打包apk,那你可以輸入 apktool b test(編譯出來文件夾):
在test文件下會發現多了兩個文件 build 和 dist(裡面存放著打包出來的APK文件)
關於命令官網有給出例子
解碼:
構建:
dex2jar+jd-gui(反編譯.dex文件獲取java源碼)<喎?/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjxiciAvPg0KvavSqre0seDS67XEYXBruvPXurjEs8kucmFyIL3i0bkstcO1vcbk1tC1xLbuY2xhc3Nlcy5kZXjOxLz+o6jL/L7NysdqYXZhzsS8/rHg0uvU2c2ouf1keLmkvt+08rD8tvizybXEo6mjrL2ru/HIobW9tcRjbGFzc2VzLmRleLfFtb3WrsewveLRubP2wLS1xLmkvt9kZXgyamFyLTAuMC45LjE1zsS8/rzQxNqjrMi7uvO9q8P8we7Q0MS/wrzH0Lu71sG4w8S/wrzPwi7K5MjrZGV4Mmphci5iYXQgY2xhc3Nlcy5kZXg8YnIgLz4NCjxpbWcgYWx0PQ=="這裡寫圖片描述" src="/uploadfile/Collfiles/20160328/20160328090853215.png" title="\" />
在該目錄下會生成一個classes_dex2jar.jar的文件,然後用jd-gui文件夾裡的jd-gui.exe,打開之前生成的classes_dex2jar.jar文件,便可以看到源碼了,效果如下:
由於源碼被混淆了所以只能看到abc這種,其實挺惡心的,我還專門去查了反混淆希望能還原但是未發現解決辦法,如果有朋友能反混淆歡迎交流謝謝.
一、簡介本節演示如何在安卓系統中通過用戶配置文件(user profile)讀取和更新該手機的所有聯系人信息,以及如何導航到用戶配置文件中的這些聯系人。二、基本概念&nb
這個世界就是這麼奇妙,明明手機賣的非常好,還要做手機助手,當然了我只當是給客戶的福利。VIVO除了vivo手機助手,小米也有小米手機助手。那麼小米手機助手可
效果圖如下:PopupWindow 是一個可以顯示在當前 Activity 之上的浮動容器,PopupWindow 彈出的位置是能夠改變的,按照有無偏移量,可以分為無偏移
效果:靜態導入平滑移動到指定位置的模板代碼布局:activity_main item_list
1.TextView Textview在之前的學習中用到過好多