iOS逆向破解clutch能庆、class-dump、Hooper Disassembler脚线、Charles使用

話不多講進(jìn)入正題

工具:1.iPhone手機(jī)一部

2.Clutch砸殼

3.class-dump導(dǎo)出頭文件

4.Hooper ?Disassembler導(dǎo)出所有.m實(shí)現(xiàn)文件

5.Charles 的接口查看

一搁胆、安裝ipa

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


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

越獄之后通過越獄手機(jī)下載你所需要破解的app (appstore也可以)。比如:"簡書"(可以換一個(gè) ?因?yàn)樽詈笫≡颍汉啎莝wift和oc混編 ?導(dǎo)出頭文件時(shí)候 不支持swift )


二船逮、安裝clutch軟件

之前AppCrackr這種方式簡單粗暴顾腊,省時(shí)省力,但正是因?yàn)樗^于方便挖胃,導(dǎo)致幾乎所有iDevice用戶都可輕松上手杂靶,所以不少用戶都拿它來破解程序梆惯,過于暴力、引起業(yè)界公憤吗垮,所以AppCrackr則是1.5舊版垛吗,已不能在高級(jí)系統(tǒng)中使用。

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

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

? ? 方法一:通過SSH

首先把文件拉到手機(jī)上


然后連上ssh


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


3.查找ipa然后砸殼

找到"簡書.ipa"前面編號(hào) 比如: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) ?(路徑中有括號(hào)的話 ?加 "\" 轉(zhuǎn)義一下)

手動(dòng)拉到自己電腦桌面上完成

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

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

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

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

2.將class-dump 復(fù)制到/usr/bin/class-dump。如果是OS X 10.11饵沧,因?yàn)闆]有/usr/bin文件夾的寫權(quán)限锨络,所以將class-dump復(fù)制到/usr/local/bin/class-dump即可。

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

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

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

A: ?ipa報(bào)內(nèi)容里面的DVKIT頭文件框架路徑 ? B:導(dǎo)出的.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混編 ? 因?yàn)椴恢С謘wift ?所以導(dǎo)出失敗

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


四锁右、Hooper Disassembler 導(dǎo)出.m偽代碼

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

{{{注:實(shí)現(xiàn)批量導(dǎo)出偽代碼的功能失受。具體代碼可以在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余寥、點(diǎn)擊菜單Scripts–>Class Decompile:


然后選擇導(dǎo)出所有偽代碼

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



至此我們就把一個(gè)APP的.h和.m文件拿到了 ?可以放在同一個(gè)文件夾,然后新建一個(gè)項(xiàng)目 宋舷,把這些文件拉進(jìn)去 ?可以進(jìn)行看對(duì)方的框架绪撵、方法定義、偽代碼就需要你有一雙黑客的眼睛了祝蝠,畢竟是偽代碼 ?不是直白的音诈。可以進(jìn)行字符串搜索绎狭、方法搜索等等细溅;怎么用就要看大家自己了。


五儡嘶、Charles使用

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

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

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


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

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

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

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

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


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

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

charles設(shè)置:

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


iPhone 上的設(shè)置

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

在 iPhone 的 “ 設(shè)置 “->” 無線局域網(wǎng) “ 中,可以看到當(dāng)前連接的 wifi 名郑象,通過點(diǎn)擊右邊的詳情鍵贡这,可以看到當(dāng)前連接上的 wifi 的詳細(xì)信息,包括 IP 地址厂榛,子網(wǎng)掩碼等信息盖矫。在其最底部有「HTTP 代理」一項(xiàng)丽惭,我們將其切換成手動(dòng),然后填上 Charles 運(yùn)行所在的電腦的 IP辈双,以及端口號(hào) 8888责掏,如下圖所示:

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

截取 Https 通訊信息

安裝證書

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

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

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

這樣,對(duì)于該 Host 的所有 SSL 請求可以被截取到了缎玫。

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

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

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

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拘鞋,一起剝皮案震驚了整個(gè)濱河市砚蓬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌掐禁,老刑警劉巖怜械,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異傅事,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)峡扩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門蹭越,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人教届,你說我怎么就攤上這事响鹃。” “怎么了案训?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵买置,是天一觀的道長。 經(jīng)常有香客問我强霎,道長忿项,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任城舞,我火速辦了婚禮轩触,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘家夺。我一直安慰自己脱柱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布拉馋。 她就那樣靜靜地躺著榨为,像睡著了一般。 火紅的嫁衣襯著肌膚如雪煌茴。 梳的紋絲不亂的頭發(fā)上随闺,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音景馁,去河邊找鬼板壮。 笑死,一個(gè)胖子當(dāng)著我的面吹牛合住,可吹牛的內(nèi)容都是我干的绰精。 我是一名探鬼主播撒璧,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼笨使!你這毒婦竟也來了卿樱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤硫椰,失蹤者是張志新(化名)和其女友劉穎繁调,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體靶草,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蹄胰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奕翔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片裕寨。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖派继,靈堂內(nèi)的尸體忽然破棺而出宾袜,到底是詐尸還是另有隱情,我是刑警寧澤驾窟,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布庆猫,位于F島的核電站,受9級(jí)特大地震影響绅络,放射性物質(zhì)發(fā)生泄漏月培。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一昨稼、第九天 我趴在偏房一處隱蔽的房頂上張望节视。 院中可真熱鬧,春花似錦假栓、人聲如沸寻行。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拌蜘。三九已至,卻和暖如春牙丽,著一層夾襖步出監(jiān)牢的瞬間简卧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來泰國打工烤芦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留举娩,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像铜涉,于是被迫代替她去往敵國和親智玻。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

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

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