碧海潮声大学生网

标题: Linux c 程序 [打印本页]

作者: only    时间: 2006-12-28 18:50
标题: Linux c 程序
Linux c 程序
//esp.c

/*
* got_jmpesp.c, scanning for JMP %ESP
* - izik@tty64.org
*/

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(int argc, char *argv[]) {
int i, jmps;
char *ptr = (char *) 0xffffe000;

jmps = 0;

for (i = 0; i < 4095; i++) {

if (ptr == &#39;\xff&#39; && ptr[i+1] == &#39;\xe4&#39;) {

printf("* 0x%08x : jmp *%%esp\n", ptr+i);
jmps++;
}

}

if (!jmps) {

printf("* No JMP %%ESP were found\n");
}

return 1;
}

run esp时总是不能成功,出了什么问题?

[root@localhost ~]# ./esp
程序内存区段错误
[root@localhost ~]#


听说是内存读取权限问题 是吗?
我应该如何做才能成功得到预期的结果,谢谢




欢迎光临 碧海潮声大学生网 (http://www.zjoubbs.com/) Powered by Discuz! X3.2