Истории о вирусах

Метод предопределенньш адресов


Переходим к методу определения оригинального адреса точки входа

в DOS, основанному на том, что эти адреса для разных версий и конфи-

гураций DOS имеют в общем случае различные значения, но число

их ограничено. А это значит, что их можно просто-напросто выбирать

из таблицы (причем не очень большой). Прием не новый, но незаслу-

женно забытый.

Имея программу, основанную на одном из ранее описанных способов

определения реального адреса обработчика DOS, загрузочные дискеты

с разными версиями DOS и немного терпения, можно получить при-

мерно вот такую информацию.

Оригинальный обработчик DOS версии 3.30 всегда имеет вид:

.Точка О



2Е CS:

891ЕВ800 MOV [ООВ8],ВХ

2Е CS:

8С06ВАОО MOV [OOBA],ES

СВ RETF

.Точка 1

2Е CS:

3A26FFOD СМР AH,[ODFF]

77DC JA 1443

80FC51 СМР АН,51

74А1 JZ 140D

80FC64 СМР АН,64

74ВА JZ 143A

;Точка 2

Оригинальные обработчики DOS версий 5.0-7.0 очень похожи.

В общем случае они состоят из следующих фрагментов:

Фрагмент 1 (если он присутствует) всегда располагается в нижних ад-

ресах памяти. Большинство алгоритмов трассировки заканчивают рабо-

ту, достигнув этой точки. Для DOS версий 5.0-6.22 этот фрагмент при-

сутствует, если в CONFIG.SYS есть строка DOS=HIGH (вне

зависимости от того, осуществляется ли запуск поддерживающего эту

опцию драйвера HIMEM.SYS). Если драйвера нет, то JMP FAR просто

указывает на фрагмент 2, размещающийся в нижних областях памяти.

Если строки DOS=HIGH нет, то фрагмент 1 вырожден (состоит из од-

ной команды внутрисегментного перехода), и обработчик состоит

из фрагмента 2.

;Точка О

90 МОР

90 NOP

E8CCOO CALL CheckA20

2E CS:

FF2E6A10J MP FAR NEXTDOS

Фрагмент 2 может располагаться как в верхних, так и в нижних адре-

сах памяти.

;Точка 1

NEXTDOS:

FA CLI

80FC6C СМР АН.6С

77D2 JA 40DO

80FC50 СМР АН.50

748Е JZ 40A9

;Точка 2

Для DOS 7.0 структура обработчика, в общем, такая же. Исключение -

фрагмент 1 присутствует всегда, вне зависимости от содержимого фай-

ла CONFIG.SYS. Теперь приведем конкретные значения адресов, полу-

ченные для разных случаев:



Содержание раздела