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

正文內(nèi)容

watercloud@xfocusorg(編輯修改稿)

2024-10-07 14:23 本頁面
 

【文章內(nèi)容簡介】 部 變 量 區(qū). . . . . .c a l l e r 的 棧 區(qū) 間c a l l e e 的 棧 區(qū) 間這兒主要介紹函數(shù)的參數(shù)傳遞和棧幀標(biāo)識區(qū) 函數(shù)棧的參數(shù)存放區(qū)和棧幀標(biāo)識區(qū) 函數(shù)棧的參數(shù)存放區(qū)和棧幀標(biāo)識區(qū) c a l l e r ( ){ c a l l e e ( ) 。}棧 幀 標(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ù)的棧來傳遞了。但無論參數(shù)多少調(diào)用函數(shù)都始終在自己的棧中保留 4個(gè)32位地址用于存放 arg0arg3。 2. 當(dāng)小于 4個(gè)參數(shù)時(shí) caller通過寄存器將參數(shù)傳遞給 callee,而通常 collee會在開始處將寄存器 %r2 %r2 %r2 %r23存放到父函數(shù) caller的參數(shù)存放區(qū)。 以后對參數(shù)的引用在通過父函數(shù)的參數(shù)存放區(qū)來讀取。 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ù)放入寄存器中。進(jìn)入 callee后 callee同樣首先將 4個(gè)參數(shù)寄存器存入父函數(shù) caller的參數(shù)存放區(qū),并且以后通過這里引用參數(shù)。 4. 出現(xiàn)格式化字符串漏洞時(shí)對參數(shù)的引用將向低地址引用參數(shù),向上將能夠訪問到函數(shù)的局部變量、再向上能夠訪問到程序的命令行參數(shù)和環(huán)境變量。 棧幀標(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棧標(biāo)識區(qū)中值得考察的有 : ?SP20 : 非葉子節(jié)點(diǎn)函數(shù)的返回地址。 ?SP24 : 當(dāng)調(diào)用動態(tài)連接庫時(shí)使用該地址來存放返回地址。 ?SP8 : 當(dāng)調(diào)用動態(tài)連接庫時(shí)由動態(tài)連接庫內(nèi)部函數(shù)調(diào)用進(jìn)入重定位節(jié)時(shí)使用 ,對它還有待研究,目前對他了解的不多。 棧溢出 在下面這種情況下我們就應(yīng)該覆蓋 SP20 處,并且可以大面積的覆蓋。 void caller() { char buff[32]。 callee(buff,”用戶輸入字符串 ” )。 } void callee(char * dstr,const char * sstr) { strcpy(dstr,sstr)。 } 調(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)地址。 ? 從 PTL中加載目標(biāo)模塊的鏈接表指針到 %r19。 ? 將返回地址寫入 SP24處。 2. 轉(zhuǎn)入目標(biāo)函數(shù)的稱為 Export Stub的一段代碼處(動態(tài)鏈接庫的每個(gè)函數(shù)對應(yīng)一份),此處將進(jìn)行如下操作: ? 分支到真正的目標(biāo)函數(shù)執(zhí)行,并將 SP20處的返回地址填為自己內(nèi)部的地址。 ? 從目標(biāo)函數(shù)返回后從 SP24處取出真正的返回地址。 ? 跳轉(zhuǎn)回到 caller。 c a l l e rI m p o r t S t u bE x p o r t S t u bc a l l e e代 碼 空 間 程 序 代 碼 區(qū)系 統(tǒng) 空 間 動 態(tài) 鏈 接 庫 區(qū)( 1 )( 2 )( 3 )( 4 )( 5 ) 堆空間分配 堆空間分配 ? 1. 程序剛開始運(yùn)行時(shí)會分配一個(gè)堆空間。并且如果該空間用完后再次要 求分配空間時(shí)會按 4k為單位分配一個(gè)新的空間。 2. 在以 4k為單位的子空間內(nèi)由某種數(shù)據(jù)結(jié)構(gòu)算法對子空間進(jìn)行管理。 3. 每次 malloc(n)會以 4字節(jié)為單位分配一段地址。 ? 但分配的真正大小為 (n1)/4 *4 +4 + 8 ? (n1)/4 * 4 + 4 為以 4自己對其分配的大小 ,附加的 8個(gè)為堆管理內(nèi)部使用的信息。 ? 其中前 4字節(jié)存放了一個(gè)地址,后 4字節(jié)似乎存放了該內(nèi)存塊中空閑空間大小。 4. 目前發(fā)現(xiàn)如果將附加的后 4個(gè)表示大小的值改為較大的地址那么在 free時(shí)會產(chǎn)生對無效頁面的訪問而造成程序被中止并產(chǎn)生一個(gè) core文件。 目前對堆空間分配還沒有研究多少,并不知道堆溢出是否可以利用。但已知一些信息如下: 系統(tǒng)調(diào)用 系
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1