┌──┬──┐ /╔════╗/╦══╗ /╔═══╗ ╔═══╗ /╔══╦══╗/╦ /╦/╦══╗ /╔═══╗ ╔═══╗
│┬ ┌── │║ /╩│║ /╚╗│║ / │║ │║ // │║ //│║ │║│║ /╚╗│║ /╩│║ │/╩
│├─┐│ ░░▒▒▒▓▓▓│║▓▓▓▓▓│║▓/╔╝│║▓▓▓▓▓╔╩═══╩╗▓▓▓│║▓▓▓│║▓▓▓│║│║▓/╔╝│║▓▓▓▓│║▓▒▒░
││ │├─ │║ │╠══╣ │║═ │║ │║ │║ │║ │║│╠══╣ │║═ /╚═══╗
││ ││ │║ /╦│║ ╚╗│║ /╦│║ │║ │║ │║ ╔╝│║ ╚╗│║ /╦ ╦ │║
│┴ ┘└─┘ /╚════╝/╩ /╩/╚═══╝/╩ /╩ /╩ /╚═══╝ /╩ /╩/╚═══╝/╚═══╝
│ THE CREATURES │ Computer Virus Magazine │ May 1999 issue 04
│───────────────┴─────────────────────────┴───────────────────────────────
│
│ ПРИВЕТ С ТАЙВАНЯ
═══════════════════════════════════════════════════════════════════════════════
Родной любимый MS-бзD0S имел... Кто? Да не кто, а оно... Бред. Ну да
ладно. Разбирайтесь там сами, кто кого имел, начнем пока с чиха..........
Сперва цитата:
" Win95.CIH (1-3)
Очень опасный резидентный вирус. Заражает файлы в формате EXE PE под
управлением операционной системы Windows 95. При заражении файлов
вирус не увеличивает их длины, а использует довольно интересный
механизм заражения файлов. Каждая кодовая секция EXE PE файла выравнена
на определенное количество байт, обычно, не используемых программой. В
такие области вирус и записывает части своего кода, "разбрасывая" их
иногда по всему файлу (или по всем кодовым секциям). А также вирус
может записать свою стартовую процедуру (процедуру, первой получающей
управление при запуске программы) или даже весь свой код в область
заголовка EXE PE файла и установить точку входа программы на эту
стартовую процедуру. Таким образом, точка входа файла может не
принадлежать ни одной кодовой секции файла.
При получении управления вирус выделяет себе блок памяти посредством
вызова функции PageAllocate и "собирает себя по частям" в единое целое
в этом выделенном участке памяти. Далее Win95.CIH перехватывает IFS API
и отдает управление программе-вирусоносителю. При открытии файлов с
расширением EXE и форматом PE вирус инфицирует их.
26 числа каждого месяца вирус уничтожает содержимое Flash BIOS,
записывая в него случайные данные ("мусор"). В результате после первой
же перезагрузки компьютер перестает загружаться. И, как правило, даже
в промышленных условиях восстановить содержимое Flash BIOS и вернуть
работоспособность компьютеру достаточно сложно. Я РЕКОМЕНДУЮ всем
пользователям современных компьютеров установить ПЕРЕКЛЮЧАТЕЛЬ на
материнской плате компьютера в положение, запрещающее ЗАПИСЬ во Flash
BIOS! Иначе ВЫ можете НАВСЕГДА ПОТЕРЯТЬ свой компьютер!
В настоящее время существует 3 модификации вируса Win95.CIH длиной
1003, 1010 и 1019 байт. Данные вирусы содержат в своем теле тексты:
Win95.CIH.1003 - CIH v1.2 TTIT
Win95.CIH.1010 - CIH v1.3 TTIT
Win95.CIH.1019 - CIH v1.4 TATUNG "
Догадайтесь, откуда цитата? Гыыыыыыы.....
Так вот, существует до жопы версий, почему этому творению дали такое
затейливое название. Это про CIH. Грят, это, мол инициалы. Да... Может быть,
конечно; все было бы хорошо, не попадись как-то мне книженция под названием
"Профессиональная работа в MS-DOS", кто автор не помню. Книжица хорошая, если
бы не куча опечаток, вплоть до того, что перепутаны регистры в описаниях
21-го инта, пиндык короче. Так вот смотрю я там как-то, искал что-ли
чегой-то, и попалось мне на глаза нечто типа "....функция CIH...." Сперва я
это пропустил как-то, а потом чуть не охренел: "ШО ЗА CIH?????? 8-["
Оказалось, 0C1h. А называется типа "Получить адрес расширенной области BIOS".
В общем, подробности смотри в справочниках. Хотя это может все фуфло, и
никакой "тайны названия" давно может и нету :(
Ладно, с чихом закончили, теперь кое-что про изврат с кодингом.
Думаю, все уже в курсе недокументированных особенностей MS-D0S'a.
"А не пойти ли бы мне с твоим досом на хуй?" - спросите вы. Как угодно.
Если вам неинтересно, то что-ж, любите друг друга, пользуйтесь презервативом.
Работник и работница -
Лицо из монолита,
А то, что ниже пояса
Из чугуна налито.
Вот кому не страшен
Синдром
Приобретенного
Имуно-
дефицита!
Но заболтал-ся я... Скажу хоть про известную фичу, такую как X'5Fh'
Например, программка
mov ax, 5F08
mov bl, 3
int 21h
заныкает от системы логический диск, то-ли C:, то-ли D:, смотря что
такое '0' - дефоултовый али 'A:'
Соответственно
mov ax, 5F07
....
...
разныкает. Ну, то есть диск опять будет. Нда. Ну для юзеров, ну и что?
Ладно, следующий пункт нашей клоунады - проверка на наличие EMM. Хрен знает,
зачем это нужно, разве что для прикола, например, программка выводит
надпись "please remove EMS driver" в случае когда он есть и наоборот :)
Дело в том, что вызов int 67h может сделать все что угодно, если там
тусуется какая-то хуйня вместо EMM'а
Так вот...
mov al, 67h ; Е-эм-эмский инт
mov ah, 35h
int 21h
mov di, 10 ; Я не помню, мож там и 10h ?
mov si, seg EMM_NAME
mov ds, si
mov si, offset EMM_NAME
mov cx, 8
cld
repz cmpsp
jnz NO_EMM
.
.
.
EMM
-----
emm_name db 'EMMXXXX0' ; Вот это там и будет
OK, под конец покажем вам... Нет, я не это. Просто, существует
порт 3DAh, то ли это VGA, то ли ЯGA, короче, слать в него надо.... всего
по порядку. И без пауз. Эффект прикольный. Советую перед этим сделать
out 64h, 0ADh, ну не так конечно, но суть та же. Это чтобы клаву затрахать.
А затразанная клава на нажатия не реагирует.....
Данный способ был проверен на разных мониторах - всякие samsung'и трахаются
очень прикольно, а старые SVGA не особо. Эксперименты с 3DA безвредны.
Еще вот что - регистр R7 контроллера EGA называется "положение кадрового
импульса" Поэтому путем засылки в порт 3D4 числа 8 мы вибираем этот
регистр и извращаемся с ним через порт 3D5. Там что-то вроде четыре бита
на вертикальное направление и четыре на горизонтальное, суть в том, что
можно двигать картинку по экрану (в любом режиме!)
Ладно, это все ламерство, хоть и действует (на ламеров).
Усего доброго.... гыы
/Jarod