Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Ассемблер? Это просто! Учимся программировать


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler (Ассемблер)

Выпуск № 800
от 09.07.2007, 18:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 387, Экспертов: 29
В номере:Вопросов: 1, Ответов: 1


Вопрос № 93815: Добрый день, уважаемые Эксперты! Скажите, пожалуйста, почему в процедуре "Infect" mov cx,offset Finish-100h-F_bytes ? почему размер вируса именно mov cx,offset Finish-100h-F_bytes.. никак понять не могу... Заранее спасибо! У...

Вопрос № 93.815
Добрый день, уважаемые Эксперты!
Скажите, пожалуйста, почему в процедуре "Infect" mov cx,offset Finish-100h-F_bytes ? почему размер вируса именно mov cx,offset Finish-100h-F_bytes..
никак понять не могу...
Заранее спасибо!
Удачи! Всего хорошего!

Приложение:

Отправлен: 03.07.2007, 20:02
Вопрос задал: Покритюк Виталий Леонидович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 8)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Покритюк Виталий Леонидович!

Наличие org 100h указывает, что это *.com программа.
Ещё во время DOS для экономии памяти при хранении инфомации на дисках ( далеко не гигобайтных) использовался этот формат, его особенность это то, что 256 байт префикса программы (в *.ехе программах перфикс находится вместе с программой тем самым увеличивая ее размер) при запуске заполняла сама DOS т.к. он был стандарный.
Все *.com программы пишутся с учетом смещения 100h и строго начинаются с этого с этого адреса. Значит мы его вычитаем.
F_bytes это первые байты файла жертвы и которые мы храним тут
First_bytes db 4 dup (90h), 0CDh, 20h
Finish equ $

тоже не нужны так как для них уже место отведено- вычитаем.
Вирус записыватеся в конец файла поэтому эта команда в CX запишет реальный размер вируса, на который и будет потом увеличен размер файла.
Удачи!

---------
И только наступив на грабли мы преобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Практикант)
Ответ отправлен: 03.07.2007, 20:39
Оценка за ответ: 4
Комментарий оценки:
но ведь
mov ah,3Fh
mov cx,F_bytes
mov dx,offset Finish
int 21h
Оно бы ведь должно сохраняться не в First_bytes а после метки "Init"... ((


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.53 beta от 09.07.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное