
Strumento di estrazione del microcodice per Intel, AMD, VIA e Freescale
Intel, AMD, VIA & Freescale - Strumento di estrazione dei microcodici
Argomento di discussione di MC Extractor
Intel, AMD, VIA & Freescale CPU Microcode Repositories

MC Extractor è uno strumento che analizza i binari dei microcodici dei processori Intel, AMD, VIA e Freescale. Può essere utilizzato dagli utenti finali che cercano tutte le informazioni rilevanti sui microcodici come CPUID, Platform, Version, Date, Release, Size, Checksum, ecc. È in grado di convertire contenitori di microcodici Intel (dat, inc, h, txt) in immagini binarie per l'integrazione nel BIOS, rilevare nuovi microcodici sconosciuti, verificare la salute del microcodice, lo stato Aggiornato/Obsoleto e altro. MC Extractor può essere utilizzato anche come strumento di analisi di ricerca con molteplici strutture che consentono, tra l'altro, l'analisi completa e la visualizzazione delle informazioni di tutti gli Header dei microcodici, documentati o meno. Inoltre, con l'aiuto del suo ampio database, MC Extractor è in grado di categorizzare in modo univoco tutti i microcodici supportati e di verificare la presenza di microcodici non ancora memorizzati nei Repository dei Microcodici.
MC Extractor consente agli utenti finali e/o ai ricercatori di estrarre, visualizzare, convertire e segnalare rapidamente nuove versioni di microcodice senza l'uso di strumenti speciali o editor esadecimali. Per farlo in modo efficace, è stato necessario costruire un database. I Repository dei Microcodici CPU Intel, AMD, VIA e Freescale sono una collezione di tutti i microcodici CPU Intel, AMD e VIA di ultima produzione che abbiamo trovato. La loro esistenza è molto importante per MC Extractor perché ci permette di continuare la ricerca, trovare nuovi tipi di microcodice, confrontare le release per somiglianze, verificare la presenza di binari aggiornati, ecc. In bundle con MC Extractor c'è un file chiamato MCE.db, necessario per il funzionamento del programma. Include voci per tutti i binari dei microcodici a nostra disposizione. Ciò supporta principalmente due azioni: a) Controllare se il microcodice importato è aggiornato e b) Aiutare a trovare nuove release di microcodice più rapidamente segnalandole nel thread Discussione sui Repository dei Microcodici CPU Intel, AMD, VIA e Freescale.
MC Extractor era inizialmente basato su una parte dello strumento UEFIStrip di Lordkag, quindi, prima di tutto, lo ringrazio per tutto il suo lavoro che ha ispirato questo progetto. Tra gli altri, ottimi posti per imparare sui microcodici sono il sito di download di Intel e la documentazione ufficiale, Intel Microcode Patch Authentication, Coreboot (a,b,c), Microparse di Dominic Chen, Note e Ricerca di Ben Hawkes, Microdecode di Richard A Burton, dump CPUID AIDA64, Sandpile CPUID, Free Electrons (a, b), Freescale (a, b, c, d) e molti altri che potrei aver dimenticato ma che sarebbero stati altrimenti qui.
Ci sono due modi per usare MC Extractor: lo script MCE e il prompt dei comandi. Lo script MCE consente di inserire o trascinare uno o più firmware e visualizzarli uno per uno o scansionare ricorsivamente intere directory. Per usare manualmente MC Extractor, è possibile utilizzare un prompt dei comandi con -skip come parametro.
Per usare MC Extractor, seleziona uno o più file e inseriscili o trascinali nel suo script. Puoi anche inserire determinati parametri opzionali eseguendo direttamente MCE o trascinando prima uno o più file al suo interno. Tieni presente che, a causa delle limitazioni del sistema operativo, c'è un limite al numero di file che possono essere trascinati contemporaneamente. Se quest'ultimo è un problema, puoi sempre usare il parametro -mass per scansionare ricorsivamente intere directory, come spiegato di seguito.
Esistono vari parametri che migliorano o modificano il comportamento predefinito di MC Extractor:
MC Extractor può costruire il proprio formato Microcode Blob (MCB), che combina più binari di microcodici Intel o AMD in un unico file. Ciò consente principalmente un'estrazione rapida e automatica del binario di microcodice compatibile più recente basato sull'input del binario di microcodice utente equivalente. Il MCB è composto da un Header identificabile e da una Entry Look Up Table (LUT) seguiti dai dati binari effettivi del microcodice. L'Header include informazioni come il Vendor del microcodice (Intel o AMD), il Numero di microcodici, la Revisione del DB MCE e un Checksum che copre l'intero blob. Le voci della LUT includono dettagli per ogni binario di microcodice come CPUID, Platform, Revision, Date, Size, Checksum e Offset nel blob.

Per costruire un MCE Microcode Blob (MCB.bin), inserisci i binari di microcodici Intel o AMD desiderati e usa il parametro -blob. Puoi usare i tuoi microcodici o trovare quelli Intel e AMD di ultima produzione nel repository Intel, AMD, VIA & Freescale CPU Microcodes. Per estrarre il microcodice più recente da un MCB, inserisci un singolo binario di microcodice e usa i parametri -blob -search. MC Extractor convaliderà il MCB rilevato, controllerà se il microcodice è già aggiornato prima di estrarre il più recente e notificherà di conseguenza.
Durante l'operazione, MC Extractor può incontrare problemi che possono generare Note, Avvisi e/o Errori. Le Note (colore giallo/verde) forniscono informazioni utili su una caratteristica di questo particolare firmware. Gli Avvisi (colore viola) notificano all'utente possibili problemi che possono causare instabilità del sistema. Gli Errori (colore rosso) vengono mostrati quando si incontra qualcosa di inaspettato o problematico.
MC Extractor è composto da due file: lo script (MCE.py) e il suo database (MCE.db). Scarica l'ultima versione dalla scheda Releases, il titolo dovrebbe iniziare con "MC Extractor vX.Y.Z". Potrebbe essere necessario scorrere un po' verso il basso se ci sono release del DB in cima. Quest'ultimo può essere utilizzato per aggiornare il DB obsoleto che era in bundle con l'ultima release "MC Extractor vX.Y.Z", il titolo dovrebbe iniziare con "DB rXY".
MC Extractor dovrebbe funzionare su tutti i sistemi operativi Windows, Linux o macOS che supportano Python >= 3.7.
Per eseguire MC Extractor, è necessario installare Python >= 3.7, seguito da questi moduli Python di terze parti:
pip3 install colorama pltable
Nota: Alcune immagini potrebbero essere obsolete e mostrare versioni precedenti di MC Extractor.


















