· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.VIROLOGY —› Оптимальное заражение

Посл.отвђт Сообщенiе


Дата: Июл 23, 2004 21:17:03 · Поправил: choor

Подскажи как будет оптимальнее открыть файл для заражения и заразить его, через какие функции?
Примечание: нужно заразить только один файл, все адреса апи найдены. Мой способ не канает:
.data
...
ff_struc                struc
ff_attr                 dd      ?
ff_time_create          dd      ?,?
ff_time_lastaccess      dd      ?,?
ff_time_lastwrite       dd      ?,?
ff_size_hi              dd      ?
ff_size                 dd      ?
                        dd      ?,?
ff_fullname             db      260 dup (?)
ff_shortname            db      14 dup (?)
ff_struc                ends

fileinfo    ff_struc <?>
filename db 'rabbit.exe',0
...
.code
...
	lea edi,fileinfo
	lea edx,filename
	push    edi
	push    edx
	call    _FindFirstFileA
	push    0
	push    80h
	push    3
	push    0
	push    1+2
	push    080000000h+40000000h
	push    edx
	call    _CreateFileA
	cmp     eax, -1
	je      error_message
        ...

Всегда вылетает на error_message не могу понять почему :(
P.S. Не судите строго, я только учусь ;)


Дата: Июл 23, 2004 22:15:10

а как ты думаешь, что находится в edx после вызова FindFirstFileA ???


Дата: Июл 24, 2004 13:48:22

адрес filename


Дата: Июл 24, 2004 13:52:13 · Поправил: ssx

в fileinfo.ff_fullname будет имя файла


Дата: Июл 24, 2004 15:32:45

> адрес filename

А вот и не угадал, делаем rtfm пока не поможет =)


Дата: Июл 24, 2004 17:01:21

Dr.Golova: я Дебагером прошёлся :) там ASCII 'rabbit.exe', токо меняется когда вылетаю на MessageBoxA


Дата: Июл 24, 2004 18:19:07 · Поправил: Asterix

choor
Процедуры в Windows не обязаны сохранять eax, edx, ecx


Дата: Июл 24, 2004 18:48:44

Asterix: мож у меня глюк но я чётко в дебагере смотрел что, edx сохраняется


Дата: Июл 24, 2004 19:13:00

choor
А ты не смотри, ты запомни что это так как я написал ;-)


Дата: Июл 24, 2004 23:34:57

Странно, тогда щас поиграю с регистрами


Дата: Июл 26, 2004 14:07:58

FindFirstFileA вообще не использует edx (и не сохраняет) - но вызывает RtlUnicodeStringToAnsiString из NTDLL которая в свою очередь тоже не использует edx но зато вызывает RtlUnicodeToMultibyteN - где в edx (по крайней мере так показалось :)) помещается второй параметр - указатель на макс. кол-во байт в мультибайт-строке. И затем из него вычитается кол-во заполненых байтов - отсюда поидее на выходе edx будет соодержать разницу между MaxBytesInMultiByteString и BytesInMultiByteString.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.060