![]() |
|
|
![]()
|
|
| Spirtoza |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 4.10.2002 Репутация: нет Всего: нет |
Как открыть лоток CD-ROM через INT 2f?
|
|||
|
||||
| Chingachguk |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 18 |
Попробуй посмотреть interrupt list Ральфа Брауна.
Если не найдешь, пиши - я сам могу посмотреть ;) -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
| Spirtoza |
|
|||
|
Unregistered |
Спасибо, я уже нашел API mscdex и все получилось. И я пришел к выводу, что такие вещи лучше делать непосредственно через порты. Но вот какой возник вопрос: как послать ATAPI пакет в порт? С жесткими дисками все и так ясно - там пишется байт. А с CD как же? Только не отсылайте меня к докам, лучше приведите конкретный пример типа: mov dx,170 mov al,a0 out dx,al [ ... ] чтобы лоток открывался. Комментировать необязательно. Буду очень признателен за ответ. |
|||
|
||||
| Chingachguk |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 18 |
Смотри, ситуация такая: ни я, ни ты не знаем, какие команды подавать в порт. Более того, ты гораздо лучше разобрался, нашел апи и т.д. С другой стороны, мы знаем, что если вызвать ту апи, то где-то в недрах ДОС? WIN? - не важно, выполниться ПРАВИЛЬНЫЙ КОД. И надо его найти.
Как бы я поступил ? Трассировать тучи команд (даже в досе их дофига) - не катит. Нет, это тоже способ. Но я бы поставил бряк в СофтАйсе на доступ к порту и запустил бы эту апи: bpio 170(десятичный, надо в хексе) ; Этот порт ? И отладчик бы всплыл там, где произойдет обращение к этим портам. Более того, можно поставить несколько бряков на порты 170...170+ Так я определял, кто и где лезет в порты из драйверов win, обращается ли винда к cmos и т.п. Если хочешь, могу посмотреть твои порты, только апи мне скажи ;) -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
| Spirtoza |
|
|||
|
Unregistered |
Я только начинаю осваивать ASM и многих приемов не знаю. В частности, про ваш метод я услышал впервые... Но ведь это то что мне нужно!!! Это ж клево, перехватывать обращение к портам! Про СофтАйс я тоже ничего не знал, но как я понял, это крайне полезный инструмент... Мне еще много раз придется столкнуться с подобными задачами, и я научусь им пользоваться. Но... где его взять? Не могли ли вы прислать его на мыло [email protected] ? Буду очень благодарен!
170h - это командный порт secondary-IDE контроллера. Порты 171h-177h - порты обмена. В порт пишется ATA команда, взятая из спецификации ATA (www.t13.org). Например прога mov dx,170h mov al, e2h out dx,al останавливает шпиндель харда :-) Код A0h как раз включает режим ATAPI - подготовка к приему пакета. Другие порты не используются. А вот как сформировать этот самый пакет? У меня ничего не получается... (с хардами работает, а с сидюками - нет) - значит я что-то делаю не так. Есть прога управления CD-ROM без драйверов, с исходником, написаная на СИ, но в ней ничего не понятно. Дизассемблирование еще больше запутывает... Есть описание API с использованием INT2f - могу прислать :-) И еще много документации, если, что надо - подарю Спасибо за помощь! |
|||
|
||||
| Chingachguk |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 18 |
Значит, так.
> Где скачать СофтАйс ? Зайди на wasm.ru, посмотри раздел "Инструменты". Лично я работаю под 98-ой, и к ней есть нормальная версия. Под NT,Xp... я слышал, версии что-то не могут и что-то нужно доустанавливать. Есть также версия фюр дос, Но вот поддерживает ли она аппаратные точки останова (те бряки по доступу к портам) - я не знаю. В принципе, ты их сам можешь сделать - для этого нужно работать с регистрами DRx (386+) - и это совсем просто. > Где получить инфу по обучению ? Там же. Вроде бы есть уже статьи по изучению айса для начинающих. Плюс в этом форуме я уже с кем-то на эту тему говорил. Можно взять почти любую статью по исследованию защит программ - в них есть примеры работы с ним. > Работа с дос-задачами. Под виндами айс прекрасно видит код дос-задач, позволяет все то же самое, показывает символьные имена int'ов типа int 21h ... Короче, пробуй ;))) Твою апи, если сам к тому времени не разберешься, я, возможно, гляну на выходных. Достаточно поставить бряк на те порты и, к примеру, в любом виндовом прогрывателе выполнить команду "открыть лоток". -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
| wawan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 2.6.2008 Репутация: нет Всего: нет |
Spirtoza, у тебя чтонибудь получилось с работой с CD-rom через порты ?
я пытаюсь тоже прочитать диск посекторно, но чтото не выходит у меня каменный цветок пока... поделись плз исходничком на любом языке |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 1 Всего: 207 |
жесть
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 3 Всего: 121 |
6 лет... кажется, это рекорд
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |