读书人

请高手帮小弟我分析一下这段代码

发布时间: 2012-02-22 19:36:55 作者: rapoo

请高手帮我分析一下这段代码
#include <stdio.h>

void AA(void)
{
printf( "Oh my God, Dangerous!\n ");
}

void ChangeReturn(int i)
{
printf( "%d\n ",i);

__asm
{
lea edi, [esp+34h*4]
mov ecx, [edi]
mov [edi+4], ecx
lea esi, AA
mov [edi], esi
}
}

int main()
{
ChangeReturn(100);

printf( "return to Main\n ");

__asm
{
sub esp,4
}

return 0;
}
编译环境是vc++2005,输出什么啊?为什么?
谢谢!

[解决办法]
hacker行为,如非特殊用途,不要花精力研究。
[解决办法]
修改函数的返回地址而已
[解决办法]
那你得到的东西就不是真正想要的东西了,那你知道这后果是什么了吧?
[解决办法]
修改函数返回地址就可以执行任意指定地址上的代码
利用缓冲区溢出漏洞执行shellcode的一种常规手法

读书人网 >C++

热点推荐