求助 试验shellcode程序报错Access Violation

jazrynwong 2018-10-25 09:52:50
#include "stdafx.h"
#include<Windows.h>
char shellcode[]=
"\x66\x81\xec\x40\x04"
"\x33\xdb"
"\x53"
"\x68\x77\x65\x73\x74"
"\x68\x66\x61\x69\x6c"
"\x8b\xc4"
"\x53"
"\x50"
"\x53"
"\xb8\x90\x7e\x07\x77" //messagebox
"\xff\xd0"
"\x53"
"\xb8\x10\x3a\xf1\x74" //exit
"\xff\xd0";

int main()
{
int addr =(int)shellcode;
_asm
{
mov eax, addr
push eax
ret
}

getchar();
return 0;
}


试验一下这段调用messagebox函数的shellcode结果发现access violation
大概放到od中调试后eip跳到那里就不执行了,小白刚开始学习逆向
求助怎么解决
...全文
156 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2018-10-26
  • 打赏
  • 举报
回复
已解决,原来是编译选项的 数据保护,导致不会执行位于数据区的代码。

9,505

社区成员

发帖
与我相关
我的任务
社区描述
Windows专区 安全技术/病毒
社区管理员
  • 安全技术/病毒社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧