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

正文內容

watercloud@xfocusorg-在線瀏覽

2024-11-04 14:23本頁面
  

【正文】 p) 將 %r3存入棧中,同時將棧指針 %sp加 0xC0(注意那個 m),函數(shù)基本都在開始處使用這條指令來給自己分配棧空間。 R’表示低 11位。 ? 程序并沒有立即跳轉,而是緊接著執(zhí)行地址 2處的指令將返回地址拷貝到了寄存器 RP。 ? 函數(shù) sub_test返回,程序從地址 3處開始執(zhí)行將函數(shù)返回值拷貝到寄存器 %r26。 運行時體系結構主要包括以下幾個方面: ? 空間布局 ? 函數(shù)調用 ? 系統(tǒng)調用 程序空間布局 共 享 庫 信 息程 序 代 碼只 讀 數(shù) 據(jù) 區(qū)已 初 始 化 數(shù) 據(jù) 區(qū)函 數(shù) 導 入 表 P L T數(shù) 據(jù) 導 入 表 D L TG L O B A L未 初 始 化 數(shù) 據(jù) 區(qū)堆棧共 享 庫系 統(tǒng) 代 碼共 享 內 存 區(qū)S R 4S R 5S R 7程 序 運 行 過 程 中 的 內 存 分 部 和 重 要 寄 存 器 值系 統(tǒng) 空 間代 碼 空 間數(shù) 據(jù) 空 間系 統(tǒng) 空 間D PS P0 x 0 0 0 0 0 0 00 x 4 0 0 0 0 0 0 00 x 8 0 0 0 0 0 0 00 x F F F F F F F F3.1 程序空間布局 當程序運行起來時其空間布局如下,系統(tǒng)初始化了數(shù)據(jù)指針寄存器DP和空間寄存器 SRSR SR7,及狀態(tài)寄存器 PSW。}棧 幀 標 識 區(qū)c a l l e r 的 棧 頂?shù)?地 址高 地 址棧 增 長方 向進 入 c a l l e e 后 的 棧 分 布 情 況c a l l e e 的 棧 頂棧 幀 標 識 區(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ū) 間? 棧增長方向由低向高,和很多系統(tǒng)都不同。 ? 寄存器保護區(qū)用于在函數(shù)入口處保存一些可能會被破壞的寄存器值,以便在函數(shù)退出時恢復這些寄存器。 ? 參數(shù)存放區(qū)和棧幀標識區(qū)將在后面專門介紹。 } 2. 葉子函數(shù)指內部不會再調用其他函數(shù)的函數(shù),如: int add(int x,int y) { return x+y。 非葉子函數(shù) 非葉子函數(shù) 非葉子函數(shù)在進入時會將函數(shù)返回地址存放到父函數(shù)的棧幀標識區(qū)中, 返回時再取出來并返回。 sprintf(buff,”%s”,用戶輸入的數(shù)據(jù) )。由于沒有檢查用戶輸入長度這樣就能覆 蓋 sprintf在 caller棧幀標識區(qū)中存放的返回地址從而修改程序執(zhí)行流程。 strcpy(buff,用戶輸入的數(shù)據(jù) )。 alloc()函數(shù) alloc()函數(shù) 棧 幀 標 識 區(qū)參 數(shù) 存 放 區(qū)局 部 變 量 區(qū)對 齊 數(shù) 據(jù)寄 存 器 保 存 區(qū)棧 幀 標 識 區(qū)A l l o c 動 態(tài) 分配 的 空 間局 部 變 量 區(qū)對 齊 數(shù) 據(jù)寄 存 器 保 存 區(qū)參 數(shù) 存 放 區(qū)低 地 址高 地 址v o i d c a l l e e ( ){ c h a r * p = a l l o c ( 2 0 ) 。}棧 幀 標 識 區(qū)c a l l e r 的 棧 頂?shù)?地 址高 地 址棧 增 長方 向進 入 c a l l e e 后 的 棧 分 布 情 況c a l l e e 的 棧 頂棧 幀 標 識 區(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ù)傳遞和棧幀標識區(qū) 函數(shù)棧的參數(shù)存放區(qū)和棧幀標識區(qū) 函數(shù)棧的參數(shù)存放區(qū)和棧幀標識區(qū) c a l l e r ( ){ c a l l e e ( ) 。但無論參數(shù)多少調用函數(shù)都始終在自己的棧中保留 4個32位地址用于存放 arg0arg3。 以后對參數(shù)的引用在通過父函數(shù)的參數(shù)存放區(qū)來讀取。進入 callee后 callee同樣首先將 4個參數(shù)寄存器存入父函數(shù) caller的參數(shù)存放區(qū),并且以后通過這里引用參數(shù)。 棧幀標識區(qū) . . . . . .A R G 4A R G 3A R G 2A R G 1A R G 0擴 展 D a t a / L T P o i n t e r擴 展 S R 4 / L P P o i n t e r擴 展 R P當 前 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ū)棧 幀 標 識 區(qū)低 地 址高 地 址S P 8S P 2 0S P 2 4S P 3 6棧標識區(qū)中值得考察的有 : ?SP20 : 非葉子節(jié)點函數(shù)的返回地址。 ?SP8 : 當調用動態(tài)連接庫時由動態(tài)連接庫內部函數(shù)調用進入重定位節(jié)時使用 ,對它還有待研究,目前對他了解的不多。 void caller() { char buff[32]。 } void callee(char * dstr,const char * sstr) { strcpy(dstr,sstr)。 ? 從 PTL中加載目標模塊的鏈接表指針到 %r19。 2. 轉入目標函數(shù)的稱為 Export Stub的一段代碼處(動態(tài)鏈接庫的每個函數(shù)對應一份),此處將進行如下操作: ? 分支到真正的目標函數(shù)執(zhí)行,并將 SP20處的返回地址填為自己內部的地址。 ? 跳轉回到 caller。并且如果該空間用完后再次要 求分配空間時會按 4k為單位分配一個新的空間。 3. 每次 malloc(n)會以 4字節(jié)為單位分配一段地址。 ? 其中前 4字節(jié)存放了一個地址,后 4字節(jié)似乎存放了該內存塊中空閑空間大小。 目前對堆空間分配還沒有研究多少,并不知道堆溢出是否可以利用。系統(tǒng)調用機制由一個統(tǒng)一的系統(tǒng)調用函數(shù)處理 : 系統(tǒng)調用號 寄存器 %r22 跳轉到 SYSCALLGATE處執(zhí)行 系統(tǒng)調用返回值在寄存器% r28中 。 常見的系統(tǒng)調用及號碼有: EXIT 1 FORK 2 READ 3 WRITE 4 CHMOD 15 SETUID 23 DUP 41 SETGID 46 EXECVE 59 OPEN 5 ACCEPT 275 BIND 276 CONNECT 277 LISTEN 281 SOCKET 290 CLOSE 6 我們完成一個 setui
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1