基于腳本實(shí)現(xiàn)動(dòng)態(tài)庫(kù)注入

Cydia Substrate 可以幫助我們加載自己的動(dòng)態(tài)庫(kù),于是開發(fā)者們謹(jǐn)慎的采取了對(duì)Cydia Substrate 的檢索和防御措施。

那么,除了依靠 Cydia Substrate 幫忙注入 dylib ,還有別的攻擊入口嗎?

理理思路,條件、目的很明確:

1)必須在應(yīng)用程序啟動(dòng)之前,把 dylib 的環(huán)境變量配置好

2)dylib 的位置必須能被應(yīng)用程序放問到

3)最后再啟動(dòng)應(yīng)用程序

啊哈,原汁原味,走 bash!

在點(diǎn)擊應(yīng)用程序圖標(biāo)-->程序啟動(dòng)這個(gè)過程中,在我們看來程序是被動(dòng)執(zhí)行的。為了讓特定功能的腳本被執(zhí)行,我們可以把腳本改成應(yīng)用程序二進(jìn)制的名字偽裝成應(yīng)用程序,讓系統(tǒng)調(diào)用啟動(dòng)。在腳本中,配置好 dylib ,然后再手動(dòng)啟動(dòng)真的應(yīng)用程序,假裝什么也沒發(fā)生,揮一揮衣袖不帶走一片云彩~ 將真的支付寶程序改名為 oriPortal :

mv Portal oriPortal

將待執(zhí)行的腳本改名為支付寶:

mv Portal.sh Portal

腳本代碼:

#!/bin/bash

#得到第一個(gè)參數(shù)

C=$0

#第一個(gè)參數(shù)是二進(jìn)制的絕對(duì)路徑 比如 :

#/private/var/mobile/Applications/4763A8A5-2E1D-4DC2-8376-6CB7A8B98728/Portal.app/

#截取最后一個(gè) / 之前的內(nèi)容

C=${C%/*}

#庫(kù)和二進(jìn)制放在一起

export DYLD_INSERT_LIBRARIES=${C:-.}/wq.dylib

#執(zhí)行原來APP $@ 別忘了把原來的參數(shù)保留

exec "${C:-.}"/oriPortal "$@"

結(jié)果不盡人意,失敗了。。。

錯(cuò)誤信息如下:


在打開某個(gè)加密信息時(shí)出了錯(cuò)誤,大概猜一下應(yīng)該是類似加密簽名校驗(yàn)的步驟,但是我們無法去了解其中詳細(xì)的操作到底是什么樣的,沒關(guān)系,那么就把原始的可執(zhí)行文件環(huán)境全部給他造出來,因?yàn)闄z驗(yàn)文件屬性肯定不會(huì)帶著路徑信息的。

備份一份 Portal.app 目錄 Portal_ori.app ,修改腳本為:

#!/bin/bash

C=$0

C=${C%/*}

export DYLD_INSERT_LIBRARIES=${C:-.}/wq.dylib

exec "${C:-.}"/../Portal_ori.app/Portal "$@"

壞消息是,失敗了

錯(cuò)誤信息如下:

應(yīng)該是因?yàn)?iOS的沙盒機(jī)制升了級(jí),把我們這套小把戲攔在門外了……

那又怎么樣,面包總會(huì)有的~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 注:原文---念茜的博客 MobileSubstrate可以幫助我們加載自己的動(dòng)態(tài)庫(kù),于是開發(fā)者們謹(jǐn)慎的采取了對(duì)M...
    richar_閱讀 224評(píng)論 0 0
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,269評(píng)論 25 708
  • iOS 越獄的Tweak開發(fā) 原文鏈接在我的博客 https://yohunl.com/ios-yue-yu-de...
    yohunl閱讀 16,714評(píng)論 20 34
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,923評(píng)論 18 139
  • 8.第一個(gè)逆向程序 創(chuàng)建tweak工程? iOS /opt/theos/bin/nic.pl NIC 2.0 -...
    Flonger閱讀 2,978評(píng)論 0 1