-
-
[求助]书中3.2节search_opcode.cpp,找esp代码始终报错
-
发表于:
2014-12-10 23:36
13251
-
[求助]书中3.2节search_opcode.cpp,找esp代码始终报错
运行这段代码在电脑中始终会报错。 搜到的结果 说产生了越界,但是不确定这个原因。
报错的内容如下:
”chapter3_VS_shellcode.exe 中的 0x00af1442 处有未经处理的异常: 0xC0000005: 读取位置 0x76251000 时发生访问冲突“
另外找到的参考:http://blog.sina.com.cn/s/blog_4a082449010115wq.html
但是这个理由貌似解释不通。
附上源代码:
#include <windows.h>
#include <stdio.h>
#define DLL_NAME "user32.dll"
main()
{
BYTE* ptr;
int position,address;
HINSTANCE handle;
BOOL done_flag = FALSE;
handle=LoadLibrary(DLL_NAME);
if(!handle)
{
printf(" load dll erro !");
exit(0);
}
ptr = (BYTE*)handle;
for(position = 0; !done_flag; position++)
{
try
{
if(ptr[position] == 0xFF && ptr[position+1] == 0xE4)
{
//0xFFE4 is the opcode of jmp esp
int address = (int)ptr + position;
printf("OPCODE found at 0x%x\n",address);
}
}
catch(...)
{
int address = (int)ptr + position;
printf("END OF 0x%x\n", address);
done_flag = true;
}
}
}
我发现这个问题之前就有了。但是始终没有发现有解决。
http://bbs.pediy.com/showthread.php?t=63496&page=3
#32 和#42都有提到。
还望大家不吝赐教~ 万分感谢!
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)