Ik heb vroeger wat virussjes geschreven voor huishoudelijke taken. Eentje die al mijn BAK-filetjes verwijderde bijvoorbeeld. Erg ideaal

. Kenmerk van mijn virussen was dat ze altijd keken naar het serial nummer van mijn harddisks (die veranderde ik altijd handmatig). Was deze niet meer gelijk, dan haalde hij zichzelf altijd netjes weg. Werkte "meestal" goed

Maar goed... ik heb ook akeligere geschreven

. Ik heb ze nooit losgelaten (serial protection weer), maar het ging er mij meer om de toegepaste technieken die er bij komen kijken.
>Tegenwoordig is het zo dat virusscanners matchen op een
>patroon wat in je code zit. Je zult dus moeten voorkomen dat
>je virus een vast patroon geeft..(hoe?)
Polymorphing.
De meest gebruikte manier is om je code te encrypten en gebruik te maken van elke keer een andere encryptie (dan weer een xor meer of minder, dan weer wat constantes aanpassen etc). Hierdoor is de encrypte code elke keer anders en kan je patronen vergeten. Het enige wat nog overblijft, is de decompressie-routine. Deze moet ook elke keer aangepast worden (want je encryptie veranderd), maar ook kun je simpel NOPjes toevoegen, of wat random code gekopieerd uit een ander deel van de geinfecteerde COM/EXE die je daarna gewoon keihard overslaat.. Als je een beetje creatief hiermee omgaat, dan is er echt geen scanner meer die kan zien of het een virus is of niet.
>Verder is het nogal raar als een file ineens in grootte wint.
>Ook hier wordt vaak op gescand. (door dure programma's die
>veel geheugenruimte nodig hebben
Stealth. Als jij aan (windows/dos/whatever) vraagt naar de groote van een file, dan praat je in weze tegen een "proxy". Deze kijkt of de file die je nodig hebt, geinfecteerd is. Zo ja, telt hij er (virusgrootte) bytes er vanaf, anders laat hij de normale groote zien. Haak zo'n routine aan elke service-request (int 21h een hoop services, int 13h kan je nog wat creatieve dingen doen), dan heb je daar ook niet zo veel meer aan.
Stealths zie je vooral bij bootsectors. Da's namelijk het makkelijkste voor de meeste virussen

Markeer een willekeure sector als bad, plaats daar de originiele bootsector in, en zodra int 13h rechtstreeks van schijf wil lezen (sector 1), dan modify je je registers (cx,dx voornamelijk) zodanig dat deze wijst naar de originele bootsector in de bad sector. Zet daarna je registers zodanig terug zodat het lijkt dat deze net sector 1 hebben gelezen, en geen hond die ziet of de bootsector gewijzigd is
(keihard zelf van schijf lezen blijft de beste oplossing, maar ook hier zijn virussjes die daar zich niets van aantrekken).
>Hoe kun je in bijvoorbeeld windows zorgen dat je elk
>proces dat gestart wordt over kunt nemen?
Door voor de code van windows te gaan zitten die een process (of programma) start lijkt me een goeie oplossing. Infecteer de boel en start daarna de oorspronkelijke code op en niemand die wat merkt op dat moment.
>Of scannen virusses de harde file af naar exe's?
Meestal infecteren ze maar een paar filetjes in de huidige directory, en misschien 1 of 2 in een andere directory. Anders zou het runnen van een programma zo lang duren en argwaan wekken.
Yo dawg, I heard you like posts so I posted below your post so you can post again.