Comment installer un BIOS déverrouillé. Comment débloquer les fonctionnalités cachées du BIOS. Oui, en passant, les cartes vidéo avec un BIOS modifié ne sont pas soumises à la garantie. Faites tout à vos risques et périls

20/04/17 3,6K

La méthode la plus courante que la plupart d'entre nous connaissent pour réinitialiser ou effacer le mot de passe du BIOS consiste à éteindre physiquement l'ordinateur en débranchant tous les câbles et en retirant la batterie de la carte mère pendant quelques minutes.

Autrement comment supprimer le mot de passe du BIOS— commutez le cavalier CMOS sur la carte mère elle-même, le cas échéant. Ces méthodes fonctionnent car la plupart des cartes mères de PC et un certain nombre de cartes mères d'ordinateurs portables utilisent une batterie pour conserver les paramètres BIOS/CMOS. Si vous coupez l'alimentation, les paramètres BIOS/CMOS et le mot de passe seront supprimés.

Si, pour une raison quelconque, vous ne parvenez pas à réinitialiser le mot de passe de sécurité du BIOS de votre ordinateur en retirant la batterie ou en basculant le cavalier CMOS, voici quelques options à essayer.

Mots de passe de porte dérobée par défaut

Avant d'utiliser des outils qui tentent de réinitialiser ou d'apporter des modifications au BIOS, il convient de vérifier si l'une des portes dérobées connues ou des mots de passe par défaut fonctionnent. Cliquez sur le lien ci-dessous pour afficher une liste de tous les mots de passe de porte dérobée connus. Avant de supprimer le mot de passe du BIOS sur votre ordinateur portable, veuillez noter que les mots de passe sont sensibles à la casse.

Mots de passe de porte dérobée du BIOS standard

Si vous pouvez démarrer Windows

CMOS De-Animator est un outil plus avancé que la plupart des outils. Il peut réinitialiser le mot de passe du BIOS depuis Windows. La dernière version de CMOS De-Animator 2 est compatible avec les systèmes d'exploitation 32 bits et 64 bits.


Tout ce que vous avez à faire est d'exécuter l'outil en tant qu'administrateur ( faites un clic droit et sélectionnez l'élément de menu " Exécuter en tant qu'administrateur» ) et appuyez sur le bouton " Continuer", puis redémarrez l'ordinateur. Lorsque le PC démarre, vous verrez une erreur de somme de contrôle CMOS et pourrez accéder au BIOS sans mot de passe. La façon dont CMOS De-Animator fonctionne est qu'il invalide la somme de contrôle Système de mémoire CMOS. Cela réinitialise tous les paramètres par défaut et efface tous les mots de passe du BIOS stockés.
CMOS De-Animator inclut des fonctionnalités de sauvegarde et de restauration. Cela constitue une garantie supplémentaire de sécurité. Si quelque chose ne va pas lors de la réinitialisation des mots de passe, les données sont enregistrées dans un fichier avec une extension .dea. Les auteurs du programme mettent en garde contre d'éventuels problèmes lors de son utilisation sur des ordinateurs portables. Le programme amène parfois un logiciel antivirus à générer de faux positifs et des avertissements sur des sites tels que Virus Total.

Si vous ne parvenez pas à démarrer à partir de votre disque dur ou de votre CD

Comment supprimer le mot de passe du BIOS sur un ordinateur portable Samsung ? Couper l'alimentation et retirer la batterie de la carte mère des ordinateurs de bureau pendant quelques minutes devrait supprimer le mot de passe du BIOS. Mais cela fonctionnera beaucoup moins probablement sur un ordinateur portable. Pour plus de sécurité, les mots de passe du BIOS des ordinateurs portables sont généralement stockés sur une puce EEPROM distincte, indépendante de la batterie du BIOS.

Si vous entrez plusieurs fois un mauvais mot de passe BIOS sur votre ordinateur portable, un message apparaîtra à l'écran indiquant que l'ordinateur portable est verrouillé. Vous verrez quelque chose comme " Système désactivé" ou " La vérification du mot de passe a échoué. Système est arrêté» et quelques chiffres. Si ce message apparaît lors de l'entrée dans le BIOS, vous pouvez simplement couper l'alimentation, puis réessayer. Faites attention au numéro car c'est une information précieuse. Il est nécessaire de générer un mot de passe BIOS de porte dérobée.


Il vous suffit de noter le numéro qui apparaît puis d'accéder à la page Web Générateur de mot de passe principal du BIOS. Ce site est conçu pour récupérer les mots de passe possibles en fonction du numéro saisi. Entrez-le simplement et cliquez sur le bouton. Vérifiez ensuite les résultats et marquez tous les mots de passe proches du modèle de votre ordinateur portable.
Avant de supprimer le mot de passe du BIOS sur votre ordinateur, essayez les codes reçus pour un BIOS verrouillé pour vérifier s'il fonctionne. Selon le modèle de votre ordinateur portable, vous devrez peut-être appuyer sur Entrée ou Ctrl + Entrée après avoir saisi le code. Les codes utilisés sont basés sur le travail d'un spécialiste " Dogbert", qui a fait de nombreuses recherches et créé un certain nombre de petits utilitaires, ainsi que des scripts Python pour déverrouiller divers modèles d'ordinateurs portables.

Si les codes que vous avez reçus sur ce site ne vous ont pas aidé, visitez le blog de Dogbert, où vous pouvez trouver des informations plus détaillées sur la marque de votre ordinateur portable et télécharger un utilitaire distinct pour celui-ci. Pour utiliser l'un des programmes, téléchargez l'utilitaire et exécutez-le, puis entrez le numéro et appuyez sur Entrée. Vous recevrez un mot de passe principal avec lequel vous pourrez essayer de déverrouiller votre ordinateur.


Vous devez exécuter un mot de passe principal sur un ordinateur pouvant démarrer sous Windows et sur lequel .NET est installé. Si vous ne savez pas quel outil utiliser, vous pouvez tout essayer jusqu'à trouver celui qui convient à votre ordinateur portable.

Si vous pouvez démarrer à partir d'un CD/USB

Lorsque Windows ne démarre pas correctement et qu'il n'y a aucun moyen de se connecter ou que l'USB est déjà défini sur une priorité plus élevée. Dans ce cas, vous devez insérer un CD ou un lecteur flash et l'appareil démarrera automatiquement à partir de celui-ci. De plus, le démarrage à partir d'un CD ou d'une clé USB peut avoir une priorité inférieure à celle des disques durs. Dans ce cas, vous devrez déconnecter temporairement le disque dur.

Sinon, comment puis-je supprimer le mot de passe via le BIOS ? Si vous avez accès à Windows, une autre solution qui vous permet de démarrer à partir d'un CD/USB est un outil appelé Plop Boot Manager. Il permet de démarrer depuis ces supports même si le BIOS ne supporte pas cette fonctionnalité.

Voici quelques outils que vous pouvez utiliser lors du démarrage à partir d’un CD ou d’une clé USB.

Nettoyeur CMOS PC

Conçu pour récupérer, supprimer, décrypter et afficher le mot de passe utilisateur ou super-utilisateur stocké dans le BIOS, quelle que soit la marque de l'appareil. Les BIOS pris en charge incluent Award, American Megatrends (AMI), Compaq, Phoenix, Samsung, IBM, Compaq, DTK, Thinkpad, Sony, Toshiba. Il y a donc de fortes chances que votre BIOS figure dans cette liste. PC CMOS Cleaner est un CD Linux amorçable, vous n'avez donc pas à vous soucier de la compatibilité du système d'exploitation.

Une fois lancé, le programme tentera d'abord de décrypter et d'afficher une liste de mots de passe possibles. Si cela échoue, vous pouvez supprimer le mot de passe en utilisant deux options, la seconde réinitialisant complètement les paramètres du BIOS par défaut - vous devrez les reconfigurer plus tard.

Télécharger le nettoyeur CMOS PC

CmosPwd par CGSecurity

C'est l'un des outils de décryptage CMOS les plus modernes et les plus populaires, bien qu'il ait été publié il y a assez longtemps - en 2007. CmosPwd déchiffre le mot de passe stocké dans CMOS et l'affiche. Les BIOS suivants sont pris en charge :
  • BIOS ACER/IBM ;
  • BIOS AMI ;
  • AMI WinBIOS 2.5 ;
  • Prix ​​4,5x/4,6x/6,0 ;
  • Compaq (1992);
  • Compaq (nouvelle version);
  • IBM (PS/2, Activa, Thinkpad) ;
  • Packard Bell;
  • Phoenix 1.00.09.AC0 (1994), a486 1.03, 1.04, 1.10 A03, 4.05 rév 1.02.943, 4.06 rév 1.13.1107;
  • Phoenix 4 version 6 (utilisateur) ;
  • Passerelle Solo – Phoenix 4.0 version 6;
  • Toshiba ;
  • Zénith AMI.

Avec CmosPwd, vous pouvez également supprimer le mot de passe du BIOS sur un ordinateur portable Lenovo, sauvegarder, restaurer, effacer ou même effacer complètement le CMOS. Lors du chargement, sélectionnez 9. Suivant - 2. Outils BIOS / CMOS - 2. BIOS Cracker 5.0 (cmospwd). Il existe également une version qui peut être exécutée depuis Windows.

!Bios de la Onzième Alliance

Vous permet de sauvegarder et de restaurer votre BIOS. Il existe même une option Blaster qui peut effacer certaines parties du BIOS dans l'espoir de supprimer le mot de passe - une option puissante et potentiellement dangereuse car elle peut corrompre le BIOS. !Bios peut déchiffrer les mots de passe utilisés dans certaines versions courantes du BIOS, notamment diverses versions d'IBM, American Megatrends (AMI), Award et Phoenix. Il s’agit d’un outil ancien datant de la fin des années 90, il est donc peu probable qu’il fonctionne efficacement sur les ordinateurs modernes.

Le BIOS est également inclus dans le progiciel Hirens Boot CD. Sélectionnez un élément 9. Suivant - 2. Outils BIOS / CMOS - 4. BIOS 3.20 (ibios). Vous pouvez également télécharger un fichier séparé outil!Bios Windows.

Dans cet article, je vais essayer de parler des modifications du BIOS UEFI les plus populaires et les plus utiles, des conditions de leur utilisation et des méthodes de recherche. De plus, l'utilitaire UEFITool décrit dans la première partie n'a pas encore fait son chemin, c'est pourquoi d'autres programmes utilisés pour modifier les BIOS UEFI de différents fabricants seront également mentionnés.
Si le sujet vous intéresse, bienvenue sur cat.

Introduction et autre avertissement

Je ne veux pas répéter ma tirade sur la nécessité d'un programmeur SPI et sur le fait que vous effectuez toutes les modifications à vos risques et périls, donc si vous ne l'avez pas lu, lisez-le et revenez.
À partir de maintenant, je pense que vous n'avez aucun problème de récupération après un firmware infructueux, et vous connaissez également UEFITool, je ne m'attarderai donc pas sur des questions techniques telles que « Comment puis-je extraire un fichier de l'image » et « comment puis-je réinsérez-le plus tard ».

Outils requis

Pour réussir à modifier votre image BIOS UEFI, vous aurez peut-être besoin des outils suivants :

  1. Éditeur hexadécimal de votre choix.
  2. Éditeur d'images UEFI, pour lequel j'utiliserai, pour des raisons évidentes, UEFITool, mais vous pouvez également utiliser PhoenixTool (universel et bien débogué, mais non sans limitations) ou MMTool (fonctionne plus ou moins tolérablement uniquement avec les images Aptio AMI).
  3. Si aucun modèle cohérent n’est trouvé pour la modification requise, un assembleur et un désassembleur prenant en charge x86-64 peuvent être nécessaires. Un assembleur en ligne suffit, mais un désassembleur normal est nécessaire, sinon la recherche d'un point de modification peut prendre beaucoup de temps.
    Malheureusement, la version gratuite d'IDA Pro ne prend pas en charge l'analyse des fichiers PE 64 bits, donc pour Windows, je recommande d'utiliser l'utilitaire dumpbin inclus dans la suite du compilateur Microsoft, et pour MacOS X, soit objdump, soit une version d'essai de Hopper Disassembler.
  4. Si la modification peut être effectuée par un utilitaire du fabricant de la plate-forme UEFI, laissez-le faire - c'est plus fiable que manuellement. Malheureusement, "le cercle de ces révolutionnaires est étroit et ils sont terriblement éloignés du peuple", de sorte que le plus souvent, le fabricant n'a pas d'utilitaire approprié.

Modifications

Patch PM CPU, suppression du verrouillage MSR 0xE2

Quoi: Contourner la définition du bit LOCK (0x0F) dans le registre MSR_PMG_CST_CONFIG_CONTROL (0xE2) après avoir passé le POST
Pour quoi: l'ouverture du registre 0xE2 est nécessaire au fonctionnement du sous-système de gestion de l'alimentation du processeur sous MacOS X ; lorsqu'il est fermé, une panique du noyau se produit ; Si vous ne prévoyez pas de l'installer ou si votre BIOS UEFI dispose du paramètre « Déverrouiller C-State MSR », vous n'avez pas besoin de cette modification.
Où regarder: dans les pilotes UEFI liés au CPU PM. Dans les anciens BIOS, le code d'installation du verrou se trouve dans le module CpuPei, dans les nouveaux - dans le module PowerManagement (peut également être appelé PowerManagement2.efi ou PowerMgmtDxe.efi).
Méthode de modification: Dans CpuPei, le code qui doit être modifié ressemble à ceci :

81 FB D0 06 02 00 cmp ebx,206D0h 75 0C jne FFFE426E 0D 00 80 00 18 ou eax,18008000h ; Le bit 15 (LOCK) est activé ici EB 05 jmp FFFE426E 0D 00 80 00 00 ou eax,8000h ; Ou ici 6A FF push 0FFFFFFFFh 6A F8 push 0FFFFFFF8h 6A 00 push 0 50 push eax 56 push esi E8 DC 0F 00 00 call FFFE5257 ; Et à l'intérieur de cette fonction se trouve wrmsr

Il suffit de remplacer 00800018 par 00000018 et 00800000 par 00000000 à cet endroit pour contourner l'installation de la serrure.

Dans PowerManagement, le code est différent, le plus souvent comme ceci :

80 FB 01 cmp bl,1 ; Si BL == 1 75 08 jne 0000000180002700 ; Sauter par-dessus les deux commandes suivantes 0F BA E8 0F bts eax,0Fh ; Définir le bit 15 (LOCK) 89 44 24 30 mov dword ptr ,eax ; Enregistrez le résultat dans une variable sur la pile 48 8B 54 24 30 mov rdx,qword ptr ; Chargez la valeur de cette variable dans RDX B9 E2 00 00 00 mov ecx,0E2h ; Et le numéro MSR dans ECX E8 est 79 0C 00 00, appelez 0000000180003388 ; Et appelez la fonction avec wrmsr à l'intérieur

Vous pouvez remplacer JNE par JMP, BTS par BTR ou simplement remplacer l'intégralité du code d'installation de la serrure. Le moyen le plus simple est de faire le premier, c'est-à-dire remplacez 75 08 par EB 08.

Si un tel code n'est pas trouvé dans votre BIOS UEFI, recherchez la valeur 0xE2 dans les pilotes liés à la gestion de l'alimentation du processeur et vérifiez tout le code pour voir si le 15ème bit est défini. Dans les dernières versions du BIOS de certaines cartes AMI de bureau modernes, ils ne verrouillent plus ce registre, vous ne pouvez donc plus y trouver un tel code - considérez que le fabricant a créé ce mod pour vous.

Déverrouillage AES NI

Quoi: Contourner le réglage du bit LOCK (0x01) sur le registre MSR 0x13C
Pour quoi : Activer l'accélération matérielle AES sur les systèmes soumis à des restrictions d'exportation
Où regarder: dans les pilotes UEFI liés au CPU PM, le plus souvent dans PowerManagement
Méthode de modification: pas très différent du patch PM (et a déjà été décrit sur Habré), donc je ne m'y attarderai pas en détail.

Suppression de la liste blanche

Quoi: contournez la liste blanche des équipements compatibles que certains fabricants d'ordinateurs portables utilisent dans leurs BIOS UEFI.
Pour quoi: L'idée du fabricant est claire : vous pouvez également vendre du matériel compatible rebaptisé aux propriétaires de matériel « incompatible » à des prix exorbitants. Si vous souhaitez décider vous-même quel équipement est compatible avec votre ordinateur portable, cette modification est faite pour vous.
Où regarder: dans les pilotes UEFI liés aux périphériques PCIe. Pour HP, ce pilote est généralement appelé BiosLockPcie, pour Lenovo, il s'agit de LenovoWmaPolicyDxe.efi, mais il peut être appelé différemment.
Méthode de modification: parce que Étant donné que les fabricants d'ordinateurs portables tentent de modifier plus souvent le code de vérification de la liste blanche, il est assez difficile de décrire une méthode permanente.
La stratégie de recherche générale est la suivante :

  1. Insérez une carte incompatible dans l'ordinateur portable, attendez le message sur l'impossibilité de chargement et mémorisez-le.
  2. Recherchez ce message dans l'un des fichiers FFS.
  3. Recherchez le code qui fait référence à ce message.
  4. Examinez ce code et essayez de le modifier pour que la vérification réussisse toujours. Il existe deux manières de procéder : soit corrigez la transition, soit ajoutez votre identifiant de fournisseur et votre identifiant d'appareil à la liste blanche.

Les détails de la modification utilisant HP comme exemple sont bien décrits par un ami largement connu dans les cercles des moddeurs. Donovan6000, et je décrirai l'option de modification en utilisant le Lenovo X121E comme exemple.
Le contrôle est effectué par le pilote LenovoWmaPolicyDxe.efi, il faut se rendre ici :

44 38 0D F0 0F 00 00 cmp octet ptr, r9b 75 18 jne 0000000000000C1A E8 35 FD FF FF appel 000000000000093C 48 85 C0 test rax,rax 4C 8B C8 mov r9,rax 0F 88 7 FF FF FF js 0000000000000B8A C6 05 D6 0F 00 00 01 mov octet ptr,1 49 8B C1 mov rax,r9 E9 68 FF FF FF jmp 0000000000000B8A

Toutes les transitions vers ce code doivent être corrigées en transitions inconditionnelles, et dans le code lui-même, il est nécessaire de "corriger" les première et deuxième lignes, après quoi la vérification se terminera toujours avec succès.

Suppression du verrouillage du BIOS

Quoi: suppression de la protection contre le clignotement des images UEFI modifiées à l'aide du programmeur intégré.
Pour quoi: avec un grand nombre d'expériences avec UEFI, sortir le programmeur à chaque fois devient vite ennuyeux, et le firmware avec le programmeur intégré est plus rapide (en raison du travail utilisant le protocole QuadSPI au lieu du SPI ordinaire dans le cas d'un programmeur externe ).
Où regarder: dans les pilotes du chipset, le plus souvent dans PchInitDxe (une autre option de mod est dans BiosWriteProtect)
Méthode de modification: L'option de modification PchInitDxe est entièrement décrite en anglais, je ne donnerai donc qu'une idée. Il est nécessaire de trouver l'entrée du bit BIOS Lock Enable (BLE) dans le registre BIOS_CNTL du chipset et de l'empêcher. Cela peut être fait à plusieurs endroits, par exemple ici :

48 8B 4C 24 40 mov rcx,qword ptr ; Chargez l'adresse de la structure PchPlatformData dans RCX 48 8B 41 50 mov rax,qword ptr ; Et dans RAX - l'adresse de la structure enfant LockdownConfig F6 00 10 test byte ptr ,10h ; Vérifiez si le cinquième bit est activé (BiosLock) 74 25 je 0000000180001452 ; S'il n'est pas installé, sautez par-dessus tout le code ci-dessous 8A 50 01 mov dl,byte ptr B9 B2 00 00 00 mov ecx,0B2h ; E8 A2 5A 00 00 appel 0000000180006EDC 4C 8D 87 DC 00 00 00 lea r8, ; RDI contient l'adresse de base des registres LPC du chipset et 0xDC est le décalage du registre BIOS_CNTL 33 C9 xor ecx,ecx 4C 8B CD mov r9,rbp 33 D2 xor edx,edx 4C 89 44 24 20 mov qword ptr ,r8 E8 AA 76 00 00 appelez le 0000000180008AFC ; Installer le verrou

Vous pouvez changer JE en JMP, mais parfois, au lieu d'un saut court, vous en rencontrez un long, pour lequel vous devez en plus calculer le décalage, il est donc préférable de remplacer test par n'importe quelle commande qui définit l'indicateur ZF, par exemple pour xor rax, rax (48 31 C0), et l'éventuelle différence de taille des commandes corrigées en ajoutant des NOP.
Si le code requis n'est pas trouvé dans PchInitDxe, vous pouvez modifier le pilote BiosWriteProtect de manière à contourner l'enregistrement du gestionnaire SMI qui s'y trouve, qui définit le bit BLE lorsque vous essayez de le réinitialiser, après quoi il vous suffit pour réinitialiser ce bit pour déverrouiller le firmware. La méthode décrite ci-dessus fonctionne bien pour moi, je n'ai donc pas encore essayé cette option et je ne la décrirai donc pas en détail.

Déverrouillage des paramètres avancés

Quoi: Déverrouille l'accès aux paramètres cachés de la configuration du BIOS.
Pour quoi: parmi ces paramètres, vous pouvez trouver quelque chose d'intéressant, mais ils sont généralement cachés pour une raison.
Où regarder: Pour Phoenix et Insyde, le menu est stocké dans des fichiers HII avec des noms comme SetupMain, SetupAdvanced, etc. Pour AMI, le menu est stocké dans le fichier de configuration et les paramètres sont stockés dans AMITSE. De plus, AMI propose son programme AMIBCP aux fabricants de produits destinés aux utilisateurs finaux, dont les versions sont souvent divulguées au public. Travailler avec est assez simple, donc je ne vois pas l'intérêt de le décrire - téléchargez-le et essayez-le.
Méthode de modification: pour AMI - ouvrez l'image dans AMIBCP, modifiez les paramètres par défaut, enregistrez, flashez, réinitialisez, c'est terminé. Pour Insyde et Phoenix, les choses sont un peu plus compliquées. Si l'accès en écriture à la NVRAM n'est pas interdit, la méthode Falseclock de mon ami, décrite dans son article, fonctionne bien, mais s'il n'y a pas d'accès, vous devrez soit analyser manuellement le format de fichier du formulaire HII, soit le fournir soit au script décrit dans l'article mentionné ci-dessus, ou à l'utilitaire universel IFR Extractor, qui doit être utilisé sur les fichiers HII extraits de l'image UEFI. Après cela, modifiez simplement les conditions SUPRESS_IF dans le fichier HII Form extrait afin qu'elles ne soient jamais exécutées et que tous les menus deviennent disponibles.

Mise à jour du microcode du processeur, de l'OptionROM, des pilotes et des images

Quoi: mise à jour des microcodes CPU, du firmware de divers périphériques, des pilotes EFI et des images affichées lors du démarrage et dans la configuration du BIOS.
Pour quoi: parfois une mise à jour permet de corriger des erreurs dans le système, parfois elle ajoute le support d'une fonctionnalité importante (TRIM pour les SSD en RAID0 par exemple), mais le plus souvent la mise à jour se fait car une nouvelle version est enfin sortie.
Où regarder: dépend fortement du fabricant, les pilotes EFI peuvent être trouvés simplement par leur nom (SataDriver, par exemple), le microcode peut être trouvé par le Model ID du processeur auquel il est destiné, les OROM - par le VID/DID des appareils auxquels ils sont destinés. servir, les images au format JPEG peuvent être trouvées par la ligne « JFIF », en GIF - par « GIF8 », etc.
Méthode de modification: aussi simple que meugler - trouvez une nouvelle version dans le domaine public, trouvez où se trouve l'ancienne dans l'image et remplacez l'une par l'autre. Pour le camarade AMI LS_29 un ensemble de mise à jour automatique a été écrit sur la base de l'utilitaire MMTool, vous pouvez le télécharger à partir de notre sujet ci-dessus. Je n'ai pas encore entendu parler de solutions automatisées pour Phoenix ou Insyde.
Le remplacement des images peut être effectué soit avec des utilitaires comme AMI ChangeLogo, soit manuellement, mais le plus souvent, une image qui n'est pas préparée de manière particulière provoque un gel, car Les décodeurs de format d'image sont très limités. En général, il est préférable de supprimer les données EXIF ​​​​au préalable.

Conclusion

Dans cet article, j'ai décrit uniquement les mods que j'ai réalisés avec succès de mes propres mains. Si vous avez des commentaires ou des ajouts, je serai heureux de recevoir vos commentaires.
Encore une fois, je demande humblement à l'administration Habr et à UFO personnellement de créer un hub UEFI, car il s'agit d'un sujet très vaste et il n'y a littéralement nulle part où mettre des articles à ce sujet.
Merci de votre attention, je vous souhaite des modifications réussies.

En fait, la méthode, le matériel et les microcodes d'origine peuvent être retrouvés (directement les instructions AMI), et dans la plupart des cas, l'utilisation de cette méthode ne pose aucun problème et ne comporte aucun embûche, mais dans ma pratique j'ai régulièrement rencontré le problème suivant :

Ceux. il y avait un manque banal d'espace libre à l'intérieur de l'image. Lorsque vous modifiez vous-même le BIOS pour un processeur spécifique, vous pouvez l'ignorer, car Vous pouvez toujours charger un seul microcode spécifiquement pour votre processeur, ou supprimer un ancien microcode pour libérer de l'espace, mais lorsque vous modifiez avec un thread, vous devez rechercher une autre solution, un compromis.

En guise de compromis, j'ai choisi la solution suivante : nous prenons les dernières versions de microcodes pour tous les processeurs de la génération CORE dans toutes les conceptions (Celeron E, Pentium E, Core 2 Duo, Core 2 Quad, Xeon *3xxx/*5xxx) et remplacez par eux tout ce qui était avant. L'ensemble des microcodes s'est avéré être le suivant :

Le volume de cet ensemble n'est que de 76 kilo-octets. Ce fichier a été obtenu en combinant ces fichiers :

cpu00010676_plat00000001_ver0000060f_date20100929.bin
cpu00010676_plat00000004_ver0000060f_date20100929.bin
cpu00010676_plat00000010_ver0000060f_date20100929.bin
cpu00010676_plat00000040_ver0000060f_date20100929.bin
cpu00010677_plat00000010_ver0000070a_date20100929.bin
cpu0001067a_plat00000011_ver00000a0b_date20100928.bin
cpu0001067a_plat00000044_ver00000a0b_date20100928.bin
cpu000006f2_plat00000001_ver0000005d_date20101002.bin
cpu000006f6_plat00000001_ver000000d0_date20100930.bin
cpu000006f6_plat00000004_ver000000d2_date20101001.bin
cpu000006f7_plat00000010_ver0000006a_date20101002.bin
cpu000006f7_plat00000040_ver0000006b_date20101002.bin
cpu000006fb_plat00000001_ver000000ba_date20101003.bin
cpu000006fb_plat00000004_ver000000bc_date20101003.bin
cpu000006fb_plat00000010_ver000000ba_date20101003.bin
cpu000006fb_plat00000040_ver000000bc_date20101003.bin
cpu000006fd_plat00000001_ver000000a4_date20101002.bin

La procédure de modification elle-même a également un peu changé et est devenue, sinon plus simple, du moins plus rapide :

Étape 1— ouvrez l'image du BIOS dans le programme MMTool :



Étape 2— pour vérifier, allez dans le dernier onglet (CPU PATCH) et regardez le nombre de microcodes. Ici par exemple, il y en a 31 :

Étape 3— allez dans l'onglet Remplacer et recherchez l'élément « P6 Micro Code » dessus :

Étape 4— après avoir sélectionné l'élément « P6 Micro Code », appuyez sur le bouton Ikshtsyu, sélectionnez le fichier ncpucode.bin décrit ci-dessus et remplacez-le par le bouton Remplacer :





Étape 5— pour vérifier, allez dans le dernier onglet (CPU PATCH) et regardez le nombre de microcodes. Après remplacement des microcodes, il en restait 17, la dernière version :

Il n'y a pas de différence fondamentale avec la procédure de modification décrite sur delidded.com. Dans la plupart des cas, le résultat n'est certes pas le même, mais le processeur reçoit le microcode nécessaire. Parmi les aspects positifs subjectifs, je voudrais seulement attirer l'attention sur le fait que les microcodes de tous les processeurs actuels sont garantis d'être mis à jour, qu'ils soient « civils » ou « serveur », et qu'il n'y a pratiquement aucun risque de recevoir un message sur manque d'espace. Bien que, dans ma pratique, même pour un tel ensemble de microcodes, il n'y avait pas assez d'espace à plusieurs reprises, c'était avec le BIOS des cartes ECS P4M900T-M et ECS P4M900T-M2, qui sont généralement compatibles avec le Xeon E5450.

Par tradition, je publie un lien vers l'archive avec des outils - (zip, 234 Ko). L'archive contient un fichier exécutable MMTOL.exe(version 3.22 BKMOD), fichier avec microcodes pour tous les processeurs 45/65 nm de la génération core/xeon ncpucode.bin, ainsi que deux fichiers 45nm.bin Et 65nm.bin avec des microcodes uniquement pour les processeurs 45 nm et uniquement pour 65 nm. L'utilisation de ces fichiers peut être utile dans les cas où il est nécessaire de libérer de l'espace supplémentaire dans le BIOS, par exemple pour le nouveau firmware d'un contrôleur, d'un réseau, d'un disque, etc.

!NB: Ni le fichier ncpucode.bin ni les fichiers 45nm.bin/65nm.bin ne prennent en charge les processeurs Pentium 4, Celeron (sans suffixes de lettres), Pentium D, Celeron D et Xeon W (Xeon 5080 par exemple). Ce sont des processeurs de génération NetBrust.

  • UEFI
    • Didacticiel

    Dans cet article, je vais essayer de parler des modifications du BIOS UEFI les plus populaires et les plus utiles, des conditions de leur utilisation et des méthodes de recherche. De plus, la lumière n'a pas encore atteint le point de vue de l'utilitaire UEFITool décrit dans l'utilitaire, donc d'autres programmes utilisés pour modifier les BIOS UEFI de différents fabricants seront également mentionnés.
    Si le sujet vous intéresse, bienvenue sur cat.

    Dans PowerManagement, le code est différent, le plus souvent comme ceci :

    80 FB 01 cmp bl,1 ; Si BL == 1 75 08 jne 0000000180002700 ; Sauter par-dessus les deux commandes suivantes 0F BA E8 0F bts eax,0Fh ; Définir le bit 15 (LOCK) 89 44 24 30 mov dword ptr ,eax ; Enregistrez le résultat dans une variable sur la pile 48 8B 54 24 30 mov rdx,qword ptr ; Chargez la valeur de cette variable dans RDX B9 E2 00 00 00 mov ecx,0E2h ; Et le numéro MSR dans ECX E8 est 79 0C 00 00, appelez 0000000180003388 ; Et appelez la fonction avec wrmsr à l'intérieur
    Vous pouvez remplacer JNE par JMP, BTS par BTR ou simplement remplacer l'intégralité du code d'installation de la serrure. Le moyen le plus simple est de faire le premier, c'est-à-dire remplacez 75 08 par EB 08.

    Si un tel code n'est pas trouvé dans votre BIOS UEFI, recherchez la valeur 0xE2 dans les pilotes liés à la gestion de l'alimentation du processeur et vérifiez tout le code pour voir si le 15ème bit est défini. Dans les dernières versions du BIOS de certaines cartes AMI de bureau modernes, ils ne verrouillent plus ce registre, vous ne pouvez donc plus y trouver un tel code - considérez que le fabricant a créé ce mod pour vous.

    Déverrouillage AES NI

    Quoi: Contourner le réglage du bit LOCK (0x02) sur le registre MSR 0x13C
    Pour quoi : Activer l'accélération matérielle AES sur les systèmes soumis à des restrictions d'exportation
    Où regarder: dans les pilotes UEFI liés au CPU PM, le plus souvent dans PowerManagement
    Méthode de modification: pas très différent du patch PM (et plus étroit), donc je ne m'y attarderai pas en détail.

    Suppression de la liste blanche

    Quoi: contournez la liste blanche des équipements compatibles que certains fabricants d'ordinateurs portables utilisent dans leurs BIOS UEFI.
    Pour quoi: L'idée du fabricant est claire : vous pouvez également vendre du matériel compatible rebaptisé aux propriétaires de matériel « incompatible » à des prix exorbitants. Si vous souhaitez décider vous-même quel équipement est compatible avec votre ordinateur portable, cette modification est faite pour vous.
    Où regarder: dans les pilotes UEFI liés aux périphériques PCIe. Pour HP, ce pilote est généralement appelé BiosLockPcie, pour Lenovo, il s'agit de LenovoWmaPolicyDxe.efi, mais il peut être appelé différemment.
    Méthode de modification: parce que Étant donné que les fabricants d'ordinateurs portables tentent de modifier plus souvent le code de vérification de la liste blanche, il est assez difficile de décrire une méthode permanente.
    La stratégie de recherche générale est la suivante :
    1. Insérez une carte incompatible dans l'ordinateur portable, attendez le message sur l'impossibilité de chargement et mémorisez-le.
    2. Recherchez ce message dans l'un des fichiers FFS.
    3. Recherchez le code qui fait référence à ce message.
    4. Examinez ce code et essayez de le modifier pour que la vérification réussisse toujours. Il existe deux manières de procéder : soit corrigez la transition, soit ajoutez votre identifiant de fournisseur et votre identifiant d'appareil à la liste blanche.
    Les détails de la modification utilisant HP comme exemple sont bien décrits par un ami largement connu dans les cercles des moddeurs. Donovan6000, et je décrirai l'option de modification en utilisant le Lenovo X121E comme exemple.
    Le contrôle est effectué par le pilote LenovoWmaPolicyDxe.efi, il faut se rendre ici :
    44 38 0D F0 0F 00 00 cmp octet ptr, r9b 75 18 jne 0000000000000C1A E8 35 FD FF FF appel 000000000000093C 48 85 C0 test rax,rax 4C 8B C8 mov r9,rax 0F 88 7 FF FF FF js 0000000000000B8A C6 05 D6 0F 00 00 01 mov octet ptr,1 49 8B C1 mov rax,r9 E9 68 FF FF FF jmp 0000000000000B8A
    Toutes les transitions vers ce code doivent être corrigées en transitions inconditionnelles, et dans le code lui-même, il est nécessaire de "corriger" les première et deuxième lignes, après quoi la vérification se terminera toujours avec succès.

    Suppression du verrouillage du BIOS

    Quoi: suppression de la protection contre le clignotement des images UEFI modifiées à l'aide du programmeur intégré.
    Pour quoi: avec un grand nombre d'expériences avec UEFI, sortir le programmeur à chaque fois devient vite ennuyeux, et le firmware avec le programmeur intégré est plus rapide (en raison du travail utilisant le protocole QuadSPI au lieu du SPI ordinaire dans le cas d'un programmeur externe ).
    Où regarder: dans les pilotes du chipset, le plus souvent dans PchInitDxe (une autre option de mod est dans BiosWriteProtect)
    Méthode de modification: L'option de modification PchInitDxe est entièrement décrite en anglais, je ne donnerai donc qu'une idée. Il est nécessaire de trouver l'entrée du bit BIOS Lock Enable (BLE) dans le registre BIOS_CNTL du chipset et de l'empêcher. Cela peut être fait à plusieurs endroits, par exemple ici :
    48 8B 4C 24 40 mov rcx,qword ptr ; Chargez l'adresse de la structure PchPlatformData dans RCX 48 8B 41 50 mov rax,qword ptr ; Et dans RAX - l'adresse de la structure enfant LockdownConfig F6 00 10 test byte ptr ,10h ; Vérifiez si le cinquième bit est activé (BiosLock) 74 25 je 0000000180001452 ; S'il n'est pas installé, sautez par-dessus tout le code ci-dessous 8A 50 01 mov dl,byte ptr B9 B2 00 00 00 mov ecx,0B2h ; E8 A2 5A 00 00 appel 0000000180006EDC 4C 8D 87 DC 00 00 00 lea r8, ; RDI contient l'adresse de base des registres LPC du chipset et 0xDC est le décalage du registre BIOS_CNTL 33 C9 xor ecx,ecx 4C 8B CD mov r9,rbp 33 D2 xor edx,edx 4C 89 44 24 20 mov qword ptr ,r8 E8 AA 76 00 00 appelez le 0000000180008AFC ; Installer le verrou
    Vous pouvez changer JE en JMP, mais parfois, au lieu d'un saut court, vous en rencontrez un long, pour lequel vous devez en plus calculer le décalage, il est donc préférable de remplacer test par n'importe quelle commande qui définit l'indicateur ZF, par exemple pour xor rax, rax (48 31 C0), et l'éventuelle différence de taille des commandes corrigées en ajoutant des NOP.
    Si le code requis n'est pas trouvé dans PchInitDxe, vous pouvez modifier le pilote BiosWriteProtect de manière à contourner l'enregistrement du gestionnaire SMI qui s'y trouve, qui définit le bit BLE lorsque vous essayez de le réinitialiser, après quoi il vous suffit pour réinitialiser ce bit pour déverrouiller le firmware. La méthode décrite ci-dessus fonctionne bien pour moi, je n'ai donc pas encore essayé cette option et je ne la décrirai donc pas en détail.

    Déverrouillage des paramètres avancés

    Quoi: Déverrouille l'accès aux paramètres cachés de la configuration du BIOS.
    Pour quoi: parmi ces paramètres, vous pouvez trouver quelque chose d'intéressant, mais ils sont généralement cachés pour une raison.
    Où regarder: Pour Phoenix et Insyde, le menu est stocké dans des fichiers HII avec des noms comme SetupMain, SetupAdvanced, etc. Pour AMI, le menu est stocké dans le fichier de configuration et les paramètres sont stockés dans AMITSE. De plus, AMI propose son programme AMIBCP aux fabricants de produits destinés aux utilisateurs finaux, dont les versions sont souvent divulguées au public. Travailler avec est assez simple, donc je ne vois pas l'intérêt de le décrire - téléchargez-le et essayez-le.
    Méthode de modification: pour AMI - ouvrez l'image dans AMIBCP, modifiez les paramètres par défaut, enregistrez, flashez, réinitialisez, c'est terminé. Pour Insyde et Phoenix, les choses sont un peu plus compliquées. Si l'accès en écriture à la NVRAM n'est pas interdit, vous pouvez utiliser la méthode d'un ami Falseclock, décrite dans, mais s'il n'y a pas d'accès, vous devrez modifier le firmware. Vous devrez analyser le format de fichier de formulaire HII soit manuellement, soit le fournir au script décrit dans l'article mentionné ci-dessus, ou à l'utilitaire Universal IFR Extractor, qui doit être appliqué aux fichiers HII extraits de l'image UEFI. Après cela, modifiez simplement les conditions SUPRESS_IF dans le fichier HII Form extrait afin qu'elles ne soient jamais exécutées et que tous les menus deviennent disponibles.

    Mise à jour du microcode du processeur, de l'OptionROM, des pilotes et des images

    Quoi: mise à jour des microcodes CPU, du firmware de divers périphériques, des pilotes EFI et des images affichées lors du démarrage et dans la configuration du BIOS.
    Pour quoi: parfois une mise à jour permet de corriger des erreurs dans le système, parfois elle ajoute le support d'une fonctionnalité importante (TRIM pour les SSD en RAID0 par exemple), mais le plus souvent la mise à jour se fait car une nouvelle version est enfin sortie.
    Où regarder: dépend fortement du fabricant, les pilotes EFI peuvent être trouvés simplement par leur nom (SataDriver, par exemple), le microcode peut être trouvé par le Model ID du processeur auquel il est destiné, les OROM - par le VID/DID des appareils auxquels ils sont destinés. servir, les images au format JPEG peuvent être trouvées par la ligne « JFIF », en GIF - par « GIF8 », etc.
    Méthode de modification: aussi simple que meugler - trouvez une nouvelle version dans le domaine public, trouvez où se trouve l'ancienne dans l'image et remplacez l'une par l'autre. Pour le camarade AMI LS_29 un ensemble de mise à jour automatique a été écrit sur la base de l'utilitaire MMTool, vous pouvez le télécharger à partir de notre sujet ci-dessus. Je n'ai pas encore entendu parler de solutions automatisées pour Phoenix ou Insyde.
    Le remplacement des images peut être effectué soit avec des utilitaires comme AMI ChangeLogo, soit manuellement, mais le plus souvent, une image qui n'est pas préparée de manière particulière provoque un gel, car Les décodeurs de format d'image sont très limités. En général, il est préférable de supprimer les données EXIF ​​​​au préalable.

    Conclusion

    Dans cet article, j'ai décrit uniquement les mods que j'ai réalisés avec succès de mes propres mains. Si vous avez des commentaires ou des ajouts, je serai heureux de recevoir vos commentaires.
    Encore une fois, je demande humblement à l'administration Habr et à UFO personnellement de créer un hub UEFI, car il s'agit d'un sujet très vaste et il n'y a littéralement nulle part où mettre des articles à ce sujet.
    Merci de votre attention, je vous souhaite des modifications réussies.

    Mots clés:

    • UEFI
    • modification
    • UEFIOutil
    Ajouter des balises

    Le code du programme BIOS (Basic Input/Output System) est né dans les laboratoires de développement.
    Les plus célèbres d'entre eux sont Award et AMI.

    Chaque fabricant de carte mère adapte ensuite le BIOS à un modèle spécifique et désactive (bloque) certaines fonctionnalités à sa discrétion.
    De plus, de nombreuses fonctions qui affectent le réglage « fin » du BIOS et dont dépendent à leur tour les performances de l'ordinateur peuvent être bloquées.

    Pourquoi les fabricants de cartes mères bloquent-ils certaines fonctions ?
    Tout d'abord, cela est fait pour simplifier la procédure de configuration du BIOS.
    Ils désactivent également les fonctions qui ne sont pas présentes sur une carte mère particulière, mais qui peuvent être utilisées dans les modifications suivantes.

    À l'aide d'un logiciel spécial (utilitaires), vous pouvez déverrouiller presque toutes les fonctions et options désactivées dans le BIOS.
    Après modification, les résultats doivent être enregistrés dans un fichier séparé puis le BIOS doit être mis à jour.

    Lorsque vous chargez le BIOS d'installation, vous verrez de nouvelles options de configuration supplémentaires sur l'écran du moniteur.
    Chaque entreprise a besoin de son propre service public.

    Les propriétaires de BIOS Award auront besoin de l'utilitaire Modbin, et pour ceux qui ont un BIOS AMI installé sur leur ordinateur, vous devez télécharger le programme AMIBCP.
    Un fait intéressant est que l'utilitaire AMIBCP a été développé par les programmeurs d'AMI lui-même.

    Pratique

    Tout d'abord, vous devez préparer le logiciel nécessaire.
    Pour modifier, vous aurez besoin d'un utilitaire de mise à jour (« flasher »), d'un fichier avec la version actuelle du BIOS et d'un utilitaire de modification.

    L'utilitaire de flashage est disponible sur Internet sur le site du fabricant de la carte mère ou sur le CD fourni avec la carte mère.
    Après quoi, il doit être copié sur le disque dur de l’ordinateur.
    Le fichier contenant la version actuelle du BIOS peut être obtenu à l'aide de cet utilitaire.

    Les utilitaires de modification du BIOS peuvent être téléchargés sur Internet.

    À titre d'exemple, considérons le cas où un BIOS AMI est installé sur l'ordinateur.
    Quant au BIOS d'Award, le principe de modification est similaire et ne sera pas abordé dans cet article.

    L'utilitaire AMIBCP est un programme DOS et démarre sans problème sous Windows sans redémarrer en mode émulation MS-DOS.
    Volume AMIBCP (fichier amibcp75.exe) sous forme décompressée fait 542 Ko.
    Après avoir chargé l'utilitaire AMIBCP, vous devez utiliser le clavier pour saisir le nom du fichier contenant le BIOS, par exemple, 7vr_f4.bin .

    Ensuite, étant dans le menu principal du programme, recherchez la section « Configurer les données de configuration" et parcourez toutes les sous-sections dans l'ordre.
    Les sous-sections « Configuration du chipset" Et " Configuration des fonctionnalités du BIOS».
    La modification elle-même consiste à activer les options bloquées.

    Chaque sous-section contient des colonnes avec des titres « Nom de l'option», « Actif», « Droits», « Optimal" Et " Sécurité intégrée».

    Les options verrouillées sont mises en surbrillance à côté de ces options dans la colonne " Actif"valeur spécifiée" Non».
    Clés Page précédente Et Bas de page vous pouvez utiliser l'une ou l'autre installation bloquée.
    Il peut y avoir des cas où la colonne avec le titre " Nom de l'option"Les noms des options sont totalement absents à l'écran.
    Dans ce cas, vous devrez activer toutes les options d’affilée « à l’aveugle ».

    Après avoir terminé les modifications, accédez au menu principal du programme AMIBCP et, en appuyant sur la touche, enregistrez le BIOS modifié dans un fichier.
    Après avoir enregistré le fichier modifié, utilisez le « flasher » - un utilitaire de mise à jour du BIOS.

    Conclusion

    Un certain nombre de fabricants de cartes mères publient leurs programmes propriétaires pour mettre à jour le BIOS directement dans l'environnement Windows.
    Ceux-ci incluent les utilitaires de Gigabyte, ASUS, Intel, etc.

    Avant de flasher le micrologiciel, vous devez vous assurer que la mise à jour est autorisée dans la configuration du BIOS - dans la section Configuration des fonctionnalités du BIOS, le paramètre BIOS Flash Protection doit être en position Désactivé ou Auto.
    Après le flashage, redémarrez l'ordinateur et entrez dans le BIOS de configuration.

    Dans la pratique des modifications, il y avait des cas où des paramètres du BIOS étaient bloqués, ce qui pourrait améliorer les performances du système.
    A savoir : la possibilité de modifier la tension sur le bus AGP dans la plage de 1,5 à 1,8 V par pas de 0,1 V et sur les modules de mémoire DDR dans la plage de 2,5 à 2,8 V par pas de 0,1 V, ainsi que d'augmenter à 5 , 7,5 ou 10 % de tension nominale sur le cœur du processeur.

    Il y a eu des cas où le mode S.M.A.R.T a été bloqué dans le BIOS. pour les disques durs et le mode Bypass pour des performances optimales du processeur.
    L'option bloquée dans la sous-section Hardware Monitor - Slow Down CPU Duty Cycle s'est également avérée intéressante.

    Lorsque le système passe en mode Doze, la vitesse d'horloge du processeur diminue.
    En utilisant cette option, vous pouvez définir une vitesse d'horloge du processeur différente en pourcentage de la précédente.

    En conclusion, je voudrais vous rappeler : il ne faut pas perdre la tête face au contrôle total du BIOS.
    Et par conséquent, la modification et le changement de paramètres doivent être abordés avec une certaine prudence et en comprenant ce que vous faites et ce que vous recherchez.



    Avez-vous aimé l'article? Partager avec des amis: