zied86
Messages postés85Date d'inscriptiondimanche 5 mars 2006StatutMembreDernière intervention 4 août 2014
-
16 avril 2007 à 23:22
Mareck666
Messages postés56Date d'inscriptionlundi 6 février 2006StatutMembreDernière intervention30 avril 2013
-
28 juil. 2007 à 11:19
Je me demande s'il est possible de modifier le BIOS avec le C/C++ ?
goast_tu
Messages postés212Date d'inscriptiondimanche 3 avril 2005StatutMembreDernière intervention28 mai 20112 16 avril 2007 à 23:25
ben ce qui est sure c'est que c'est possible car on peut le reflasher.
Mais pour le faire je pence que ca depend de la carte mere. Mais un
conseil perso ne le touche pas!
Cphil51
Messages postés87Date d'inscriptionjeudi 22 juin 2006StatutMembreDernière intervention24 septembre 2007 17 avril 2007 à 11:27
La plupart des bios commerciaux sont écrits en ASM, bien que ca risque de changer avec l'arrivée de l'EFI.
Si tu cherche des bios écrits majoritairement en C, fais des recherches sur LinuxBios.
Surtout, ne flash pas ton bios original. Je te conseil d'être vraiment sûr de toi dans tes essais. Et si tu fais des essais, utilise un programmateur sur une flash vierge.
Le projet LinuxBIOS célèbre actuellement une victoire de taille avec la
disponibilité du premier BIOS open source pour carte mère de machine
standard. Ce projet, selon ses concepteurs, présente plusieurs
avantages :
<li nd="2">100 % libre : pas de licence ni de redevances</li><li nd="5">Démarre pratiquement tout de suite en mode 32 bits sécurisé</li><li nd="6">Écrit en langage C, aucune ligne d’assembleur</li>etc ....
SnOOpss
Messages postés571Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 5 décembre 2013 17 avril 2007 à 18:07
Oui, je m'en doute (j'ai pas eu la motivation de regarder le code :) ) mais j'ai mit ca car j'etais tombé dessus y a pas longtemps meme si ca n 'a pas grand chose a voir avec la question. Mais je t'avou que ca m'a surpris de savoir que c'etait possible en C.
Cphil51
Messages postés87Date d'inscriptionjeudi 22 juin 2006StatutMembreDernière intervention24 septembre 2007 17 avril 2007 à 18:31
Ben c'est possible grace a la taille des flash actuelles, des performence des machines qu'on a maintenant et SURTOUT des compilateurs qui sont plus performants qu'auparavant.
Le plus gros problème avec les bios, c'est qu'ils ont du code variable d'une carte mère à l'autre à cause des composants de celles ci.
Pour revenire à la question initiale sur "modifier les bios existants" en C/C++, je répond que ce n'est pas possible pour les bios commerciaux (AMI, Phoenix, etc...) car leur code est en asm et leur code n'est pas disponible (problème de licence oblige).
Par contre il est interessant de se pencher sur les bios a base de noyau linux (bon courage).
Mareck666
Messages postés56Date d'inscriptionlundi 6 février 2006StatutMembreDernière intervention30 avril 2013 28 juil. 2007 à 11:19
Et meme si que modifié un bios commerciale était possible, il est impossible sous windows d'accédez au bios car cette animal interdit l'écriture sur les ports E/S et sur les adresses sortant de l'espace d'adressage de ton programme, ... a moin de se cassé la tête a programmé un driver rien que pour sa, ou alors tu programme un petit secteur de boot sur disquette chargé de lancé ton code en C (préalablement transformé en plain binary afin de viré les entêtes (COFF, PE, ...)