|
缓冲区溢出与病毒攻击 4)现在假设函数没有填写A,而是插入了恶意代码 缓冲区地址(8字节) 00000077 缓冲区内容(240字节) 恶意代码...... 旧基址指针(8字节) 12345678 返回的指令指针(8字节) 40100000 5)缓冲区被填满了恶意代码,旧基址指针也被改写 缓冲区地址(8字节) 00000077 缓冲区内容(240字节) 恶意代码...... 旧基址指针(8字节) ×××××××× 返回的指令指针(8字节) 00401000 6)接下来返回的指令指针也被改写,不是随机而是根据现在包含恶意代码的缓冲区本身的地址 缓冲区地址(8字节) 00000077 缓冲区内容(240字节) 恶意代码...... 旧基址指针(8字节) ×××××××× 返回的指令指针(8字节) 00000077 7)在缓冲区被填满之后,程序定位在指令指针提供的地址处,并且开始执行恶意代码。
|