iOS逆向之代碼注入(framework)

題外話:此教程是一篇嚴(yán)肅的學(xué)術(shù)探討類文章,僅僅用于學(xué)習(xí)研究桨昙,也請(qǐng)讀者不要用于商業(yè)或其他非法途徑上,筆者一概不負(fù)責(zé)喲~~

準(zhǔn)備工作

  • 非越獄的iPhone手機(jī)
  • 用PP助手下載: 微信6.6.5(越獄應(yīng)用)
  • MachOView

MachOView下載地址:http://sourceforge.net/projects/machoview/
MachOView源碼地址:https://github.com/gdbinit/MachOView

  • yololib

yololib下載地址https://github.com/KJCracks/yololib?spm=a2c4e.11153940.blogcont63256.9.5126420eAJpqBD

代碼注入思路:

DYLD會(huì)動(dòng)態(tài)加載Frameworks中所有的動(dòng)態(tài)庫(kù)电谣,那么在Frameworks中加一個(gè)自己的動(dòng)態(tài)庫(kù)友瘤,然后在自己動(dòng)態(tài)庫(kù)中hook和注入代碼

動(dòng)態(tài)庫(kù)存放的位置:Frameworks

image.png

找到可執(zhí)行文件WeChat

image.png

用MachOView打開可執(zhí)行文件WeChat匪燕,在Load Commands里可以查看到動(dòng)態(tài)庫(kù)


image.png

image.png
image.png

步驟:

1轿亮、根據(jù)iOS逆向之自動(dòng)化重簽名先編譯運(yùn)行微信纬凤,然后新建Framework

TARGETS添加:


image.png

image.png

2捐寥、新建一個(gè)WJHook類

image.png

3笤昨、想實(shí)現(xiàn)剛加載就要運(yùn)行,代碼就要寫在load方法里

image.png

4握恳、為工程添加依賴關(guān)系

  • 在代碼注入targets的Build Phases中添加Copy Files


    image.png
  • 在Copy Files中選擇Frameworks


    image.png
  • 添加WJHookFrameWork


    image.png

5瞒窒、編譯一下,在app包的位置查看

image.png

顯示包內(nèi)容,在Frameworks中查看


image.png

由上可知乡洼,WJHookFrameWork已經(jīng)加入成功

6崇裁、運(yùn)行,并沒有成功束昵,沒有執(zhí)行l(wèi)oad里的代碼

原因:用MachOView打開可執(zhí)行文件WeChat拔稳,在Load Commands找不到WJHookFrameWork

7、將WJHookFrameWork寫入MachO文件

需要用到工具:yololib
因?yàn)榻?jīng)常會(huì)用到這個(gè)工具锹雏,建議將它放到 /usr/local/bin

image.png

  1. 顯示隱藏文件巴比,可以使用
    $defaults write com.apple.finder AppleShowAllFiles -bool true
    $KillAll Finder
    這條命令來顯示。同時(shí)礁遵,將 true 改成 false, 就可恢復(fù)隱藏狀態(tài)轻绞。
  2. 或者使用快捷鍵 ? + ?? + . 來實(shí)現(xiàn)
  • 解壓微信越獄包


    image.png
  • 將WeChat.app顯示包內(nèi)容,找到WeChat可執(zhí)行文件
    增加執(zhí)行權(quán)限:chmod +x WeChat
  • 寫入WeChat可執(zhí)行文件:
    yololib WeChat Frameworks/WJHookFrameWork.framework/WJHookFrameWork

"Frameworks/WJHookFrameWork.framework/WJHookFrameWork"路徑是指WJHookFrameWork可執(zhí)行文件的路徑


image.png
  • 檢查MachO文件的Load Commands里是否有WJHookFrameWork


    image.png

    如圖佣耐,加入成功铲球。

  • 刪除原來的微信-6.6.5(越獄應(yīng)用).ipa,打包Payload
    zip -ry WeChat.ipa Payload
    將WeChat.ipa放入APP目錄晰赞,刪除其他文件夾
    image.png

8、運(yùn)行选侨,成功掖鱼!

image.png

代碼和工具已上傳:https://gitee.com/winjayq/ios_reverse_code_injection

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市援制,隨后出現(xiàn)的幾起案子戏挡,更是在濱河造成了極大的恐慌,老刑警劉巖晨仑,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件褐墅,死亡現(xiàn)場(chǎng)離奇詭異拆檬,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)妥凳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門竟贯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人逝钥,你說我怎么就攤上這事屑那。” “怎么了艘款?”我有些...
    開封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵持际,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我哗咆,道長(zhǎng)蜘欲,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任晌柬,我火速辦了婚禮姥份,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘空繁。我一直安慰自己殿衰,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開白布盛泡。 她就那樣靜靜地躺著闷祥,像睡著了一般。 火紅的嫁衣襯著肌膚如雪傲诵。 梳的紋絲不亂的頭發(fā)上凯砍,一...
    開封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音拴竹,去河邊找鬼悟衩。 笑死,一個(gè)胖子當(dāng)著我的面吹牛栓拜,可吹牛的內(nèi)容都是我干的座泳。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼幕与,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼挑势!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起啦鸣,我...
    開封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤潮饱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后诫给,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體香拉,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡啦扬,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凫碌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扑毡。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖证鸥,靈堂內(nèi)的尸體忽然破棺而出僚楞,到底是詐尸還是另有隱情,我是刑警寧澤枉层,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布泉褐,位于F島的核電站,受9級(jí)特大地震影響鸟蜡,放射性物質(zhì)發(fā)生泄漏膜赃。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一揉忘、第九天 我趴在偏房一處隱蔽的房頂上張望跳座。 院中可真熱鬧,春花似錦泣矛、人聲如沸疲眷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽狂丝。三九已至,卻和暖如春哗总,著一層夾襖步出監(jiān)牢的瞬間几颜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工讯屈, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蛋哭,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓涮母,卻偏偏與公主長(zhǎng)得像谆趾,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子叛本,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

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

  • 代碼注入過程 1沪蓬、新建一個(gè)工程;2炮赦、將微信Payload文件夾放入新建的工程中的APP文件夾里面; 3样勃、在Buil...
    Colin_狂奔的螞蟻閱讀 2,650評(píng)論 3 6
  • 如果你想成為一名合格的iOS逆向開發(fā)工程師,又沒有一套自己的工具集,又想做逆向開發(fā),唯一的辦法:自己想想吧,哈哈~...
    lukyy閱讀 1,466評(píng)論 0 2
  • 如果你渴望成為一名精通iOS逆向開發(fā)的工程師吠勘,但卻缺乏自己的工具集性芬,那么在著手實(shí)戰(zhàn)開發(fā)之前,提前準(zhǔn)備好逆向開發(fā)工具...
    木子心語閱讀 3,422評(píng)論 6 18
  • 轉(zhuǎn)發(fā)自 2016-07-07何兆林騰訊Bugly 如果您有耐心看完這篇文章剧防,您將懂得如何著手進(jìn)行app的分析植锉、追蹤...
    樹懶啊樹懶閱讀 10,649評(píng)論 5 63
  • 王維,字摩詰峭拘,王維的名字的來歷是這樣的俊庇,王維的母親很崇拜佛教,王維的母親是一位高僧的弟子鸡挠,并把佛教里面的印...
    樊4閱讀 3,756評(píng)論 1 1