Précédent   Forum du club des développeurs et IT Pro > Autres langages > Assembleur
Assembleur Forum d'entraide Assembleur. Avant de poster -> F.A.Q Assembleur Tutoriels Assembleur
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 13/03/2012, 06h58   #1
chiassedo
Invité de passage
 
Homme antoine
sans
Inscription : mars 2012
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme antoine
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : sans

Informations forums :
Inscription : mars 2012
Messages : 4
Points : 0
Points : 0
Par défaut lancer bios sur disque amovible

Bonjour, je voudrais installer mon bios sur une une carte sd pour obtenir ça :
j'allume, la rom bios du pc lance le bios sur une carte sd, puis mbr etc...

Mais dans un premier temps pour ne pas prendre de risque, je récupère le bios de la rom, je la mets sur une carte sd et me boot dessus, le bios se lance 2 fois en fait, pour voir si ça marche.
Une idée ?
chiassedo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2012, 11h13   #2
Forthman
Membre expérimenté
 
Avatar de Forthman
 
Homme François
conception mécanique
Inscription : janvier 2005
Messages : 330
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 37
Localisation : France, Tarn et Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : conception mécanique
Secteur : Industrie

Informations forums :
Inscription : janvier 2005
Messages : 330
Points : 532
Points : 532
Bien... Le BIOS est utilisé pour la gestion des disques, donc c'est lui
qui permet de booter sur une carte SD, une clé USB, un disque dur..etc...

Tu veux faire quoi avec ton BIOS sur support amovible ?
Forthman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2012, 19h06   #3
chiassedo
Invité de passage
 
Homme antoine
sans
Inscription : mars 2012
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme antoine
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : sans

Informations forums :
Inscription : mars 2012
Messages : 4
Points : 0
Points : 0
Citation:
Envoyé par Forthman Voir le message
Bien... Le BIOS est utilisé pour la gestion des disques, donc c'est lui
qui permet de booter sur une carte SD, une clé USB, un disque dur..etc...

Tu veux faire quoi avec ton BIOS sur support amovible ?
oui voilà, merci pour la réponse, si le bios lance la carte SD, il peut lancer à nouveau le bios non ?
j'ai récupérer le bios de mon portable sur internet, est-ce que je peux le désasembler avec nasm pour en voir le contenu sous forme compréhensible puis modifier certaines parties, assembler le bios modifié le mettre sur une carte SD et me booter dessus ?
Dans un premier temps
Et est-ce que le bios est en binaire x86 16 bits ?
Est-ce que je peux récupérer le bios 512 kos, je sais que des softs sous windows le permettent, mais sous ubuntu avec la commande DD ?
chiassedo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2012, 23h28   #4
Obsidian
Modérateur
 
Avatar de Obsidian
 
Homme
Chercheur d'emploi
Inscription : septembre 2007
Messages : 4 614
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 36
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Chercheur d'emploi
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2007
Messages : 4 614
Points : 11 090
Points : 11 090
Le BIOS est un micro-système d'exploitation qui se trouve en mémoire morte ou dans une mémoire Flash. Il est donc « pré-chargé » puisque, par définition, c'est lui qui contient le minimum vital pour pouvoir lire un disque.

Si tu veux récupérer le BIOS de ta machine, il faut aller lire directement la mémoire au bon endroit (et disposer des privilèges nécessaires sur ton système d'exploitation pour pouvoir le faire).

Si tu as récupéré le BIOS de ta machine via Internet, c'est en fait une mise à jour. Ça veut dire que ce que tu as récupéré contient bien le code du BIOS entier, mais encapsulé dans un exécutable qui va aller modifier la mémoire Flash de ta carte-mère. Tu peux effectivement essayer de le désassembler, mais il faudra faire le tri des deux.

Ensuite, « booter » sur un BIOS, c'est possible dans l'absolu mais il est fort probable que le code soit dépendant de sa position. Ça veut dire qu'il faudrait charger ton BIOS à l'endroit exact où se trouve l'original, donc en mémoire morte. Enfin, si tu veux embrayer sur un BIOS pour que ton système d'exploitation en tire bénéfice, ça ne fonctionnera pas car il sera écrasé par le chargement de ce dernier. Et l'O.S. est de toutes façons conçu pour continuer à appeler le BIOS original.

Tout ça pour dire que, dans l'absolu, si tu veux utiliser un BIOS maison, c'est possible, mais à condition de flasher ta carte-mère avec ta propre version, ce qui est très risqué.
Obsidian est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2012, 07h40   #5
chiassedo
Invité de passage
 
Homme antoine
sans
Inscription : mars 2012
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme antoine
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : sans

Informations forums :
Inscription : mars 2012
Messages : 4
Points : 0
Points : 0
oui je comprends bien tout ça, le bios que j'ai télécharger fait 512 kos et doit être flash avec un logiciel, je pense donc qu'il est complet. Pour ce qui est de le mettre dans le mbr, je pensais faire quelques modif pour justement éviter les bugs de mauvaises directions et autres (avec un debugger c'est ça ? ), le but étant qu'une fois décompilé, m'approprié petit à petit le code en le modifiant.
chiassedo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2012, 12h59   #6
Obsidian
Modérateur
 
Avatar de Obsidian
 
Homme
Chercheur d'emploi
Inscription : septembre 2007
Messages : 4 614
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 36
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Chercheur d'emploi
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2007
Messages : 4 614
Points : 11 090
Points : 11 090
Explorer le BIOS de son PC est un très bon exercice, mais c'est très difficile ! Et très long. À titre d'exemple, j'avais désassemblé 32 Ko des ROMs de mon TO8D (un huit bit de 1987) et obtenu 20.000 lignes d'assembleur bien tassé. Même s'il y a de fortes chances pour que les BIOS d'aujourd'hui soient écrits en C, il n'en reste pas moins que leur désassemblage est une tâche considérable, surtout si tu débutes.

En outre, reloger le code ne se fait pas avec un simple débogueur. Il faut modifier le code à la main et c'est quasi-infaisable si tu ne disposes pas des sources et si le code n'est pas fait pour. Heureusement, la plupart du code est fait pour être relogeable par défaut.

Sache également, si tu veux vraiment refaire un BIOS maison, que celui-ci n'a pas seulement pour fonction de proposer un micro-système d'exploitation pour démarrer dans de bonnes conditions, mais que c'est aussi lui qui est chargé de mener à bien tous les test à l'allumage et d'initialiser les principaux périphériques. Si tu bootes sur ton BIOS après avoir fait un premier passage, tu risques d'avoir des comportements inattendus.

Ensuite, une fois que ton BIOS aura pris la main, il va la passer au programme qu'il doit charger… et celui-ci va ensuite appeler les fonctions du BIOS original. Et bien sûr, il faut faire attention à l'endroit où tu charges ton BIOS, pour qu'il ne soit pas ensuite écrasé par le logiciel qu'il charge.
Obsidian est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2012, 16h43   #7
edfed
Membre chevronné
 
Avatar de edfed
 
être humain
Inscription : décembre 2007
Messages : 471
Détails du profil
Informations professionnelles :
Activité : être humain

Informations forums :
Inscription : décembre 2007
Messages : 471
Points : 619
Points : 619
il est possible de lancer un autre "BIOS" avec le bootloader du mbr.

le vrai bios est dans une rom figée, le cpu pointe sur cette rom au reset dont les premières instructions copient la rom en ram puis debranche la rom avant de plonger dans la ram (comme le mbr qui doit se relocaliser avant de pouvoir exploiter les partitions), le bootloader peut charger des données d'un disque et lancer l'execution des données. si tu mets un bios en guise de données, tu auras un nouveau bios, et si tu execute ton nouveau bios, ça fera comme si la machine faisait un reset, elle reinitialisera le materiel, et chargera un mbr sur un disque, si le mbr est le meme à chaque fois, tu auras une boucle sans fin de demarrage du pc. ça peut etre fun.
tu peux aussi très bien faire une surcouche du bios, ou meme une extension de bios avec une carte sur bus isa ou pci comme ici http://board.flatassembler.net/topic...=124922#124922
__________________
http://www.pending.me.uk/nmc/bla_1356091200.png
Vivement 21/12/2012
edfed est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2012, 17h38   #8
Obsidian
Modérateur
 
Avatar de Obsidian
 
Homme
Chercheur d'emploi
Inscription : septembre 2007
Messages : 4 614
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 36
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Chercheur d'emploi
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2007
Messages : 4 614
Points : 11 090
Points : 11 090
Citation:
Envoyé par edfed Voir le message
il est possible de lancer un autre "BIOS" avec le bootloader du mbr.
le vrai bios est dans une rom figée, le cpu pointe sur cette rom au reset dont les premières instructions copient la rom en ram puis debranche la rom avant de plonger dans la ram (comme le mbr qui doit se relocaliser avant de pouvoir exploiter les partitions), le bootloader peut charger des données d'un disque et lancer l'execution des données. si tu mets un bios en guise de données, tu auras un nouveau bios,
Oui mais justement : le MBR ne se charge pas au même endroit que le BIOS et le fait de le déplacer peut suffire le faire planter. Bon, a priori, un simple changement de segment devrait suffire à arranger les choses mais, après, il faut penser à d'autres subtilités : par exemple la possibilité pour le BIOS de passer en mode protégé au moins pour un temps, ou le fait de faire un test mémoire : s'il se croit en ROM et qu'il fait des tests de lecture-écriture sur la mémoire vive, il peut s'écraser lui-même sans le savoir.

Citation:
et si tu execute ton nouveau bios, ça fera comme si la machine faisait un reset, elle reinitialisera le materiel, et chargera un mbr sur un disque, si le mbr est le meme à chaque fois, tu auras une boucle sans fin de demarrage du pc. ça peut etre fun.
Ça fait longtemps que je n'ai plus mis le nez dedans mais il y a des petites nuances comme le démarrage à froid et à chaud qu'il faut prendre en compte également.
Obsidian est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2012, 18h06   #9
edfed
Membre chevronné
 
Avatar de edfed
 
être humain
Inscription : décembre 2007
Messages : 471
Détails du profil
Informations professionnelles :
Activité : être humain

Informations forums :
Inscription : décembre 2007
Messages : 471
Points : 619
Points : 619
ces nuances sont là parce qu'à froid, rien n'est initialisé. mais à chaud, on peut réinitialiser, ça ne pose pas de problème de faire un reset en appuyant sur le bouton reset

après, c'est sur que rien ne garanti qu'un bios rechargé depuis la ram fonctionne sur tout les pc. et tout les bios ne permettent peut etre pas de jouer avec, à cause du materiel sur la carte mère. ça c'est sur.

http://stanislavs.org/helppc/cold_boot.html

faut tester de toutes façon pour être sur que ça fonctionne comme voulu sur la machine de destination.

le boot se relocalise pour pouvoir recharger un secteur de boot.

relocaliser le bios serait en fait une copie du fichier bios depuis la ram, dans la zone de bios, et un saut dans cette zone, en désactivant les interruptions of course. la ram ici ferait comme la rom, et serait chargée de la copie.

pour l'initialisation, on peut toujours sauter par dessus si on ne veux pas l'exécuter et se contenter de booter avec int19h.
__________________
http://www.pending.me.uk/nmc/bla_1356091200.png
Vivement 21/12/2012
edfed est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 14h37.


 
 
 
 
Partenaires

Hébergement Web