Статии - вирусология
Асемблер
Асемблерен език
Статии
Програмиране на ниско ниво за Zen
Уроци
Напукване
DirectX/OpenGL
& nbsp Оптимизация
& nbsp Съставители
& nbsp Вирусология
& nbsp Мрежа
& nbsp Процесори
& nbsp Изследователски програми
Източници на инструментариум
В книгата Игор Ковал „Как да напиша компютърен вирус“ (2000 г., издателство „Symbol-Plus“) се разглежда възможността за внедряване на стартиращ вирус, способен да функционира под Windows. Възможността за функциониране се разбира като способността на програмата да удря стандартни цели - стартовия сектор на дискети.
Нека започнем със стандартен алгоритъм за обикновен нефайлов вирус („форма“, „камък“ и т.н.). След като е прихванал процеса на зареждане от твърдия диск по един или друг начин, вирусът, ако ще бъде активен (пребиваващ) по време на цялата сесия на компютъра, използва прекъсване (прекъсвания), за да следи повикванията на потребителя програми към устройството (ите) и като изберете момента, прехвърлете тялото си на дискета в неговия BOOT сектор.
Най-простото нещо, което може да се направи (и е правено много пъти) в тази посока, е да се прихване услугата BIOS int 13h прекъсване, предназначена за работа с твърди дискове и дискети. Този избор се дължи на следните причини:
- Вирусът получава контрол преди/след изпълнението на програмите MBR или BOOT на активния дял на твърдия диск, когато са достъпни само услуги на BIOS за прихващане - операционната система все още не е активирала своите прекъсвания;
- Повечето потребителски програми, когато работят с дискети индиректно чрез услугите на OS, извикват int 13h и прости проверки за номера на устройството, сектора и проследяването улесняват идентифицирането на момента на флопи инфекцията.