首页
社区
课程
招聘
请教下,我写的代码没有被编译...
发表于: 2013-3-12 02:34 5048

请教下,我写的代码没有被编译...

2013-3-12 02:34
5048
用VS2005写了一段代码其中

	while (1)
	{
		if (WSAWaitForMultipleEvents(1,&hWSAEvent,FALSE,500,FALSE) ==NULL)
		{
			if (WSAEnumNetworkEvents(s,hWSAEvent,&netWordEvents) == NULL)
			{
				if (netWordEvents.lNetworkEvents == 1 && netWordEvents.iErrorCode == NULL)
				{
/*
*/
					MessageBox(0,"检测到数据要接收","",0); //这个MsgBox在反汇编里面没有
				}
			}
		}
	}


10001A57   .  8B3D CC300010 MOV EDI,DWORD PTR DS:[<&WS2_32.WSAWaitFo>;  ws2_32.WSAWaitForMultipleEvents
10001A5D   .  8B1D E8300010 MOV EBX,DWORD PTR DS:[<&WS2_32.WSAEnumNe>;  ws2_32.WSAEnumNetworkEvents
10001A63   >  6A 00         PUSH 0
10001A65   .  68 F4010000   PUSH 1F4
10001A6A   .  6A 00         PUSH 0
10001A6C   .  8D4C24 14     LEA ECX,DWORD PTR SS:[ESP+14]
10001A70   .  51            PUSH ECX
10001A71   .  6A 01         PUSH 1
10001A73   .  FFD7          CALL EDI
10001A75   .  85C0          TEST EAX,EAX
10001A77   .^ 75 EA         JNZ SHORT Lo.10001A63
10001A79   .  8B4424 08     MOV EAX,DWORD PTR SS:[ESP+8]
10001A7D   .  8D5424 0C     LEA EDX,DWORD PTR SS:[ESP+C]
10001A81   .  52            PUSH EDX
10001A82   .  50            PUSH EAX
10001A83   .  56            PUSH ESI
10001A84   .  FFD3          CALL EBX
10001A86   .^ EB DB         JMP SHORT Lo.10001A63


遇到很多次了不得其解这是为啥啊

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 1372
活跃值: (5353)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
2
release优化了还是???
2013-3-12 09:43
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
有意思,坐等高手
2013-3-12 11:06
0
雪    币: 130
活跃值: (1005)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
release
2013-3-12 12:48
0
雪    币: 1372
活跃值: (5353)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
5
应该是release的问题,你DEBUG版本看以下,应该有的。。如果release版本没有那么看看是不是你代码有问题。
比如

if(1==0)
{
   messagebox() 这样明显不会运行到的,release是会优化去掉的。
}
2013-3-12 15:38
0
雪    币: 39
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
汇编代码不全啊, 没法分析啊
2013-3-12 15:50
0
雪    币: 59
活跃值: (1586)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
10001A84   .  FFD3          CALL EBX

是不是优化了?
2013-3-12 16:02
0
雪    币: 130
活跃值: (1005)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
你说我的代码也没问题是吧。他怎么就优化掉了呢
if (netWordEvents.lNetworkEvents == 1 && netWordEvents.iErrorCode == NULL)这判断也没在反汇编里出现
2013-3-12 16:44
0
雪    币: 130
活跃值: (1005)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
需要的汇编代码都复制出来了。还欠哪些?
2013-3-12 16:45
0
雪    币: 39
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
10001A84   .  FFD3          CALL EBX
10001A86   .^ EB DB         JMP SHORT Lo.10001A63

这个地址后面有没代码了吗?
2013-3-12 16:51
0
雪    币: 130
活跃值: (1005)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
没有了,这就是函数结尾
2013-3-12 16:57
0
雪    币: 39
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
WSAEnumNetworkEvents 这个函数的返回值存在为NULL的情况吗?
2013-3-12 17:02
0
雪    币: 130
活跃值: (1005)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
当然存在
反复修改编译
终于出现了..不过还不知什么原因造成的
while (1)
	{
		if (WSAWaitForMultipleEvents(1,&hWSAEvent,FALSE,500,FALSE) ==NULL)
		{
			if (WSAEnumNetworkEvents(s,hWSAEvent,&netWordEvents) == NULL)
			{
				if (netWordEvents.lNetworkEvents & FD_READ)
				{
					if (recv(s,(char*)Buf,0x400*4,0) >0)
					{
						MessageBox(0,"接收成功",0,0);
					}
				}

			}
		}
	}

多谢各位的分析
2013-3-12 17:08
0
游客
登录 | 注册 方可回帖
返回
//