
Herramienta de extracción de microcódigo para Intel, AMD, VIA y Freescale
Herramienta de extracción de microcódigo Intel, AMD, VIA y Freescale
Canal de noticias de MC Extractor
Tema de discusión de MC Extractor
Repositorios de microcódigo de CPU Intel, AMD, VIA y Freescale

MC Extractor es una herramienta que analiza binarios de microcódigo de procesadores Intel, AMD, VIA y Freescale. Puede ser utilizada por usuarios finales que buscan toda la información relevante del microcódigo, como CPUID, Plataforma, Versión, Fecha, Lanzamiento, Tamaño, Checksum, etc. Es capaz de convertir contenedores de microcódigo Intel (dat, inc, h, txt) a imágenes binarias para integración en BIOS, detectar microcódigos nuevos/desconocidos, verificar el estado del microcódigo, estado Actualizado/Desactualizado y más. MC Extractor también puede usarse como herramienta de análisis de investigación con múltiples estructuras que permiten, entre otras cosas, el análisis completo y la visualización de información de todos los Encabezados de microcódigo documentados o no. Además, con la ayuda de su extensa base de datos, MC Extractor es capaz de categorizar de manera única todos los microcódigos compatibles, así como verificar si hay microcódigos que aún no se hayan almacenado en los Repositorios de Microcódigo.
MC Extractor permite a los usuarios finales y/o investigadores extraer, ver, convertir y reportar rápidamente nuevas versiones de microcódigo sin el uso de herramientas especiales o Editores Hex. Para hacerlo de manera efectiva, fue necesario construir una base de datos. Los Repositorios de Microcódigo de CPU Intel, AMD, VIA y Freescale son una colección de todos los microcódigos de CPU de producción más recientes de Intel, AMD y VIA que hemos encontrado. Su existencia es muy importante para MC Extractor, ya que nos permite continuar investigando, encontrar nuevos tipos de microcódigo, comparar versiones en busca de similitudes, verificar binarios actualizados, etc. Junto con MC Extractor se incluye un archivo llamado MCE.db, que es necesario para que el programa funcione. Contiene entradas para todos los binarios de microcódigo que tenemos disponibles. Esto tiene dos propósitos principales: a) Verificar si el microcódigo importado está actualizado y b) Ayudar a encontrar nuevas versiones de microcódigo más pronto reportándolas en el hilo Discusión de Repositorios de Microcódigo de CPU Intel, AMD, VIA y Freescale.
MC Extractor se basó inicialmente en una fracción de la herramienta UEFIStrip de Lordkag, por lo que, ante todo, le agradezco todo su trabajo que inspiró este proyecto. Entre otros, excelentes lugares para aprender sobre microcódigos son el propio sitio de descarga y documentación oficial de Intel, Autenticación de Parches de Microcódigo Intel, Coreboot (a,b,c), Microparse de Dominic Chen, Notas e Investigación de Ben Hawkes, Microdecode de Richard A Burton, Volcados CPUID de AIDA64, Sandpile CPUID, Free Electrons (a, b), Freescale (a, b, c, d) y muchos más que quizás haya olvidado pero que de otro modo estarían aquí.
Hay dos formas de usar MC Extractor: el script MCE y el símbolo del sistema. El script MCE le permite ingresar o arrastrar y soltar uno o más firmwares y verlos uno por uno o escanear recursivamente directorios completos. Para usar MC Extractor manualmente, se puede usar un símbolo del sistema con -skip como parámetro.
Para usar MC Extractor, seleccione uno o varios archivos e ingréselos o arrástrelos y suéltelos en su script. También puede ingresar ciertos parámetros opcionales ya sea ejecutando MCE directamente o soltando primero uno o más archivos en él. Tenga en cuenta que, debido a las limitaciones del sistema operativo, hay un límite en la cantidad de archivos que se pueden soltar a la vez. Si esto es un problema, siempre puede usar el parámetro -mass para escanear recursivamente directorios completos, como se explica a continuación.
Hay varios parámetros que mejoran o modifican el comportamiento predeterminado de MC Extractor:
MC Extractor puede construir su propio formato de Blob de Microcódigo (MCB), que combina múltiples binarios de microcódigo Intel o AMD en un solo archivo. Esto permite principalmente la extracción rápida y automática del binario de microcódigo compatible más reciente basado en el binario de microcódigo de usuario equivalente ingresado. El MCB consta de un Encabezado identificable y una Tabla de Búsqueda de Entradas (LUT) seguida de los datos binarios reales del microcódigo. El Encabezado incluye información como el Fabricante del Microcódigo (Intel o AMD), Número de Microcódigos, Revisión de la DB de MCE y un Checksum que cubre todo el blob. Las entradas de la LUT incluyen detalles para cada binario de microcódigo, como CPUID, Plataforma, Revisión, Fecha, Tamaño, Checksum y Desplazamiento en el blob.

Para construir un Blob de Microcódigo MCE (MCB.bin), ingrese los binarios de microcódigo Intel o AMD deseados y use el parámetro -blob. Puede usar sus propios microcódigos o encontrar los más recientes de Producción de Intel y AMD en el repositorio Microcódigos de CPU Intel, AMD, VIA y Freescale. Para extraer el microcódigo más reciente de un MCB, ingrese un solo binario de microcódigo y use los parámetros -blob -search. MC Extractor validará el MCB detectado, verificará si el microcódigo ya está actualizado antes de extraer el más reciente y notificará en consecuencia.
Durante la operación, MC Extractor puede encontrar problemas que pueden generar Notas, Advertencias y/o Errores. Las Notas (color amarillo/verde) proporcionan información útil sobre una característica de este firmware en particular. Las Advertencias (color púrpura) notifican al usuario sobre posibles problemas que pueden causar inestabilidad en el sistema. Los Errores (color rojo) se muestran cuando se encuentra algo inesperado o problemático.
MC Extractor consta de dos archivos: el script (MCE.py) y su base de datos (MCE.db). Descargue la versión más reciente desde la pestaña Releases, el título debe comenzar con "MC Extractor vX.Y.Z". Es posible que deba desplazarse un poco hacia abajo si hay versiones de DB en la parte superior. Estas últimas se pueden usar para actualizar la DB desactualizada que se incluyó con la versión más reciente "MC Extractor vX.Y.Z", el título debe comenzar con "DB rXY".
MC Extractor debería funcionar en todos los sistemas operativos Windows, Linux o macOS que tengan soporte para Python >= 3.7.
Para ejecutar MC Extractor, necesita instalar Python >= 3.7, seguido de estos módulos Python de terceros:
pip3 install colorama pltable
Nota: Algunas imágenes pueden estar desactualizadas y mostrar versiones anteriores de MC Extractor.


















