2012-11-28 19 views
1

Je suis développeur C# et travaille principalement avec le Web. Je veux créer une routine qui fonctionne directement sur la machine (indépendamment du système d'exploitation) de sorte que si je réinstalle le système d'exploitation alors ma routine est toujours là.Programmation dans le BIOS

Fondamentalement, je veux créer un système anti-vol. cette routine obtiendra l'emplacement GPS de l'ordinateur portable et l'enverra à un email spécifique.

Je pense que cela ne peut être fait dans la programmation au niveau du BIOS, mais je ne trouve pas la première étape.

+1

Je ne pense pas que ce soit facilement possible sans ** ** matériel dédié ou ** B ** un piratage sérieux du BIOS. Mais sinon un projet ** plausible qui ferait de vous une fortune **. –

+4

La plupart des fournisseurs de BIOS rendent cela difficile (intentionnellement). Découvrez [coreboot] (http://www.coreboot.org/) en tant que point de départ extensible open source. – Flexo

+0

@Flexo: mettez-le dans une réponse. C'est très utile. –

Répondre

4

Les fournisseurs traditionnels de BIOS de PC font des longueurs pour garder leurs actifs secrets. Cela rend la programmation au niveau du BIOS extrêmement difficile. C'est spécifique au fournisseur du BIOS, la construction spécifique pour le matériel spécifique sur lequel il s'exécute et vous corrigerez des binaires pour injecter votre code.

Les cartes mères équipées de deux EEPROM (ou plus) pour le BIOS rendent ce travail possible pour peu d'argent - il est certain que si vous gâchez, vous avez encore un moyen de démarrer et de refaire clignoter l'image .

Coreboot est une alternative de logiciel libre qui vise à couper les fournisseurs de BIOS fermés traditionnels hors du processus de démarrage. Il est extensible (très peu d'ASM) et open source ce qui en fait un bon endroit pour commencer à chercher si vous voulez développer des extensions BIOS. EFI sur un matériel plus récent modifie également considérablement l'image. Vous pouvez présenter votre logiciel en tant que EFI extension sur un périphérique USB interne par exemple.

+0

+1 ... Ça m'amuse de penser au développement d'extensions EFI. Comment débuggez-vous de tels trucs sans émulateur sérieux? Essayer chaque version est une tâche très longue sans cela. Ce qui me ramène aux années quatre-vingt-dix quand je me plaignais de lenteur du compilateur/éditeur de liens C++ ... :) –

+0

@RobertKoritnik - avec EFI au moins la virtualisation c'est (parfois) une façon raisonnable de s'y prendre au moins. – Flexo

+0

Est-ce possible? Avoir des machnes virtuels particuliers exécutant des extensions EFI particulières? Je veux dire sans courir la même extension sur la machine hôte? –

Questions connexes