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