-
-
[求助]:《shellcoder's handbook 》第19页测试 shellcode 的程序编译后运行出错!
-
-
[求助]:《shellcoder's handbook 》第19页测试 shellcode 的程序编译后运行出错!
就是那个测试 shellcode 的程序:
char shellcode[] =
"\xeb\x1a\x5e\x31\xc0\x88\x46\x07\x8d\x1e\x89\x5e\x08\x89\x46"
"\x0c\xb0\x0b\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\xe8\xe1"
"\xff\xff\xff\x2f\x62\x69\x6e\x2f\x73\x68";
int main()
{
int *ret;
ret = (int *)&ret + 2;
(*ret) = (int)shellcode;
}
我编译顺利,但是执行会报段错误!
[root@localhost asm]# ./sc
Segmentation fault (core dumped)
系统环境为 redhat as4,
[root@localhost asm]# uname -a
Linux localhost.localdomain 2.6.9-5.EL #1 Wed Jan 5 19:22:18 EST 2005 i686 i686 i386 GNU/Linux
我觉得这段代码我看懂了,用gdb调试过程和所想的也完全一样,改写的是ebx下面的 ret 返回地址,但是就是不能像书中写的那样顺利执行成功获得sh!出错发生在main执行完毕 leave 后到 ret 的那一步!请高手解答!
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)