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

 WASM Phorum —› WASM.VIROLOGY —› Вопрос к вирмейкерам.

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


Дата: Дек 17, 2003 23:12:11

Здрав будьте!!!

Короче в аттаче исходник виря и вот как я его понимаю:
в начале допустим было cs:100h, допустим cs=1245h.
В 100h модифицируем под переход на вирус, но первым
же делом восстанавливаем три байта исходного кода.
Далее мы корректируем ds, на величину add_to_ds.
Что же происходит, если мы нашли файл с размером
401 байт, то в параграфах это 26 (с округлением и
inc ax). В будущем переход на вирус для данного фай-
ла будет равен jmp 9d01, вот один из вопросов почему
вместо перехода на 413 байт получается переход на,
аж 40193 байт! Может размер считывается не как 191h,
а в обратной последовательности 9101h?
Это про смещение, а вот про коррекцию. Если судить
по следующему коду:
mov byte ptr add_to_ds,al ;1900h
mov byte ptr add_to_ds+1,ah
То мы уже будем находиться не в cs=1245,а в сs= 1245+
+1900=3145h. На кой икс на менять cs, вместо того, что-
бы остаться в адресе 1245: последий байт файла?
Итак. Повторюсь главный вопрос это: зачем менять зна-
чение cs и не продалжать оставаться в прежнем прыгая
на конец файла и как лежит размер в DTA в обратной
или нормальной последовательности?

56150131__vandal.ASM