1. 程式人生 > >五分鐘學會ios反編譯

五分鐘學會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

,在當前使用者根目錄下建立一個bin目錄,然後把class-dump複製到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檔案就是反編譯出來的。