廢除應(yīng)用程序的 ASLR 特性

ASLR (Address Space Layout Randomization)柏副,即地址空間隨機布局乐严。大部分主流的操作系統(tǒng)都已實現(xiàn)了 ASLR,以防范對已知地址進行惡意攻擊碱蒙。iOS 從 4.3 開始支持 ASLR役衡,Android 從 4.0 也支持了 ASLR 機制。

ASLR 的存在嘁捷,給 iOS 系統(tǒng)越獄造成了很大的困難造成,某些不完美越獄方案就是因為攻破不了或者繞不開 ASLR ,所以每次重新啟動后地址再度隨機偏移雄嚣,需要重新進行越獄操作晒屎。與此同時,ASLR 也給應(yīng)用層攻擊帶來了一些困難缓升,不同進程會造成不同的地址空間偏移鼓鲁,而且在運行時才可確定其偏移量,不易鎖定攻擊地址港谊。

Mach-O 文件的文件頭會記錄二進制的屬性標(biāo)識坐桩,有個 flag 叫做 PIE (Position Independent Enable)。開啟了 PIE 的二進制文件封锉,在執(zhí)行時會產(chǎn)生 ASLR 。

我們可以使用 otool 工具膘螟,來查看任意應(yīng)用程序二進制文件的屬性成福,以支付寶為例:

otool -hv Portal


有 PIE 標(biāo)識,表示該程序在啟動時會產(chǎn)生隨機地址布局荆残。

emovePIE 是個去掉 PIE flag 的工具奴艾。

壞消息是,年久失修内斯,它不支持 iOS7 蕴潦。 好消息是像啼,我們還有 2 個變通方法可以走。

利用 Theos 編譯 removePIE

改編一個 Mac 版的 MyRemovePIE

非越獄開發(fā)者可能不熟悉 Theos 潭苞,低學(xué)習(xí)成本的做法是第二種忽冻,那么讓我們來改編一個 Mac 版的 MyRemovePIE 吧。 (懶得動手的可以直接到這里下載 demo

創(chuàng)建一個 Command Line Tool 工程此疹,


然后復(fù)制 removePIE.c 代碼到 main.c 中僧诚,并且修改第 43 行: if(currentHeader.magic == MH_MAGIC){ //little endian

添加 iOS7 的判斷條件: if(currentHeader.magic == MH_MAGIC || currentHeader.magic == 0xbebafeca ){ //little endian

編譯后生成可執(zhí)行文件 MyRemovePIE .

利用我們編譯生成的 MyRemovePIE 來處理應(yīng)用程序:

./MyRemovePIE Portal


這樣以后支付寶 Portal 再被啟動執(zhí)行就不會具有 ASLR 特性了


如何驗證一下結(jié)果呢?

把處理過的 Portal 二進制拷貝回 iPhone 蝗碎,啟動支付寶錢包應(yīng)用湖笨,然后 gdb 該進程,利用 info sh 命令查看偏移:


偏移量為 0 蹦骑,嗯慈省,這下就好了。一些手動處理的過程可以升級為自動了~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末眠菇,一起剝皮案震驚了整個濱河市边败,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌琼锋,老刑警劉巖放闺,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異缕坎,居然都是意外死亡怖侦,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進店門谜叹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來匾寝,“玉大人,你說我怎么就攤上這事荷腊⊙藁冢” “怎么了?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵女仰,是天一觀的道長猜年。 經(jīng)常有香客問我,道長疾忍,這世上最難降的妖魔是什么乔外? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮一罩,結(jié)果婚禮上杨幼,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好差购,可當(dāng)我...
    茶點故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布四瘫。 她就那樣靜靜地躺著,像睡著了一般欲逃。 火紅的嫁衣襯著肌膚如雪找蜜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天暖夭,我揣著相機與錄音锹杈,去河邊找鬼。 笑死迈着,一個胖子當(dāng)著我的面吹牛竭望,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播裕菠,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼咬清,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了奴潘?” 一聲冷哼從身側(cè)響起旧烧,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤裂问,失蹤者是張志新(化名)和其女友劉穎邀摆,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體画拾,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡奈虾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年夺谁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肉微。...
    茶點故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡匾鸥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出碉纳,到底是詐尸還是另有隱情勿负,我是刑警寧澤,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布劳曹,位于F島的核電站奴愉,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏铁孵。R本人自食惡果不足惜锭硼,卻給世界環(huán)境...
    茶點故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望库菲。 院中可真熱鬧,春花似錦志膀、人聲如沸熙宇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽烫止。三九已至蒋荚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間馆蠕,已是汗流浹背期升。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留互躬,地道東北人播赁。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像吼渡,于是被迫代替她去往敵國和親容为。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,509評論 2 348

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