iOS逆向破解clutch、class-dump、Hooper Disassembler、Charles使用

話不多講進入正題

工具:1.iPhone手機一部

2.Clutch砸殼

3.class-dump導出頭文件

4.Hooper ?Disassembler導出所有.m實現(xiàn)文件

5.Charles 的接口查看

一、安裝ipa

手機系統(tǒng)版10-10.2本如果未越獄下載PP助手(傻瓜操作)五分鐘可完成越獄


8.4版本及以下版本網(wǎng)上月月資料也是甚多,10.2以上、9-10版本暫時沒找到快速方便方法。

越獄之后通過越獄手機下載你所需要破解的app (appstore也可以)。比如:"簡書"(可以換一個 ?因為最后失敗原因:簡書是swift和oc混編 ?導出頭文件時候 不支持swift )


二、安裝clutch軟件

之前AppCrackr這種方式簡單粗暴,省時省力,但正是因為它過于方便,導致幾乎所有iDevice用戶都可輕松上手,所以不少用戶都拿它來破解程序,過于暴力、引起業(yè)界公憤,所以AppCrackr則是1.5舊版,已不能在高級系統(tǒng)中使用。

1.clutch下載地址:https://github.com/KJCracks/Clutch/releases(下載時候注意支持版本和手機版本的匹配)

2.下載之后? 把文件拷到手機上/usr/bin/? 下

? ? 方法一:通過SSH

首先把文件拉到手機上


然后連上ssh


通過終端? ? 輸入: ssh root@localhost -p 2222


3.查找ipa然后砸殼

找到"簡書.ipa"前面編號 比如:28

終端輸入:/private/var/mobile/Media/clutch-2 -d 28(/private/var/mobile/Media/clutch-2是clutch路徑? 可以自己看自己的路徑? 如果clutch放在/usr/bin下 ?可以直接使用clutch -d 28)

下面就是砸殼后存放的路徑 ?之后我們就需要把砸殼后的文件拿出來

mv 原路徑 現(xiàn)路經(jīng) ?(路徑中有括號的話 ?加 "\" 轉(zhuǎn)義一下)

手動拉到自己電腦桌面上完成

方法二: iFunBox 或者其他的第三方工具

命令方式:scp Clutch root@設(shè)備IP:/usr/bin

三、安裝class-dump 取.H文件

1、下載地址:http://stevenygard.com/projects/class-dump/

2.將class-dump 復制到/usr/bin/class-dump。如果是OS X 10.11,因為沒有/usr/bin文件夾的寫權(quán)限,所以將class-dump復制到/usr/local/bin/class-dump即可。

3.同時打開Terminal,需要的話就執(zhí)行命令賦予其執(zhí)行權(quán)限:

sudo chmod 777 /usr/bin/class-dump ?正確安裝顯示下面:

然后 輸入? ? class-dump -H "A" -o "B"

A: ?ipa報內(nèi)容里面的DVKIT頭文件框架路徑 ? B:導出的.h要存放的路徑 ?

例如 :class-dump -H /Users/Flywoods/Desktop/簡書破解/com.jianshu.Hugo-iOS7.0-\(Clutch-2.0.3\)/Payload/Hugo.app/Hugo -o /Users/Flywoods/Desktop/簡書破解/jianshuH文件

結(jié)果失敗:swift和oc混編 ? 因為不支持swift ?所以導出失敗

可以換其他APP ?導出結(jié)果:可以導出所有.h(包括pod第三方頭文件,但不包括.pch )


四、Hooper Disassembler 導出.m偽代碼

下載地址:https://www.hopperapp.com/?安裝好之后 把砸殼后的ipa拉進面板內(nèi)

{{{注:實現(xiàn)批量導出偽代碼的功能。具體代碼可以在https://github.com/poboke/Class-Decompile下載。}}}

使用方法

1、將下載的Class Decompile.py文件放到~/Library/Application Support/Hopper/Scripts目錄里。

2、將可執(zhí)行文件拖到Hopper里,等待分析完成。如果日志框里出現(xiàn)以下文字,就說明分析完成了:

Analysis segment __LINKEDIT

Analysis segment External Symbols

Background analysis ended

3、點擊菜單Scripts–>Class Decompile:


然后選擇導出所有偽代碼

4.反編譯出來的偽代碼保存在~/ClassDecompiles目錄里。



至此我們就把一個APP的.h和.m文件拿到了 ?可以放在同一個文件夾,然后新建一個項目 ,把這些文件拉進去 ?可以進行看對方的框架、方法定義、偽代碼就需要你有一雙黑客的眼睛了,畢竟是偽代碼 ?不是直白的。可以進行字符串搜索、方法搜索等等;怎么用就要看大家自己了。


五、Charles使用

下載地址:http://www.charlesproxy.com

Charles 是通過將自己設(shè)置成代理服務器來完成封包截取的,所以使用 Charles 的第一步是將其設(shè)置成系統(tǒng)的代理服務器。

啟動 Charles 后,第一次 Charles 會請求你給它設(shè)置系統(tǒng)代理的權(quán)限。你可以輸入登錄密碼授予 Charles 該權(quán)限。你也可以忽略該請求,然后在需要將 Charles 設(shè)置成系統(tǒng)代理時,選擇菜單中的 “Proxy” -> “Mac OS X Proxy” 來將 Charles 設(shè)置成系統(tǒng)代理。如下所示:


之后自己電腦上網(wǎng)頁一類的請求網(wǎng)絡(luò)的都可以顯示在charles界面

過濾網(wǎng)絡(luò)請求

通常情況下,我們需要對網(wǎng)絡(luò)請求進行過濾,只監(jiān)控向指定目錄服務器上發(fā)送的請求。對于這種需求,以下幾種辦法:

方法一:在主界面的中部的 Filter 欄中填入需要過濾出來的關(guān)鍵字。例如我們的服務器的地址是:http://yuantiku.com, 那么只需要在 Filter 欄中填入 yuantiku 即可。

方法二:在 Charles 的菜單欄選擇 “Proxy”->”Recording Settings”,然后選擇 Include 欄,選擇添加一個項目,然后填入需要監(jiān)控的協(xié)議,主機地址,端口號。這樣就可以只截取目標網(wǎng)站的封包了。如下圖所示:通常情況下,我們使用方法一做一些臨時性的封包過濾,使用方法二做一些經(jīng)常性的封包過濾。


截取 iPhone 上的網(wǎng)絡(luò)封包

Charles 通常用來截取本地上的網(wǎng)絡(luò)封包,但是當我們需要時,我們也可以用來截取其它設(shè)備上的網(wǎng)絡(luò)請求。下面我就以 iPhone 為例,講解如何進行相應操作。

charles設(shè)置:

要截取 iPhone 上的網(wǎng)絡(luò)請求,我們首先需要將 Charles 的代理功能打開。在 Charles 的菜單欄上選擇 “Proxy”->”Proxy Settings”,填入代理端口 8888,并且勾上 “Enable transparent HTTP proxying” 就完成了在 Charles 上的設(shè)置。如下圖所示:


iPhone 上的設(shè)置

首先我們需要獲取 Charles 運行所在電腦的 IP 地址,Charles 的頂部菜單的 “Help”->”Local IP Address”,即可在彈出的對話框中看到 IP 地址,如下圖所示:

在 iPhone 的 “ 設(shè)置 “->” 無線局域網(wǎng) “ 中,可以看到當前連接的 wifi 名,通過點擊右邊的詳情鍵,可以看到當前連接上的 wifi 的詳細信息,包括 IP 地址,子網(wǎng)掩碼等信息。在其最底部有「HTTP 代理」一項,我們將其切換成手動,然后填上 Charles 運行所在的電腦的 IP,以及端口號 8888,如下圖所示:

設(shè)置好之后,我們打開 iPhone 上的任意需要網(wǎng)絡(luò)通訊的程序,就可以看到 Charles 彈出 iPhone 請求連接的確認菜單(如下圖所示),點擊 “Allow” 即可完成設(shè)置。

截取 Https 通訊信息

安裝證書

如果你需要截取分析 Https 協(xié)議相關(guān)的內(nèi)容。那么需要安裝 Charles 的 CA 證書。具體步驟如下。

首先我們需要在 Mac 電腦上安裝證書。點擊 Charles 的頂部菜單,選擇 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate”,然后輸入系統(tǒng)的帳號密碼,即可在 KeyChain 看到添加好的證書。如下圖所示:

需要注意的是,即使是安裝完證書之后,Charles 默認也并不截取 Https 網(wǎng)絡(luò)通訊的信息,如果你想對截取某個網(wǎng)站上的所有 Https 網(wǎng)絡(luò)請求,可以在該請求上右擊,選擇 SSL proxy,如下圖所示:

這樣,對于該 Host 的所有 SSL 請求可以被截取到了。

截取移動設(shè)備中的 Https 通訊信息

如果我們需要在 iOS 或 Android 機器上截取 Https 協(xié)議的通訊內(nèi)容,還需要在手機上安裝相應的證書。點擊 Charles 的頂部菜單,選擇 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate on a Mobile Device or Remote Browser”,然后就可以看到 Charles 彈出的簡單的安裝教程。如下圖所示:

按照我們之前說的教程,在設(shè)備上設(shè)置好 Charles 為代理后,在手機瀏覽器中訪問地址:http://charlesproxy.com/getssl,即可打開證書安裝的界面,安裝完證書后,就可以截取手機上的 Https 通訊內(nèi)容了。不過同樣需要注意,默認情況下 Charles 并不做截取,你還需要在要截取的網(wǎng)絡(luò)請求上右擊,選擇 SSL proxy 菜單項。

最后大家在編寫程序時候做好核心代碼混淆就好了,也可以swift和oc混編就拿不出來頭文件了,防范為好;

注: 下一篇 ? ? ?iOS制作屬于自己的FrameWork ? ?保護好代碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,563評論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,694評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,672評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,965評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,690評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 56,019評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,013評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,188評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,718評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,438評論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,667評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,149評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,845評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,252評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,590評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,384評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,635評論 2 380

推薦閱讀更多精彩內(nèi)容

  • 目錄:Charles 的簡介如何安裝 Charles將 Charles 設(shè)置成系統(tǒng)代理Charles 主界面介紹過...
    Ming普閱讀 528評論 1 3
  • cycript cycript是一個可以使用OC和JS在運行時查看、修改app的越獄插件。http://www.c...
    zjjno閱讀 5,822評論 1 50
  • 我沒有你的愛 我不要你的愛 我不要跟你 有任何關(guān)系 你渾濁的眼 只會讓我寒心 讓我寒心的 不是渾濁 是沒有感情 你...
    翩翩吳閱讀 208評論 0 0
  • 文丨紅瑀 【中篇小說】愛情曾來過(目錄) 洪曉雨步出玻璃門,在人海中搜索寫有自己名字的名牌,果然看到一個高瘦的中年...
    紅瑀閱讀 1,448評論 32 58
  • 沒有記憶,是太陽的幸福 沒有幸福,是太陽的記憶 太陽把頭顱放在我手里 記憶舉起槍,上膛, 射擊 一顆子彈 射穿它自...
    泰閑閱讀 268評論 0 4