Address Space Layout Randomization<地址空間佈局隨機化>bash
ASLR技術是一種針對緩衝區溢出的安全保護技術,經過對堆、棧、共享庫映射等線性區佈局的隨機化,經過增長攻擊者預測目的地址的難度,防止攻擊者直接定位攻擊代碼位置,達到阻止溢出攻擊的目的的一種技術,從iOS4.3開始引入。dom
簡單的說,就是讓可執行文件在內存中每次運行的初始地址不同,提升逆向的難度。佈局
通常狀況下,只有在想獲取可執行文件在內存中真實地址的狀況下,才須要獲取到ASLR偏移的地址值,例如打內存斷點。ui
實現以下:spa
1.進入LLDB動態調試,若是不會動態調試,請參考https://www.jianshu.com/p/0a68d934f074調試
2.執行如下指令,獲取ASLR的偏移量。code
image list -o -f
複製代碼
3.經過如下指令設置內存斷點。
breakpoint set -a Hopper或IDA中獲取的內存地址 + ASLR的偏移量
複製代碼
4.內存斷點設置成功。
Hopper,IDA中的地址都是末使用ASLR的內存地址。cdn