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

正文內(nèi)容

緩沖區(qū)溢出漏洞發(fā)掘模型-文庫吧

2025-04-23 04:23 本頁面


【正文】 mov EnX, ECX ..... shr ecx, 2 rep movs dword ptr [edi],dword ptr [esi] mov ecx, Enx and ecx, 3 ..... rep movs byte ptr [edi],byte ptr [esi] Copyright 169。 funnywei 2021 ? VC ? strcpy函數(shù)也會被硬編碼到程序中去,但是它產(chǎn)生的二進(jìn)制碼卻和 。 strcpy硬編碼如下: 00401041 mov cl,byte ptr [esp+eax] 00401045 mov byte ptr [esp+eax+14h],cl 00401049 inc eax 0040104A test cl,cl 0040104C jne 00401041 因為在這些硬編碼的代碼中使用了相對基址變址尋址方式,所以在 strcpy的固定二進(jìn)制特征碼比較難,但是我們可以結(jié)合指令的語義進(jìn)行分析,來構(gòu)建strcpy函數(shù)的特征碼。 Copyright 169。 funnywei 2021 ? 緩沖區(qū)邊界的定位 Libsafe對緩沖區(qū)估算采用最大化到棧幀的方法。 本文思想:根據(jù)指令對內(nèi)存單元訪問情況來界定緩沖區(qū) 邊界。 方法: ( 1)通過分析未直接訪問的堆棧單元來確定目標(biāo)緩沖區(qū)長度 ( 2)根據(jù)局部變量的訪問方式來確定目標(biāo)緩沖區(qū)的長度 ( 3)通過其他方法判斷緩沖區(qū)長度 Copyright 169。 funnywei 2021 ? 通過分析未直接訪問的堆棧單元來確定目標(biāo)緩沖區(qū)長度 – 對于普通的變量,如果沒有在程序中被使用,那么程序?qū)⒉粫槠湓诙褩V斜A舻刂房臻g。但是對于數(shù)組字符數(shù)組來說,只要數(shù)組中有一個成員被訪問,程序就會在堆棧中為整個數(shù)組保留地址空間。然而在編譯后的程序中沒有任何一條指令對其余的地址空間進(jìn)行訪問。 int main(int argc, char* argv[]){ char dest[100] = {“this is me”}。 printf(%s, dest)。 strcpy(dest, this is a test)。 return 0。} Copyright 169。 funnywei 2021 首先, sub esp,64h 在堆棧中保留 0x64個字節(jié)的空間。其次,根據(jù)特征碼匹配和非安全函數(shù)調(diào)用匹配找到字符緩沖區(qū)的起始位置: 0040101E 56 push esi 0040101F 57 push edi ... 0040105D 8D 54 24 08 lea edx,[esp+8] ... 00401065 8B FA mov edi,edx ... 0040106A F3 A5 rep movs dword ptr [edi],dword ptr [esi] 由此,我們可以認(rèn)為字符緩沖區(qū)的起始位置為 esp+8。由于有壓棧的操作, ESP的值不固定,我們用 base來代表程序開始時 sub esp,64h所指向的位置。 esp+8所指向的位置其實就是 base。 Copyright 169。 funnywei 2021 然后可以分析以 ESP,EBP為基址寄存器的指令: 00401015 89 44 24 00 mov dword ptr [esp],eax 0040101E 56 push esi 0040101F 57 pu
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1