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

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

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

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler

Выпуск № 219
от 24.08.2005, 16:55

Администратор:Калашников О.А.
В рассылке:Подписчиков: 252, Экспертов: 19
В номере:Вопросов: 2, Ответов: 6


Вопрос № 25043: Уважаемые эксперты, Когда-то тут пролетел вопрос о том, что плохого с компьютером можно сделать с помощью ассемблера. Раньше как-то об этом не задумывался, а теперь хочу спросить - посколько большинство вирусов пишется как раз на ассемблере - как...
Вопрос № 25044: Здравствуйте, Еще один небольшой вопрос - требуется создать массив для хранения изображения более чем 64 кб информации, хотелось бы узнать как в ассемблере такие массивы можно создавать и как потом к ним обращатся?...

Вопрос № 25.043
Уважаемые эксперты,
Когда-то тут пролетел вопрос о том, что плохого с компьютером можно сделать с помощью ассемблера. Раньше как-то об этом не задумывался, а теперь хочу спросить - посколько большинство вирусов пишется как раз на ассемблере - какой реальный физический ущерб программа может нанести оборудованию?
Хотелось бы так же узнать в общих чертах с помощью каких алгоритмов можно например спалить видеокарту и монитор - дело в том что как раз сейчас я разбираюсь с работой видио карты - стало страшновато - хотя пока ничего такого что может испотить явным образом монитор не обнаружил. Мои предположения - часто менять режим экрана, или как-то менять частоту - но разве современные мониторы не защищены аппаратно от таких проделок.(да и windows хоть 98 все равно наверняка не даст ничего такого сделать)
Как спалить видиеокарту или модем или еще чего вообще не имею понятия - однако хотелось бы узнать и об этом, так сказать на будущие. :) Не хотелось бы чего-нибудь невзначай безвозвратно угробить.
Отправлен: 18.08.2005, 19:27
Вопрос задал: Freshman (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Евгений Иванов
Здравствуйте, Freshman!
чтобы спалить видео-монитор, много ума не нужно.
есть CRTC-регистры 3D4h, 3D5h.

чтобы сктановить видеорежим, нужно сделать много действий со многими регистрами. если последовательность прервать или не завершить (или невовремя), то можно спалить монитор или видеоадаптер...

A programmer can design new video modes by manipulating the
VGA registers directly. However it is not advised because of
the complexity of the manipulations required to change a mode.

A mistake could damage the monitor or the display adapter.

The lower 8 registers in the CRTC contain sensitive horizontal
and vertical timing settings. Software expecting the EGA may
program these registers unwittingly. To un-protect the CRTC
registers 0-7, first set the CR field in the End horizontal
blanking register, then clear the PR field in the Vertical
retrace end register.

в этих регистрах хранятся по сути частоты развёрток по горизонтали и вертикали.


---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 18.08.2005, 20:12

Отвечает: newinfo2005
Здравствуйте, Freshman!
Например, удалить всю информацию с винчестера за 0,5 - 1 секунду (по принципу работы Fdisk), спалить монитор, физически испортить винчестер а еще можно матиринку не много поломать чтобы можно было смело нести на поймку с помощью
BIOS(например удалить его или испортить почитай инфу я никогда таким не благородном делом не занимался чтобы испортить какую нибудь вещь)
---------
Теряет тот , кто недвижется вперёд!!!
Ответ отправил: newinfo2005 (статус: 3-ий класс)
Отправлен: 18.08.2005, 21:00

Отвечает: Sager
Здравствуйте, Freshman!
>>Не хотелось бы чего-нибудь невзначай безвозвратно угробить.
Используй виртуальную машину(например VMWare или VirtualPC) и ничего не угробишь :-)
Ответ отправил: Sager (статус: 4-ый класс)
Отправлен: 18.08.2005, 21:17

Отвечает: Ddeedd
Здравствуйте, Freshman!

Не бойся, видюху и монитор ты не спалишь, чтобы спалить современный монитор - надо серьезно постараться, видюху - попроще - аккуратней манипулируй функциями ускорения проца(особенно если они подразумевают повышение на нем напряжения), аккуратно используй различные настройки тайминга, а играя с горизонтальными и вертикальными частотами разверток уже давно, по-моему мнению, ничего плохого сделать нельзя. Модем - только если неудачно обновить егошный биос, аналогично с другими устройствами, ну а винты - убить легко, если прога долезет до портов.
Ответ отправил: Ddeedd (статус: 4-ый класс)
Отправлен: 18.08.2005, 22:07


Вопрос № 25.044
Здравствуйте,
Еще один небольшой вопрос - требуется создать массив для хранения изображения более чем 64 кб информации, хотелось бы узнать как в ассемблере такие массивы можно создавать и как потом к ним обращатся?
Отправлен: 18.08.2005, 19:31
Вопрос задал: Freshman (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Евгений Иванов
Здравствуйте, Freshman!
Ассемблер тут ни при чём.
Я вот программирую для win32 и не знаю проблем с сегментами. ;)
ты хотел спросить - как работать с большими объёмами информации в dos16, которые не умещаются в одном сегменте?
тогда отвечаю - используй HUGE-модель поведения.
это значит - эмуляция больших адресов. несложно написать самому.
тебе помочь?

seg dw ?
adr dw ?

mov ax, [seg]
mov dx, [adr]

call NextAddress, ax, dx

proc NextAddress
arg seg:word, adr:word
mov dx, [seg]
mov ax, [adr]
inc ax
jnz ok
add dx,1000h
ok:
endp

надеюсь, всё понятно?
удачи!

---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 18.08.2005, 20:05

Отвечает: Вiктор
Здравствуйте, Freshman!
можно получить в досе до 16 МБ памяти (если она есть физически) используя расширенную память (EMS). Я таким образом считывал в память BMP-картинку 900 Кб и потом выводил её на экран. Но там доступ не к линейному участку, а к страницам вроде бы по 4 Кб. Можно проецировать эти страницы из расширенной памяти в обычную 640 Кб по адресу вроде бы e0000h или как там... и так по одной страничке и обращаться - для чтения, для записи. и менять страницы.
Ну, в общем можно. Но я точно не помню, а справочника под рукой сейчас нет. Попробуйте поискать про использование расширенной памяти в досе. Если не найдёте, то задайте вопрос конкретно по этой теме.
Ну а можно ещё выходить в защищённый режим, но это надо не у меня спрашивать.
удачи вам.
---------
Хочу себе более быстрый компьютер ! ! !
Ответ отправил: Вiктор (статус: 4-ый класс)
Отправлен: 19.08.2005, 01:00


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

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

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

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

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


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


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.faq
Отписаться
Вспомнить пароль

В избранное