Автор
|
Тема: исходники BIOS
|
R II |
опубликован 24-05-2001 15:50 MSK
Где можно взять исходники BIOSов?
|
server_mouse
|
опубликован 24-05-2001 18:41 MSK
По адресу FE00:0000 реального режима. ;-) Они ж всё равно на асме писаны, какая тебе разница.
|
Fagot
|
опубликован 28-05-2001 12:39 MSK
Ты бы еще спросил где взять исходники мастдая, естессно у производителей, но врядли они просто так тебе их дадут. Так что, сливаешь прошивку и декомпилишь ее, она ничем не сжимается :) |
server_mouse
|
опубликован 06-06-2001 16:26 MSK
Мастдай-то как раз и отдают, но сможешь ли ты унести, вот вопрос! ;-))) |
Gibbel
|
опубликован 18-12-2001 17:22 MSK
server_mouse, а если смогу - сольешь на почту??? ))) |
rivitna
|
опубликован 18-12-2001 19:38 MSK
2 server_mouse: Да, ты остряк-самоучка!По поводу BIOS... Обычно размер составляет 128к, но может и 512к, а гипотетически и вообще 2М. Основной текст BIOS содержится по адресу F000:0000 (реальный режим), расширение - по E000:0000. Но отображаемый в этих сегментах может варьироваться в зависимости от настроек SETUP. Можно код получить с помощью зеркального отображения кода в flat real mode, читайте доку по PCI мосту, у нас писали такую утилитку... Оригинальное предложение по дизассемблированию не катит. Текст кода перемешан с данными, любой дизассемблер, в том числе интерактивный загнется, но безумству храбрым споем мы песню... Короче, тем или ином боком занимаясь BIOS в течение 2-х лет, могу Вам заявить по поводу самостоятельного определения кода: "Флаг Вам в руки, барабан на шею... ну и... якорь в ноги. Тем более код представляет собой занимательную смесь кривого и очень талантливого кода, я много почерпал для себя оттуда. Первая часть - это от вендоров платы, а вторая оттточенная от разработчика BIOS (Award, AMI и т.д.). Наши средние умы оказались бессильны... Да, еще забыл сказать определенная часть кода BIOS обычно шифруется и пакуется. Привет! |
7in
|
опубликован 18-12-2001 22:20 MSK
Факт, rivitna. Я попробовал как-то посмотреть "загрузчик" (через HIEW :) ... Кошмар одним словом. Там во-первых через каждые 5 команд прыжок, причём с помощью...mov sp,Слово_с_Адресом_процедуры-2 ret И так 25 раз, а потом мне надоело :) Кстати, анекдот есть на эту тему... Суд. Зверзкое убийство, 25 ножевых ранений. Подсудимого спрашивают как всё было. Подсудимый: Стою я на кунхе, режу апельсин, а кожуру на пол бросаю. Слышу шаги. Обарачиваюсь, а там мужик незнакомый бежит ко мне. Подскальзывается на корке и прямо на мой нож. И так 25 раз :) |
rivitna
|
опубликован 19-12-2001 22:38 MSK
2 7in: А ты - крепкий парень! :)Я уже где-то на 10-м прыжке загрустил... |
purpe
|
опубликован 20-12-2001 12:00 MSK
а я допрыгался до самого конца :) а бросил енто дело на том месте, где начинается считывание в память MsDos.Sys. Там шипко хитрый цикл, по сравнению с которым данные переходы просто детское развлечение :)
|
VuDZ
|
опубликован 20-12-2001 06:32 MSK
2all а прошивки бивиса, которые распространяют разные конторы - ASUS & etc. - с ними можно что-ньть сделать? ЗЫ конкретнее - ASUS + Award Medallion 6.0 |
rivitna
|
опубликован 20-12-2001 07:43 MSK
2 purpe: Позволь усомниться в этом? Во-первых, по адресу F000:FFF0 с вероятностью 95% находится команда int 19h, а не jmp near xxx, как ты это перепрыгнул, просто ума не приложу! Во-вторых, действия загрузчика BIOS заканчиваются на копировании MBR в память по адресу 7С00:0000 и передачи ему управления Задачей же загрузчика MBR является поиск активной партиции в таблице MBR и передача управления загрузчику BR партиции. А загрузчик BR ищет в корневом каталоге IO.SYS и подгружает его, а уж потом и MSDOS.SYS и COMMAND.COM. Это, говорилось для случая DOS, конечно.Поэтому возникает вопрос: "Как ты все это проделал, прыгая по BIOS?". Хотя кто знает, может ты - вундермен. Я разбирался в загрузчике (POST) и могу сказать, что там, даже если удастся диссамблеровать код, без поллитры не разберешься. Помимо программирования совершенно недокументированных портов, существует инициализация устройств Plug & Play, а это отдельная песня, во время нее происходит создание загадочных структур в пределах первого мегабайта. В принципе даже и с этим можно разобраться, но для этого нужны нехилые исследования и недешевое оборудование, кому это только надо. Меня, помню, года три назад восхитил тест памяти по BIOS-ки. Процессор переводится в защищенный режим так, что физическая память становится доступной в пределах всего линейного адресного пространства, а затем организуется цикл по мегабайтам, в котором происходит обращение к первому двойному слову мегабайта, какая-нить логическая операция, чаще XOR, а затем сравнение на правильность выполнения. Если все сошлось, мегабайт считается действительным и суммируется к объему ОЗУ. Таким макаром, и определяется объем оперативки. ASUS в каких-то платах даже в таком цикле облажались, и у них память (если она больше 64M) определялась не всегда правильно. 2 R II: Ты хоть народу скажи, на что исходники нужны, любопытство разыгралось не на шутку. |
rivitna
|
опубликован 20-12-2001 07:48 MSK
2 purpe:А может, ты хорошо разбежался и перепрыгнул всю BIOS? Тожа всет-ки способ! :) |
VuDZ
|
опубликован 20-12-2001 07:55 MSK
И всё таки, я хотел бы узнать, можно ли дизассемблить файлы обновления бивиса? т.е. те,которые используются для его перепрошивки или которые можно вытащить в файл с помощью авардовских утилит? |
rivitna
|
опубликован 20-12-2001 07:57 MSK
Забыл еще отметить немаловажную деталь. Во время POST выполняет код не только BIOS. Во время POST сканируется память, начиная с C000:0000 на предмет обнаружения ПЗУ подключенных адаптеров. Если таковые обнаруживаются, управление передается им для инициализации. По адресу C000:0000 всегда находится часть ПЗУ видеоадаптера. В итоге по BIOS особо не попрыгаешь без отладки. А если с отладкой, так это верный способо подвесить электронного друга! |
rivitna
|
опубликован 20-12-2001 08:04 MSK
2 VuDZ: В принципе дизассемблировать можно все, директива DB в этом поможет. Корректно же дизассемблировать почти не возможно. Даже с помощью IDA |
devilray
|
опубликован 20-12-2001 09:37 MSK
Я понял зачем ему БИОС в исходниках нужен !!!!!!!! Он хочет написать злостный вирус !!!!!!!! Но за распространение вредоносного ПО предусмотрена статья в УК РФ. Так что будем знать, к кому обращаться когда наши компы помрут ... :((((((( |
7in
|
опубликован 20-12-2001 23:40 MSK
Ну Вы, блин, даёте. Тут прям схватка!!! (главное, чтоб не схватки - тогда сразу в больницу).Кстати, интересно было бы найти описание процедур перепрошивки :))) Часть есть в Infected Voice (номер 9, Московская версия), но там, правда, для AMI, коих сейчас фиг где найдёшь. К тому же этот способ не проверен :) . Но можете попробовать, проверить :))) 2 ritina: Сколько прыжков я не считал, 25 - для анекдота :) Кстати, а слабо вирус написать в 12 байт? :) Ну, в смысле, программу, которая хоть как-то (пусть коряво), но самораспространаяется :))) |
7in
|
опубликован 20-12-2001 23:43 MSK
2 devilray: А работает ли твоя статья в России? (1) . К тому же, будет интересно посмотреть, как специально созданная комиссия будет доказывать, что эту программу написал именно он :))) (2) |
rivitna
|
опубликован 21-12-2001 07:15 MSK
2 7n: Понял - не дурак, шутку оценил (по поводу прыжков)А по поводу вируса... Рекордный размер вируса составляет 18 байт из семейства Trivial. Ну а 12 байт - это ты загнул! |
devilray
|
опубликован 21-12-2001 10:09 MSK
2 7in: УК РФ - уголовный кодекс Российской Федерации => работает в России и нигде кроме России (1). А насчет доказательства не беспокойся, в ФСБ работают грамотные люди, докажут все что хочешь |
IsWin
|
опубликован 21-12-2001 17:09 MSK
Мужики, агде можно почитать про биос чегонибуть путное? (мечтаю даже на русском:-) |
rivitna
|
опубликован 21-12-2001 19:50 MSK
2 IsWin: Читай выше. Путного ты ничего не найдешь, BIOS - одна из самых недокументированных областей компьютерной техники, так как затрагивает архитектуру плат. Я занимался в течение двух лет изучением BIOS по работе, могу сказать, что в принципе знаю меньше, чем хотелось бы. Изучить можно все, нужны только бабки и специальная техника. Только кому это нужно, если плат немеренно и для каждой своя уникальная BIOS. Пока изучишь одно, прогресс на месте не стоит. Вот и получаются такие бестолковые догонялки. Я уже выше писал, что разработчики BIOS продают технологию или скелет кода BIOS, отточенный годами. А разработчики плат с учетом архитектуры плат насыщают полученное от разработчиков BIOS. И код этот настолько кривой, что впечатление, что написан на коленках и второпях. Даже больше скажу, что разработаны компиляторы специализированного языка низкого уровня для быстрого написания BIOS (для разработчиков). Стиль вольготного программирования а-ля Microsoft дошел и до BIOS. Так что, дорогой товарищ, кроме API BIOS и избитых истин, которые я писал в этом форуме ты в открытой литературе не найдешь. От хакерских изысков тоже мало толку. Немножко оптимизму на закуску. С другой стороны, если ставить себе задачи проще и конкретнее, то есть найти и изучить какой-то интересующий момент, то это реально и это можно сделать, но только своими ручками |
7in
|
опубликован 21-12-2001 23:36 MSK
Люди! А у кого-нибудь есть сборники самых маленьких вирусов (хотя бы в откомпил.виде)? *** Очень интересно!!! ***Я пробовал как-то ради спортивного интереса написать маленький вирус, который _сохраняет работоспособность программы_ . Самое маленькое, что у меня получилось - это TSR в 86 байт (распространять его не собираюсь :) . А это много :( . Самый маленький насколько я знаю - 58 байтовый из серии Small (посмотреть бы на него). Может, у кого есть? Trivial из другой области, т.к. программу перезаписывает, да и заразить-то толком не может (18-байтовый). |
rivitna
|
опубликован 22-12-2001 12:21 MSK
2 7in: По-моему, речь идет о BIOS, эка куда Вас занесло, товарищ (или господин, если угодно).У меня есть Small.58, но высылать я его никому не намерен по этическим соображениям, рекомендую, почитать, что писал devilray, в этом есть определенный смысл. |
7in
|
опубликован 22-12-2001 22:52 MSK
2 rivitna: Мне это нужно для самообразования и только! Может, всё-таки пришлёшь? :))) . Распространять его я не буду, мне это на фиг не надо. Я ж не какой-нибудь вирусописатель злостный! А на счёт того, что писал devilray - это не ко мне...Excuse me for OFF-TOPIC :) |
server_mouse
|
опубликован 24-12-2001 17:18 MSK
2Gibbel: Пиши uncle_billi@micro$oft.com :) Он тебе скинет.2purpe : Ну вы однако прыгун товагищь. Оказывается Msdos.sys грузится кодом BIOS... Вы открыли сверх секретную технологию загрузки компутаров. |
purpe
|
опубликован 24-12-2001 17:28 MSK
та лана тебе ёрничать :)я када ваял свою мессагу, то думал о MBR, а потом, как ещё раз перечитал топик, то понял, что я не о том. Потом я уже был пьяный, и поэтому вместо оправдания получились бы сплошные матюги :) а потом мне было влом ... а потом забыл .. а потом ... кароче а потом вылез тут ты и начал меня абсирать .... ну ты чё мужик ? я уже тышшу раз успел осознать, что неправ :)
|
devilray
|
опубликован 24-12-2001 17:58 MSK
ой доиграетесь вы с BIOSами, мужики. Делайте образы, а то будет БАААААЛЬШОЙ пипец |
server_mouse
|
опубликован 24-12-2001 23:07 MSK
2purpe : Сорри. (ВНУТРЕННИЙ ГОЛОС: "Це ж админ! Страх потерял?!") :) Лана, шутка всё, я ж тебя вроде уж как и знаю -- не первую месагу вместе постим... |
7in
|
опубликован 25-12-2001 21:00 MSK
Ладно, люди, хорош наезжать...Я предлагаю (тем, кто что-то когда-то искал в BIOS'е) поделиться опытом и рассказать, что интересного они там нашли (может, какой-то интересный и необычный метод определения чего-нибудь и работы с чем-нибудь). Кстати, универсальные пароли уже перестали существовать, я правильно понял? |
server_mouse
|
опубликован 25-12-2001 23:30 MSK
Ага. Универсальные пароли проходят IMHO только на старых машинах. На новых у меня из списка (штук 10) не подошёл не один. :( |