Вопросик к знатокам ISA PNP

Уважаемые господа!

У меня непонятки с таким вот кодом работы с механизмом PNP (получен из бут-блока AMI BIOS-а мат. платы Zida TX100 в процессе дизассемблирования и изучения этого биоса):

:0001.F5B8 DW 03F0, 03F1
:0001.F5BC DB 86, 61, 55, 55
:0001.F5C0 DB 86, 61, 55, AA
:0001.F5C4 DB 86, 61, AA, 55

; *** ISA PNP initiation key ***

:0001.F5C8 DB 6A, B5, DA, ED, F6, FB, 7D, BE, DF, 6F, 37, 1B, 0D, 86, C3, 61
:0001.F5D8 DB B0, 58, 2C, 16, 8B, 45, A2, D1, E8, 74, 3A, 9D, CE, E7, 73, 39

; *** подпрограмма настройки ISA PNP ***

:0001:F5E8 8BCA                   mov cx, dx		;
:0001.F5EA 66C1E110               shl ecx, 10		; "прячем"
:0001.F5EE 66C1E010               shl eax, 10		; ax, bx и сх
:0001.F5F2 66C1E310               shl ebx, 10		; в верхних "половинах"
:0001.F5F6 33DB                   xor bx, bx		; соотв. 32-разрядных р-в

:0001.F5F8 2E813EB8F5F003         cmp word ptr cs:[F5B8], 03F0	;
:0001.F5FF 740F                   je F610			;
:0001.F601 83C304                 add bx, 0004			;
:0001.F604 2E813EB8F5BD03         cmp word ptr cs:[F5B8], 03BD	;
:0001.F60B 7403                   je F610			;
:0001.F60D 83C304                 add bx, 0004		;
:0001.F610 BA7902                 mov dx, 0279		;
:0001.F613 B90400                 mov cx, 0004		;

:0001.F616 2E8A87BCF5             mov al , cs:[bx+F5BC]	;
:0001.F61B EE                     out dx, al			;
:0001.F61C 43                     inc bx			;
:0001.F61D E2F7                   loop F616			;

:0001.F61F 2E8B16B8F5             mov dx, cs:[F5B8]	; активация режима
:0001.F624 33DB                   xor bx, bx		; настройки ISA PNP
:0001.F626 B92000                 mov cx, 0020	;
:0001.F629 2E8A87C8F5             mov al , cs:[bx+F5C8]; (загрузка ISA PNP
:0001.F62E EE                     out dx, al		; initiation key).
:0001.F62F 43                     inc bx		;
:0001.F630 E2F7                   loop F629		;

:0001.F632 66C1EB10               shr ebx, 10		; 
:0001.F636 B007                   mov al, 07		;
:0001.F638 EE                     out dx, al		; записываем 7 в [F5B8]
:0001.F639 42                     inc dx		; 
:0001.F63A 8AC3                   mov al , bl 		; записываем bl в [F5B8]+1
:0001.F63C EE                     out dx, al		;
:0001.F63D 4A                     dec dx		;
:0001.F63E 66C1E810               shr eax, 10		; записываем al в [F5B8]
:0001.F642 EE                     out dx, al		;
:0001.F643 42                     inc dx		; записываем ah в [F5B8]+1
:0001.F644 86E0                   xchg al , ah		;
:0001.F646 EE                     out dx, al		;
:0001.F647 4A                     dec dx		;
:0001.F648 B002                   mov al, 02		; записываем 02 в [F5B8]
:0001.F64A EE                     out dx, al		;
:0001.F64B 42                     inc dx		;
:0001.F64C EB00                   jmp F64E		;

:0001.F64E EE                     out dx, al	;  записываем 02 в [F5B8]+1
:0001.F64F 66C1E910              shr ecx, 10	;
:0001.F653 8BD1                   mov dx, cx	; dx=cx
:0001.F655 FFE7                   jmp di	; возврат

Непонятки следующие:

1. Почему initiation key посылается не в адресный PNP-порт 279, как указано в спецификации ISA PNP, а в другой (в данном случае - порт 3F0)? И что это за порты - 3F0, 3F1?

2. Что-за 4-байтная последовательность (86, 61, 55, 55 с вариациями :) )
пишется в адресный PNP порт 279 перед загрузкой initiation key в порт 3F0)?

Заранее большое спасибо за любую помощь.

P.S. Подправил код

Аватар пользователя Семен Сатановский

Савелий, я вот тут ничего не понял

Цитата:
Ну, она работает. Пугают, что в базе сохраняются некие "watermark", по которым как минимум можно узнать, на кого была зарегана та копия, которой создана база. Не знаю - правда или нет. Но для этого база должна для чего-то коммерческого юзаться и попасть в соотв. руки...

Программа создает какую-то базу в процессе работы, чем это грозит если копия не
моя, при чем здесь коммерческое использование, и какие руки должны быть у

счастливого обладателя халявы :D (понятно, что не кривые :D )
В общем, если можешь поделись соображениями, я ведь потому и сообщение
написал, что нет уверенности, что все так складно, как кажется :?

Аватар пользователя savely

Да я без понятия, чем это грозит. Видимо тем же, чем нелицензионная XP у тебя на компе, если она (XP) тебе лично вообще чем-то грозит...:)
Неправильно дизассемблировать или форматить веник IDA не грозит.

А кому счас легко...

Это imho грозит тем, что, имея базу, можно будет определить, лицензионной ли программой она создана и, возможно, что-то еще (типа конфигурации компа "пирата", на кого зарегена ОС-ка и т.п.).
Соответственно если выложить такую базу в Инет, то (теоретически) это должно значительно повлиять на глубину твоего сна :)

Добавлено спустя 8 минут 55 секунд:

А если пользоваться результатами программы для себя-друзей, то ничем это не грозит... Кстати, такие "штампы" не есть что-то новое, они, насколько я помню, и в документах Microsoft Office есть.

Прогу отыскал (v 4.30), качнул (не 19, а 30 Мб!), теперь, наверное, буду от начальства моральные пиндюлины получать как злостный и наглый растратчик финансовых средств предприятия ;) А мож, пронесет...

Разбираюсь потихоньку. Программа интересная и довольно навороченная.

---
С уважением,
Андрей aka Angel07

Аватар пользователя icbook

Angel07 писал(-а):
Прогу отыскал (v 4.30), качнул (не 19, а 30 Мб!)

А если "About" посмотреть, - что пишет? Моя Ида говорит, что она 4.3.0.740a... Интересно, что умеет v4.30?

Аватар пользователя savely

To icbook: Советую (с учетом специфики) приобрести легальную версию. Или почаще искать у китайцев...

А кому счас легко...

Аватар пользователя icbook

К счастью, не IDA-ой единой... Т.е. это не тот продукт, без которого невозможно выполнить проект (опять же, с учетом специфики и без смайла). Потому что проекты нужно (или приходится?) придумывать, а не пионерить из других источников.
Знакомясь с IDA нельзя не признать талант ее автора. Но даже дизассемблирование свего кода вызывает некоторые вопросы. Это не принципиальные вопросы, поэтому интересно, какие новшества в других релизах без обсуждения в специальных форумах. Например, пофиксился ли BSWAP?

Аватар пользователя Root

а у меня 4.5.0 :P
Вроде пофиксили работу с юникодом, работу с PDBшками и пр. пр. Только списка изменений никак найти не могу. Полный комплект весит (вместе с базами FLIRT, SDK и примерами) 67MB. В архиве где-то около 30МБ.....

Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P

Цитата:

Моя Ида говорит, что она 4.3.0.740a...

Моя говорит то же самое :)

С прогой пока не разобрался, но apple_rom-овские AMI-шники открыл успешно. Наконец-то! :) У idb формат такой, что, смотря как plain text, вообще ничего стОящего не увидишь :)

Кстати, чтобы не плодить темы - если уж заговорили о пиратстве, то такой вопрос: если я выложу дизассембленный и прокомментированный мной биос, скажем, к себе на сайт - могу ли я спать крепко? :) Ведь вроде как reverse engineering - дело незаконное? Или незаконен только r.e. для взлома?

---
С уважением,
Андрей aka Angel07

Аватар пользователя savely

Ну, я лично не в курсе. Я никогда не публиковал свои IDB... Хотя на всякий случай - не выкладывал бы. Да и эту тему прибил бы, дабы Романа не подставлять ссылками...
P.S. Я в области "безопасности информации" работаю, у меня обычная "слегка паранойя".

А кому счас легко...

Angel07

если взять биос из пзу, то НИКАКАЯ лицензия не может быть нарушена, ведь мы её не имеем на руках, а вот если биос скачан с сайта производителя или другого места, куда он попал с этого сайта, то в этом случае у производителя, думаю, написано где-то мелкими буквами-"Нажимая эту кнопку вы соглашаетесь..."

PS в мануалах я читал про то, что их нельзя воспроизводить, но, кажется, про биос там не сказано...

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей