在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ iOS/ Hack 實戰(zhàn)——探究支付寶 App 手勢密碼
Hack 實戰(zhàn)——支付寶 App 手勢密碼校驗欺騙
使用 Reveal 分析他人 App
后臺 daemon 非法竊取用戶 iTunesstore 信息
使用 iNalyzer 分析應(yīng)用程序
越獄檢測的攻與防
使用 introspy 追蹤分析應(yīng)用程序
廢除應(yīng)用程序的 ASLR 特性
使用 Cycript 修改支付寶 App 運行時
敏感邏輯的保護方案
Fishhook
使用 class-dump-z 分析支付寶 App
static 和被裁的符號表
iOS7 的動態(tài)庫注入
二進制和資源文件自檢
Hack 實戰(zhàn)——探究支付寶 App 手勢密碼
使用 Keychain-Dumper 導(dǎo)出 keychain 數(shù)據(jù)
數(shù)據(jù)擦除
Hack 實戰(zhàn)——解除支付寶 App 手勢解鎖錯誤次數(shù)限制
Objective-C 代碼混淆
阻止 GDB 依附
基于腳本實現(xiàn)動態(tài)庫注入
Hack 必備的命令與工具
鍵盤緩存與安全鍵盤
數(shù)據(jù)保護 API

Hack 實戰(zhàn)——探究支付寶 App 手勢密碼

在之前的 iOS安全攻防(七):Hack實戰(zhàn)——解除支付寶app手勢解鎖錯誤次數(shù)限制中,留了一個問題,就是如何破解手勢密碼。

方法不唯一,本文介紹如何利用 gdb 分析破解 App 。

當沒有程序源代碼的情況下,我們?nèi)绾卫?gdb 呢?

為了確定應(yīng)該如何設(shè)置斷點,不得不反匯編程序來作為參考了。

在前面的文章提到過,支付寶 app 的手勢密碼校驗處理非常嚴謹,沒有拋出 BOOL 判斷的方法讓我們可以直接修改返回值跳過驗證,而是將全部操作封在了

-(void)gestureInputView:(id)view didFinishWithPassword:(id)password; 

于是,我反匯編了支付寶 app ,找到手勢密碼解鎖的相關(guān)代碼片段:

http://wiki.jikexueyuan.com/project/ios-security-defense/images/guesture-password.png" alt="guesture-password" />

紅色箭頭標注的地方,讓人欣喜,這將是我們斷點位置的最好選擇。

首先,查看一下相關(guān)程序段符號表:

nm Portal | grep -i gestureinputview

得到結(jié)果:

nm Portal | grep -i getpassword

得到結(jié)果:

http://wiki.jikexueyuan.com/project/ios-security-defense/images/guesture-password2.png" alt="guesture-password2" />

確定了了關(guān)鍵函數(shù)的輸出符號。

啟動支付寶 app ,并 gdb 該進程: gdb -q -p 671

在上述兩個函數(shù)位置設(shè)置斷點: http://wiki.jikexueyuan.com/project/ios-security-defense/images/guesture-password3.png" alt="guesture-password3" />

可以通過 info breakpoints 查看斷點: http://wiki.jikexueyuan.com/project/ios-security-defense/images/guesture-password4.png" alt="guesture-password4" />

continue 到 getPassword 位置,打印函數(shù)棧: http://wiki.jikexueyuan.com/project/ios-security-defense/images/guesture-password5.png" alt="guesture-password5" />

我們可以確定了 getPassword 的返回地址是 0x00becb36 , 對該地址加斷點:

b * 0xbecb36

然后繼續(xù) continue ,程序?qū)⒖ㄔ谏厦娴臄帱c上。

從上面的反匯編代碼,我們可以知道,用戶輸入的密碼為存在 r8 上,原始密碼為存在 r0 上,我們直接打印出這兩個寄存器的值:

http://wiki.jikexueyuan.com/project/ios-security-defense/images/guesture-password6.png" alt="guesture-password6" />

正確密碼是個 “Z” 手勢圖畫,而當前輸入為 “一” 手勢圖畫。 可以得出結(jié)論,支付寶 app 的手勢密碼和大多數(shù) app 一樣,手勢密碼格式是字符串,9 個點分別對應(yīng)字符 123456789 。