freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

watercloud@xfocusorg-文庫吧資料

2024-09-09 14:23本頁面
  

【正文】 ( 5 ) 堆空間分配 堆空間分配 ? 1. 程序剛開始運(yùn)行時(shí)會分配一個(gè)堆空間。 ? 從目標(biāo)函數(shù)返回后從 SP24處取出真正的返回地址。 ? 將返回地址寫入 SP24處。 } 調(diào)用動態(tài)鏈接庫函數(shù) 調(diào)用動態(tài)鏈接庫函數(shù) 當(dāng)調(diào)用動態(tài)鏈接庫函數(shù)如 getenv()等時(shí)整個(gè)過程比調(diào)用本地的函數(shù)負(fù)責(zé)很多,先后有: 1. 而是首先轉(zhuǎn)到了稱為 Import Stub的一段代碼處(使用到的每個(gè)外部函數(shù)對應(yīng)一份),此處主要完成以下操作: ? 從 PTL中加載目標(biāo)地址。 callee(buff,”用戶輸入字符串 ” )。 棧溢出 在下面這種情況下我們就應(yīng)該覆蓋 SP20 處,并且可以大面積的覆蓋。 ?SP24 : 當(dāng)調(diào)用動態(tài)連接庫時(shí)使用該地址來存放返回地址。 4. 出現(xiàn)格式化字符串漏洞時(shí)對參數(shù)的引用將向低地址引用參數(shù),向上將能夠訪問到函數(shù)的局部變量、再向上能夠訪問到程序的命令行參數(shù)和環(huán)境變量。 3. 當(dāng)參數(shù)個(gè)數(shù)大于 4個(gè)時(shí), caller的棧參數(shù)存放區(qū)被分配了相應(yīng)的空間,在調(diào)用callee前 caller將多出的參數(shù)存放到參數(shù)存放區(qū)相應(yīng)的地方,將頭 4個(gè)參數(shù)放入寄存器中。 2. 當(dāng)小于 4個(gè)參數(shù)時(shí) caller通過寄存器將參數(shù)傳遞給 callee,而通常 collee會在開始處將寄存器 %r2 %r2 %r2 %r23存放到父函數(shù) caller的參數(shù)存放區(qū)。}棧 幀 標(biāo) 識 區(qū)c a l l e r 的 棧 頂?shù)?地 址高 地 址棧 增 長方 向進(jìn) 入 c a l l e e 后 的 棧 分 布 情 況c a l l e e 的 棧 頂棧 幀 標(biāo) 識 區(qū)參 數(shù) 存 放 區(qū)局 部 變 量 區(qū)對 齊 數(shù) 據(jù)寄 存 器 保 存 區(qū)參 數(shù) 存 放 區(qū)S P局 部 變 量 區(qū). . . . . .c a l l e r 的 棧 區(qū) 間c a l l e e 的 棧 區(qū) 間這兒主要介紹函數(shù)的參數(shù)傳遞和棧幀標(biāo)識區(qū) . . . . . .A R G 4A R G 3A R G 2A R G 1A R G 0擴(kuò) 展 D a t a / L T P o i n t e r擴(kuò) 展 S R 4 / L P P o i n t e r擴(kuò) 展 R P當(dāng) 前 R PS t a t i c L i n kC l e a n U PR e l o c a t i o n S t u b R PP r e v i o u s S PS t a c k P o i n t e r參 數(shù) 存 放 區(qū)棧 幀 標(biāo) 識 區(qū)低 地 址高 地 址S P 8S P 2 0S P 2 4S P 3 6 函數(shù)參數(shù) 函數(shù)棧的參數(shù) . . . . . .A R G 4A R G 3A R G 2A R G 1A R G 0擴(kuò) 展 D a t a / L T P o i n t e r擴(kuò) 展 S R 4 / L P P o i n t e r擴(kuò) 展 R P當(dāng) 前 R PS t a t i c L i n kC l e a n U PR e l o c a t i o n S t u b R PP r e v i o u s S PS t a c k P o i n t e r參 數(shù) 存 放 區(qū)棧 幀 標(biāo) 識 區(qū)低 地 址高 地 址S P 8S P 2 0S P 2 4S P 3 61. 調(diào)用函數(shù)時(shí)如果參數(shù)小于或等于 4個(gè)則通過 寄存器傳遞,如果大于 4個(gè)就需要用調(diào)用函數(shù)的棧來傳遞了。}a l l o c 調(diào) 用 后 調(diào) 整 棧 空 間進(jìn) 入 函 數(shù) 后 的 棧 空 間對于 alloc分配的空間如果出現(xiàn)溢出就等同局部數(shù)組出現(xiàn)溢出 函數(shù)棧的參數(shù)存放區(qū)和棧幀標(biāo)識區(qū) 函數(shù)棧的參數(shù)存放區(qū)和棧幀標(biāo)識區(qū) c a l l e r ( ){ c a l l e e ( ) 。 } 這樣也能溢出 caller的 buff數(shù)組,但是由于 strcpy是葉子節(jié)點(diǎn)他不 會使用棧來存放返回地址,因此我們沒有機(jī)會修改程序流程。 葉子函數(shù) 葉子函數(shù) 考察如下函數(shù)如果我們調(diào)用的是 strcpy: caller() { char buff[32]。 } 對照函數(shù)棧分布圖我們可以看到 sprintf后 sprintf會首先將返回地址寄存器 %RP存放到 caller的棧幀標(biāo)識區(qū),然后開始往 caller的局部變量區(qū)寫數(shù)據(jù),最后從 caller的棧幀標(biāo)識 區(qū)讀出返回地址然后再跳轉(zhuǎn)到該地址運(yùn)行。比如 sprintf函數(shù)是非葉子函數(shù),如果 caller如下 : caller() { char buff[32]。 } 3. 非葉子函數(shù)會在函數(shù)開始處將返回地址存到父函數(shù)的棧中在結(jié)束時(shí)讀出并返回這樣我們有利用機(jī)會,而葉子函數(shù)不會。 葉子函數(shù) /非葉子函數(shù) 葉子函數(shù)和非葉子函數(shù) 1. 非葉子函數(shù)指內(nèi)部會再調(diào)用其他函數(shù)的函數(shù),如: int callee() { return printf(“Hello World\n”)。 ? 對其數(shù)據(jù)起始就是無用數(shù)據(jù)區(qū),由于??臻g大小以 64字節(jié)對齊,就有可能有些地址是不會被使用的。 ? 分配??臻g時(shí)??臻g大小總是以 64字節(jié)為單位分配的。 函數(shù)調(diào)用的棧分布 函數(shù)調(diào)用的棧分布 c a l l e r ( ){ c a l l e e ( ) 。 三 、 運(yùn)行時(shí)體系結(jié)構(gòu) 三 運(yùn)行時(shí)體系結(jié)構(gòu) (Runtime Architecthure) 熟悉 PA結(jié)構(gòu)及各個(gè)指令能幫助我們輕松的看懂反匯編和跟蹤調(diào)試程序以及編寫更加有效的 shellcode,而越多的了解運(yùn)行時(shí)體系結(jié)構(gòu)就越能夠幫助我們編寫利用程序。 ? 然后跳轉(zhuǎn)到 sub_test處執(zhí)行。 延時(shí)插槽 延時(shí)插槽 ( Delay Slot ) 和很多 RISC系統(tǒng)一樣 PA的分支指令都有一個(gè)延時(shí)問題,考察: 1. B,L sub_test, %r31 2. Copy %r31,%rp 3. Copy %r28,%r26 其執(zhí)行流程為: ? 執(zhí)行到 1處發(fā)現(xiàn)跳轉(zhuǎn),于是將返回地址放入 %r31,但返回地址為地址 3。 如果想將一個(gè) 32位數(shù)存放到寄存器中需要兩條指令完成: LDIL L’var, %r1 LDO R’var(%r1), %r3 其中 L’var 表示取 var的高 21為作為一個(gè)數(shù)字。 數(shù)據(jù)操作指令實(shí)例 數(shù)據(jù)操作指令實(shí)例 平時(shí)在反匯編中注意這兩句: STW %rp, 20(%sr0,%sp) 將返回地址寄存器存放到棧中,函數(shù)通常在開始處保存自己的返回地址。 還有 ADD、 ADDI、 COPY、 XOR等相關(guān)指令或偽指令。 LDIL 加載一個(gè) 21位的立即數(shù)到寄存器的高 21位。 STB 將一個(gè)字節(jié)從寄存器存儲到內(nèi)存中。 PA常用
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1