|  | 
 
 
| 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 == '\xff' && ptr[i+1] == '\xe4') {
 
 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 ~]#
 
 
 听说是内存读取权限问题 是吗?
 我应该如何做才能成功得到预期的结果,谢谢
 | 
 |