2012-11-28 7 views
1

Я разработчик C# и в основном работаю с сетью.Программирование в BIOS

Вот что я хочу: Я хочу создать подпрограмму, которая запускается непосредственно на машине (независимо от ОС), чтобы при переустановке ОС моя программа все еще там.

В принципе, я хочу создать противоугонную систему. эта процедура получит местоположение gps ноутбука и отправит его на конкретный адрес электронной почты.

Я думаю, что это может быть сделано только в программировании на уровне BIOS, но я не нахожу первый шаг.

+1

Я не думаю, что это легко возможно без ** A ** выделенного оборудования или ** B ** некоторых серьезных взломов BIOS. Но в остальном это правдоподобный проект, который сделает вас удачей **. –

+4

Большинство поставщиков BIOS делают это трудно (намеренно). Проверьте [coreboot] (http://www.coreboot.org/), хотя в качестве расширяемой исходной точки с открытым исходным кодом. – Flexo

+0

@Flexo: положите его в ответ. Это очень полезно. –

ответ

4

Поставщики традиционных компьютеров для ПК стараются хранить свои активы в тайне. Это затрудняет программирование уровня BIOS. Он специфичен для поставщика BIOS, конкретной сборки для конкретного оборудования, на котором он работает, и вы будете исправлять двоичные файлы для ввода кода.

Материнские платы, у которых есть две (или более) EEPROM-устройства для BIOS, делают работу таким, как это возможно, для небольшого количества денежных средств - это гарантирует, что вы все испортите, у вас все еще есть способ загрузки и повторного мигания изображения, которое вы сломали ,

Coreboot является альтернативой бесплатного программного обеспечения, целью которого является сокращение традиционных закрытых поставщиков BIOS из процесса загрузки. Это расширяемый (очень маленький ASM) и открытый источник, что делает его хорошим местом для поиска, если вы хотите разработать расширения BIOS.

EFI на более новом оборудовании слишком сильно меняет изображение. Например, вы можете представить свое программное обеспечение как EFI extension на внутреннем USB-устройстве.

+0

+1 ... Мне нравится думать о развитии расширения EFI. Как вы отлаживаете такие вещи без какого-либо серьезного эмулятора? Попытка каждой версии - это очень трудоемкая задача без нее. Это вернуло меня в девяностые годы, когда я суетился о медленном компиляторе/компоновщике C++ ... :) –

+0

@RobertKoritnik - с EFI, по крайней мере, с виртуализацией, это (порой) разумный способ хотя бы обходить его. – Flexo

+0

Возможно ли это? Чтобы иметь конкретные виртуальные машины, работающие с определенными расширениями EFI? Я имею в виду, не запуская такое же расширение на главной машине? –

Смежные вопросы