五分鐘學會ios反編譯
將用以下幾個方面來闡述我的觀點:
- iOS app可以“有條件”地被反編譯
- 脫掉App Store給“二級制檔案”穿上的外衣
- 如何利用工具去反編譯
iOS app可以“有條件”地被反編譯
首先,告訴大家一個不幸的訊息,上架至App Store的app,被apple加密了。所以標題才是“有條件”才能進行反編譯,令人欣喜的是,在debug下產生的ipa或者是release下的ipa包或者是渠道包(各種應用市場能下的ipa包)都能直接反編譯。
脫掉App Store給“二級制檔案”穿上的外衣
當然,引言已經說了,道高一尺魔高一丈,就算是被apple加密的ipa,其實也是可以反編譯的,只不過相對麻煩罷了。
來來來,給你們幾個工具,就可以解掉apple的加密了。
- clutch
- dumpdecrypted
- gdb
- AppCrackr
由於AppCrackr被很多開發者吐槽,這個傻瓜式的解密會嚴重導致盜版氾濫,所以這個工具已經很不好用了。
這裡就不展示demo了,感覺如果把App Store上的東西反編譯出來發到網上去,我感覺我的程式設計師生涯可能就要到頭了。
這裡主要講如何利用工具去反編譯
首先介紹個工具class-dump,下載地址http://stevenygard.com/projects/class-dump/
class-dump安裝與配置:1.雙擊從網站下載得到的class-dump,會得到
2.開啟Terminal,輸入mkdir ~/bin
3.賦予其可執行許可權:命令如下:chmod +x ~/bin/class-dump
4.開啟bash_profile檔案配置環境變數:vim ~/.bash_profile
5.按下 i 鍵進入編輯狀態,
6.export PATH=$HOME/bin/:$PATH
7.按下esc鍵,再按shift+: 輸入 wq進行儲存退出編輯
8.在Terminal中執行source ~/.bash_profile
測試是否改變成功,出現如下資訊就成功了。
9.下面我們在pp助手上下載一個app,我命名為kdyg
10,輸入反編譯命令:class-dump -H /Users/ziji/kdyg.app -o /Users/ziji/test,然後回車鍵
這個test就是反編譯生成的test目錄,
.h檔案就是反編譯出來的。