Giter Site home page Giter Site logo

mcextractor's People

Contributors

patrickschur avatar platomav avatar rrobgill avatar sebastiaandirks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mcextractor's Issues

Warnings in work with this dump

Hello Plato.

Information about the platform: HP 250 G1, InsydeH20, SPI on 2 flashes (4096kB+1024kB).
Full dump from FPT

The first thing that confused me was MCExtractor with warnings about microcode #8. Details below:

Warning: Microcode #8 has non-empty Reserved fields, please report it!
 
Warning: Microcode #8 has Header CPUID discrepancy, please report it!
 
Warning: Microcode #8 is crossing over to the next microcode(s), please report it!
 
Warning: Microcode #8 is corrupted, please report it!

My further analysis leads to the fact that the MC 306A9 of interest to me is located in the firmware in a truncated form. The MC block starting at 3F00C has a length of 2440 instead of the original 2C00 corresponding to this version of the MC.

Thread on Win-Raid

Thanks for your time helping me.

Option to decently order microcode entries?

At the moment AFAICT they are shown in whatever order they are placed inside a file.
But at least for the mcupdates windows ships with, there's absolutely no regularity in the position of any single "entry" across different "whole file" releases.
This makes diffing slightly more annoying than I'd like.

Now, I don't really know how much important offset ordering is (so maybe changing this could not be a good default), but I'd like to see some way to have CPUID ordering.

Add support for new Intel Microcode header fields + In-Field Scan (IFS) type

Based on the feedback by @andyhhp at #59 (comment) and the commits from https://github.com/torvalds/linux/commits/master/arch/x86/include/asm/microcode_intel.h, it appears Intel has been busy lately with the microcode format. Here are the changes that need to be implemented in MCE:

  1. Header Version (i.e. 0x00-0x04) is actually Header Type with 1 meaning "Microcode" and 2 "In-Field Scan" (IFS).
  2. Reserved 1/3 (i.e. 0x24-0x28) is now IFS Metadata Size for the Header Type 2 structures.
  3. Reserved 2/3 (i.e. 0x28-0x2C) is now Minimum Required Version for avoiding OS Kernel Late Loading incompatibilities.

failed after install prettytables

Hello I have install prettytables but now your python script crash :

`/opt/MCExtractor# python3 MCE.py
Traceback (most recent call last):
File "/opt/MCExtractor/MCE.py", line 25, in
import prettytable
ModuleNotFoundError: No module named 'prettytable'
root@DESKTOP-HVPNCSO:/opt/MCExtractor# pip3 install prettytable
Collecting prettytable
Downloading https://files.pythonhosted.org/packages/e0/a1/36203205f77ccf98f3c6cf17cf068c972e6458d7e58509ca66da949ca347/prettytable-0.7.2.tar.gz
Installing collected packages: prettytable
Running setup.py install for prettytable ... done
Successfully installed prettytable-0.7.2
root@DESKTOP-HVPNCSO:/opt/MCExtractor# python3 MCE.py

Error: MC Extractor crashed, please report the following:

Traceback (most recent call last):
File "/opt/MCExtractor/MCE.py", line 960, in
mce_hdr()
File "/opt/MCExtractor/MCE.py", line 921, in mce_hdr
hdr_pt,hdr_pt_empty = mc_table([], False, 1)
File "/opt/MCExtractor/MCE.py", line 863, in mc_table
pt.set_style(prettytable.UNICODE_LINES)
AttributeError: module 'prettytable' has no attribute 'UNICODE_LINES'

Press enter to exit`

Thank you in advance to help me runnig correctly your python scrypt :)

Regards.

Azaretdodo.

AttributeError: module 'prettytable' has no attribute 'BOX_CHARS'

With the latest version, probably caused by commit 2cf6694, I am getting

File (1/95): 06-03-02


Error: MCE just crashed, please report the following:

Traceback (most recent call last):
  File "MCE.py", line 1013, in <module>
    pt, pt_empty = mc_table(col_names, True, 1)
  File "MCE.py", line 727, in mc_table
    pt.set_style(prettytable.BOX_CHARS) # Comment out if UnicodeEncodeError
AttributeError: module 'prettytable' has no attribute 'BOX_CHARS'

When I remove the line 727, problem is gone.

Error: MCE just crashed, please report the following:

`-------[ MC Extractor v1.13.2 r52 ]-------

Welcome to Intel, AMD, VIA & Freescale Microcode Extractor

Input a filename or "filepath" or press Enter to list options

File: None

Option(s):

Error: MCE just crashed, please report the following:

Traceback (most recent call last):
File "MCE.py", line 834, in
input_var = input('\nOption(s): ')
File "", line 0

^

SyntaxError: unexpected EOF while parsing

Press enter to exit
Error in sys.excepthook:
Traceback (most recent call last):
File "MCE.py", line 538, in show_exception_and_exit
input(col_e + '\nPress enter to exit')
File "", line 0

^

SyntaxError: unexpected EOF while parsing

Original exception was:
Traceback (most recent call last):
File "MCE.py", line 834, in
input_var = input('\nOption(s): ')
File "", line 0

^

SyntaxError: unexpected EOF while parsing`

Error in v1.36.0

Python 3.6.8
Windows 10 x64 Pro 1903

Error:
Traceback (most recent call last):
  File "MCE.py", line 67, in <module>
    newline=sys.stdout.newlines, line_buffering=sys.stdout.line_buffering, write_through=sys.stdout.write_through)
  File "C:\Program Files\Python36\lib\site-packages\colorama\ansitowin32.py", line 29, in __getattr__
    return getattr(self.__wrapped, name)
AttributeError: '_io.TextIOWrapper' object has no attribute 'write_through'

Tried v1.35.0 all runs successfully.

MCE.exe doesn't find any update and mce.py is too much older about their dependancies asked for work

hello,

MCE.exe doesn't find any update and mce.py is too much older about of their dependancies asked for work :

  1. kind of MCE.exe below :

MCE -search 806E9 :

image

image

image

image

image

image

image

image

  1. kind of mce.py below :
PS C:\MCExtractor-master\MCExtractor-master> ./mce.py [-ubu] -skip -exit
MC Extractor v1.77.0

Error: Dependency "colorama" is missing!
       Install via "pip3 install colorama"

PS C:\MCExtractor-master\MCExtractor-master> pip3 install colorama
Requirement already satisfied: colorama in c:\python37\lib\site-packages (0.4.1)
PS C:\MCExtractor-master\MCExtractor-master> ./mce.py [-ubu] -skip -exit
MC Extractor v1.77.0

Error: Dependency "colorama" is missing!
       Install via "pip3 install colorama"

PS C:\MCExtractor-master\MCExtractor-master> pip3 install --upgrade colorama
Requirement already satisfied: colorama in c:\python37\lib\site-packages (0.4.1)
Collecting colorama
  Downloading colorama-0.4.5-py2.py3-none-any.whl (16 kB)
Installing collected packages: colorama
  Attempting uninstall: colorama
    Found existing installation: colorama 0.4.1
    Uninstalling colorama-0.4.1:
      Successfully uninstalled colorama-0.4.1
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
cmd2 0.9.10 requires pyreadline, which is not installed.
awscli 1.16.115 requires colorama<=0.3.9,>=0.2.5, but you have colorama 0.4.5 which is incompatible.
awscli 1.16.115 requires rsa<=3.5.0,>=3.1.2, but you have rsa 4.0 which is incompatible.
Successfully installed colorama-0.4.5
PS C:\MCExtractor-master\MCExtractor-master> pip3 install pyreadline
Collecting pyreadline
  Downloading pyreadline-2.1.zip (109 kB)
     ---------------------------------------- 109.2/109.2 kB 487.4 kB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: pyreadline
  Building wheel for pyreadline (setup.py) ... done
  Created wheel for pyreadline: filename=pyreadline-2.1-py3-none-any.whl size=93835 sha256=393c4f2c34c0a3d4576beaa560aa621a87f0ceac6a203669f5aff0a247cf3ac0
  Stored in directory: c:\users\doria\appdata\local\pip\cache\wheels\2c\ba\0a\79cfdda2594b992540020a641a4abc70764064f532acbe56b4
Successfully built pyreadline
Installing collected packages: pyreadline
Successfully installed pyreadline-2.1
PS C:\MCExtractor-master\MCExtractor-master> pip3 install rsa
Requirement already satisfied: rsa in c:\python37\lib\site-packages (4.0)
Requirement already satisfied: pyasn1>=0.1.3 in c:\python37\lib\site-packages (from rsa) (0.4.5)
PS C:\MCExtractor-master\MCExtractor-master> pip3 install --upgrade rsa
Requirement already satisfied: rsa in c:\python37\lib\site-packages (4.0)
Collecting rsa
  Downloading rsa-4.9-py3-none-any.whl (34 kB)
Requirement already satisfied: pyasn1>=0.1.3 in c:\python37\lib\site-packages (from rsa) (0.4.5)
Installing collected packages: rsa
  Attempting uninstall: rsa
    Found existing installation: rsa 4.0
    Uninstalling rsa-4.0:
      Successfully uninstalled rsa-4.0
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
awscli 1.16.115 requires colorama<=0.3.9,>=0.2.5, but you have colorama 0.4.5 which is incompatible.
awscli 1.16.115 requires rsa<=3.5.0,>=3.1.2, but you have rsa 4.9 which is incompatible.
Successfully installed rsa-4.9
PS C:\MCExtractor-master\MCExtractor-master> pip3 install pyasn1
Requirement already satisfied: pyasn1 in c:\python37\lib\site-packages (0.4.5)
PS C:\MCExtractor-master\MCExtractor-master> pip3 install --upgrade pyasn1
Requirement already satisfied: pyasn1 in c:\python37\lib\site-packages (0.4.5)
Collecting pyasn1
  Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)
     ---------------------------------------- 77.1/77.1 kB 194.5 kB/s eta 0:00:00
Installing collected packages: pyasn1
  Attempting uninstall: pyasn1
    Found existing installation: pyasn1 0.4.5
    Uninstalling pyasn1-0.4.5:
      Successfully uninstalled pyasn1-0.4.5
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
awscli 1.16.115 requires colorama<=0.3.9,>=0.2.5, but you have colorama 0.4.5 which is incompatible.
awscli 1.16.115 requires rsa<=3.5.0,>=3.1.2, but you have rsa 4.9 which is incompatible.
Successfully installed pyasn1-0.4.8
PS C:\MCExtractor-master\MCExtractor-master> ./mce.py [-ubu] -skip -exit
MC Extractor v1.77.0

Error: Dependency "colorama" is missing!
       Install via "pip3 install colorama"
  1. kind of MCE.exe : does the database is ready because it doesn't find any update ? fornulately two are installed ever since the olds patchs i was found and install from your fork there are some months or years and inspectre the say about both threat disabled,

  2. kind of mce.py : does this is a threat if i move down the level of their dependencies ? thus if there aren't any threat how to move down the level of their dependancies ?

thanks you in advance for your help,

regards.

Azaretdodo.

Source of newer Intel microcodes

I would like to know the origin of newer Intel microcodes, especially those:

cpu1067A_plat44_ver00000A0E_2015-07-29_PRD_A3107D75.bin
cpu1067A_platB1_ver00000A0E_2015-07-29_PRD_59BF808E.bin
cpu10676_plat04_ver00000612_2015-08-02_PRD_AEAA6CC1.bin
cpu10676_plat40_ver00000612_2015-08-02_PRD_B6F50E9C.bin
cpu10676_plat91_ver00000612_2015-08-02_PRD_1750A2A6.bin

because they are newer than Intel's official microcodes. Corresponding entries from that repository:

║  79 │ 1067A │      11 (0,4)      │   A0B    │ 2010-09-28 │ PRD  │  0x2000 │ 0x36000  │  No  ║
║  80 │ 1067A │      44 (2,6)      │   A0B    │ 2010-09-28 │ PRD  │  0x2000 │ 0x38000  │  No  ║
║  81 │ 1067A │      A0 (5,7)      │   A0B    │ 2010-09-28 │ PRD  │  0x2000 │ 0x3A000  │  No  ║
║  73 │ 10676 │       01 (0)       │   60F    │ 2010-09-29 │ PRD  │  0x1000 │ 0x30000  │  No  ║
║  74 │ 10676 │       04 (2)       │   60F    │ 2010-09-29 │ PRD  │  0x1000 │ 0x31000  │  No  ║
║  75 │ 10676 │       10 (4)       │   60F    │ 2010-09-29 │ PRD  │  0x1000 │ 0x32000  │  No  ║
║  76 │ 10676 │       40 (6)       │   60F    │ 2010-09-29 │ PRD  │  0x1000 │ 0x33000  │  No  ║
║  77 │ 10676 │       80 (7)       │   60F    │ 2010-09-29 │ PRD  │  0x1000 │ 0x34000  │  No  ║

Is there any other official microcode repository, or could it be that Intel's is outdated?

Error in linux kali distro Kernel v4.15 python3.6 lib error no attribute

the program is returned with the following error
`Error: MCE just crashed, please report the following:

Traceback (most recent call last):
File "MCE.py", line 828, in
mce_hdr()
File "MCE.py", line 787, in mce_hdr
hdr_pt,hdr_pt_empty = mc_table([], False, 1)
File "MCE.py", line 731, in mc_table
if not param.cli_redirect : pt.set_style(prettytable.BOX_CHARS)
AttributeError: module 'prettytable' has no attribute 'BOX_CHARS'`

View the whole MCE.db in human-readable text format?

I would like to check what's the latest microcode version for AMD CPU with ID = 610F31 , but your software doesn't have any option to print this information or at least print all known microcodes for AMD CPU's - so that I could manually look through for microcode info that belongs to CPU ID of my interest...

Contributing microcode versions to MCE.db

My name is Richard Hughes and I run the LVFS which is a firmware site used by most of the consumer OEMs to distribute mostly UEFI firmware to Linux users. We've recently switched from chipsec uefi decode to UEFIExtract to decompress FV volumes from capsules. This gives us microcode blobs "for free" which we're currently saving as blobs in a private database.

I was wondering two things:

  • If we can use MCE.db to tell vendors "you're shipping an old microcode version" when they upload a firmware update with microcode updates for the same CPUID.

  • If in return, we can contribute new microcode versions automatically/semi-automatically as they are uploaded somehow. Ideas I had here were perhaps having a script that emailed you (?) a tarball of all the microcode versions that existed on the LVFS every week, or perhaps hitting an endpoint you provide (e.g. MCE_upload.py with POST data). Ideas very welcome here.

Running on Ubuntu 20.04 crashes

Fresh Ubuntu 20.04 release.
Installed the following:

$ pip3 install colorama
Collecting colorama
  Downloading colorama-0.4.3-py2.py3-none-any.whl (15 kB)
Installing collected packages: colorama
Successfully installed colorama-0.4.3
$ pip3 install prettytable
Collecting prettytable
  Downloading prettytable-0.7.2.tar.bz2 (21 kB)
Building wheels for collected packages: prettytable
  Building wheel for prettytable (setup.py) ... done
  Created wheel for prettytable: filename=prettytable-0.7.2-py3-none-any.whl size=13698 sha256=3607cfad1d2e933194da840b07be2a0d16ae5748b1fae5fe218e12ed70625ecd
  Stored in directory: /home/test/.cache/pip/wheels/46/60/6c/bb25d05df22906786206e901e9354bb3061061191116768bee
Successfully built prettytable
Installing collected packages: prettytable
Successfully installed prettytable-0.7.2

Running with no arguments I receive this:

Error: MC Extractor crashed, please report the following:

Traceback (most recent call last):
  File "./MCE.py", line 943, in <module>
    mce_hdr()
  File "./MCE.py", line 904, in mce_hdr
    hdr_pt,hdr_pt_empty = mc_table([], False, 1)
  File "./MCE.py", line 846, in mc_table
    pt.set_style(prettytable.UNICODE_LINES)
AttributeError: module 'prettytable' has no attribute 'UNICODE_LINES'

MCExtractor should add 1KB padding to files with odd file sizes

Bios utilities expect the file to be power of 2, for instance, they can import a 4, 6, 8, 10, or 12KB microcode binary, but will fail on 3, 5, 7, 9, 11

for ease of injection, MCExtractor should add 1KB of zeroed data to the end of any microcode binary which is odd number.

For instance, the file cpu206C2_plat03_ver0000001F_2018-05-08_PRD_77DADA73.bin recently added is 11KB and fails to be inserted by any version of MMTool, adding 1KB of dummy data to the end resolves this.

-search option: Version explanation

Hi, I am currently digging BIOS files of my new potential motherboard, specifically AMD B550 chipset that is rumored to have zen/zen+ support depending on OEM. Using the downloaded BIOS of Phantom Gaming B550 ITX, I performed a search with CPUID 0800F11 which is the ID of my soon-to-be-transferred CPU (Ryzen 3 1200).

the search succeed, displaying entries of 0800F11 as shown below

image

while I could understand the date and size, I'm unsure what version means. Exact cpu model? cpu model string?

why I'm choosing this board for my zen cpu is future proofing, of course and Asrock seems to have it in initial/factory bios

Some of latest Intel microcodes not detected

Intel microcode version 3303 for CPUID's 50656 and 50657 are not seen as a microcode by MCE.

The latest version of UEFITool NE can see them properly.

Listed microcode above found at: https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files

UEFITool NE found at: https://github.com/LongSoft/UEFITool

MCE microcode file:
mce_cap

MCE modded BIOS:
mce_mod_cap

UEFITool NE:
uefitool_cap

For a comparison, the previous microcode 3302 for CPUID's 50656 and 50657 are detected properly.

MCE previous modded BIOS:
mce_mod_prev_cap

The Windows 10 RedStone 5 (1903) mcupdate_genuineintel.dll is rather much bigger than the KB4100347 (1803)

Would this be of any interest to you? 1471384 bytes (1803) versus 2875184 bytes

It appears to (also) contain some older microcode revisions, that are not in the (current) microcode database. Possibly because you remove ones that are superseded?

~/MCExtractor/Extracted/Intel$ ls -al
totaal 2960
drwxrwxrwx 1 henk henk   512 aug 15 14:20 .
drwxrwxrwx 1 henk henk   512 aug 15 14:20 ..
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu006F2_plat01_ver0000005D_2010-10-02_PRD_9384A573.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu006F2_plat20_ver0000005C_2010-10-02_PRD_C335A60F.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu006F6_plat01_ver000000D0_2010-09-30_PRD_B61EC71A.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu006F6_plat04_ver000000D2_2010-10-01_PRD_6618CFFF.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu006F6_plat20_ver000000D1_2010-10-01_PRD_C3EFBA8F.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu006F7_plat10_ver0000006A_2010-10-02_PRD_9911AAF2.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu006F7_plat40_ver0000006B_2010-10-02_PRD_CC4DEED3.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu006FA_plat80_ver00000095_2010-10-02_PRD_9F4B38D8.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu006FB_plat01_ver000000C1_2011-10-04_PRD_0EF87396.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu006FB_plat04_ver000000BC_2010-10-03_PRD_9394765A.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu006FB_plat08_ver000000BB_2010-10-03_PRD_E7FBF398.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu006FB_plat10_ver000000BA_2010-10-03_PRD_ED247070.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu006FB_plat20_ver000000BA_2010-10-03_PRD_9777492E.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu006FB_plat40_ver000000BC_2010-10-03_PRD_F1A7A484.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu006FB_plat80_ver000000BA_2010-10-03_PRD_F953DC67.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu006FD_plat01_ver000000A4_2010-10-02_PRD_9ACE6116.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu006FD_plat20_ver000000A4_2010-10-02_PRD_9ACE60F7.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu006FD_plat80_ver000000A4_2010-10-02_PRD_9ACE6097.bin
-rw-rw-rw- 1 henk henk  5120 aug 15 14:20 cpu00F41_plat02_ver00000016_2005-04-21_PRD_0A12A70A.bin
-rw-rw-rw- 1 henk henk  5120 aug 15 14:20 cpu00F41_platBD_ver00000017_2005-04-22_PRD_326135C1.bin
-rw-rw-rw- 1 henk henk  2048 aug 15 14:20 cpu00F43_plat9D_ver00000005_2005-04-21_PRD_77812C17.bin
-rw-rw-rw- 1 henk henk  3072 aug 15 14:20 cpu00F44_plat9D_ver00000006_2005-04-21_PRD_9F60DB18.bin
-rw-rw-rw- 1 henk henk  3072 aug 15 14:20 cpu00F47_plat9D_ver00000003_2005-04-21_PRD_AF2CEF0D.bin
-rw-rw-rw- 1 henk henk  3072 aug 15 14:20 cpu00F48_plat01_ver0000000C_2006-05-08_PRD_5B9AFEC7.bin
-rw-rw-rw- 1 henk henk  3072 aug 15 14:20 cpu00F48_plat02_ver0000000E_2008-01-15_PRD_0E158E10.bin
-rw-rw-rw- 1 henk henk  3072 aug 15 14:20 cpu00F48_plat5F_ver00000007_2005-06-30_PRD_D0938263.bin
-rw-rw-rw- 1 henk henk  2048 aug 15 14:20 cpu00F49_platBD_ver00000003_2005-04-21_PRD_F85D53B8.bin
-rw-rw-rw- 1 henk henk  2048 aug 15 14:20 cpu00F4A_plat5C_ver00000004_2005-12-14_PRD_5E7996D9.bin
-rw-rw-rw- 1 henk henk  2048 aug 15 14:20 cpu00F4A_plat5D_ver00000002_2005-06-10_PRD_DFBC9997.bin
-rw-rw-rw- 1 henk henk  3072 aug 15 14:20 cpu00F62_plat04_ver0000000F_2005-12-15_PRD_0976D137.bin
-rw-rw-rw- 1 henk henk  3072 aug 15 14:20 cpu00F64_plat01_ver00000002_2005-12-15_PRD_680B0995.bin
-rw-rw-rw- 1 henk henk  3072 aug 15 14:20 cpu00F64_plat34_ver00000004_2005-12-23_PRD_C66DBF02.bin
-rw-rw-rw- 1 henk henk  2048 aug 15 14:20 cpu00F65_plat01_ver00000008_2006-04-26_PRD_5C58F575.bin
-rw-rw-rw- 1 henk henk  2048 aug 15 14:20 cpu00F65_plat04_ver00000009_2006-04-28_PRD_1262A7E1.bin
-rw-rw-rw- 1 henk henk  2048 aug 15 14:20 cpu00F68_plat22_ver00000009_2006-07-14_PRD_0D8BB650.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu10661_plat01_ver00000043_2010-10-04_PRD_4B64BA3A.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu10661_plat02_ver00000042_2010-10-04_PRD_0E219073.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu10661_plat80_ver00000044_2010-10-04_PRD_53BAADCC.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu10676_plat04_ver0000060F_2010-09-29_PRD_8FE1A243.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu10676_plat40_ver0000060F_2010-09-29_PRD_8FE1A207.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu10676_plat91_ver00000610_2011-10-04_PRD_61DF8B32.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu10677_plat10_ver0000070B_2011-10-04_PRD_A48ED842.bin
-rw-rw-rw- 1 henk henk  8192 aug 15 14:20 cpu1067A_plat44_ver00000A0B_2010-09-28_PRD_B007E7B0.bin
-rw-rw-rw- 1 henk henk  8192 aug 15 14:20 cpu1067A_platB1_ver00000A0C_2011-10-04_PRD_0BCA2F8B.bin
-rw-rw-rw- 1 henk henk 14336 aug 15 14:20 cpu106A4_plat03_ver00000012_2013-06-21_PRD_9383A5F1.bin
-rw-rw-rw- 1 henk henk 11264 aug 15 14:20 cpu106A5_plat03_ver0000001C_2018-01-24_PRD_77105048.bin
-rw-rw-rw- 1 henk henk 12288 aug 15 14:20 cpu106A5_plat03_ver0000001D_2018-05-11_PRD_AB179397.bin
-rw-rw-rw- 1 henk henk  5120 aug 15 14:20 cpu106C2_plat04_ver00000218_2009-04-10_PRD_8FB7C1BA.bin
-rw-rw-rw- 1 henk henk  5120 aug 15 14:20 cpu106C2_plat08_ver00000219_2009-04-10_PRD_556338C1.bin
-rw-rw-rw- 1 henk henk  5120 aug 15 14:20 cpu106CA_plat01_ver00000107_2009-08-25_PRD_F851A3D9.bin
-rw-rw-rw- 1 henk henk  5120 aug 15 14:20 cpu106CA_plat04_ver00000107_2009-08-25_PRD_7DEB58B2.bin
-rw-rw-rw- 1 henk henk  5120 aug 15 14:20 cpu106CA_plat08_ver00000107_2009-08-25_PRD_BE667CA5.bin
-rw-rw-rw- 1 henk henk  5120 aug 15 14:20 cpu106CA_plat10_ver00000107_2009-08-25_PRD_482CAE0E.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu106D1_plat08_ver00000029_2010-09-30_PRD_2408D9A1.bin
-rw-rw-rw- 1 henk henk  5120 aug 15 14:20 cpu106E4_plat09_ver00000002_2010-03-08_PRD_BDBB308A.bin
-rw-rw-rw- 1 henk henk  8192 aug 15 14:20 cpu106E5_plat13_ver00000009_2018-01-24_PRD_01EAEE93.bin
-rw-rw-rw- 1 henk henk  9216 aug 15 14:20 cpu106E5_plat13_ver0000000A_2018-05-08_PRD_B16FCEEB.bin
-rw-rw-rw- 1 henk henk  9216 aug 15 14:20 cpu20652_plat12_ver00000010_2018-02-04_PRD_AC3A178A.bin
-rw-rw-rw- 1 henk henk  9216 aug 15 14:20 cpu20652_plat12_ver00000011_2018-05-08_PRD_6E121A49.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu20655_plat92_ver00000006_2018-01-23_PRD_74A55BFF.bin
-rw-rw-rw- 1 henk henk  4096 aug 15 14:20 cpu20655_plat92_ver00000007_2018-04-23_PRD_8B585C97.bin
-rw-rw-rw- 1 henk henk  5120 aug 15 14:20 cpu20661_plat02_ver00000105_2011-07-18_PRD_52558795.bin
-rw-rw-rw- 1 henk henk 12288 aug 15 14:20 cpu206A7_plat12_ver0000002D_2018-02-07_PRD_1BDB79EA.bin
-rw-rw-rw- 1 henk henk 12288 aug 15 14:20 cpu206A7_plat12_ver0000002E_2018-04-10_PRD_576F65DE.bin
-rw-rw-rw- 1 henk henk 10240 aug 15 14:20 cpu206C2_plat03_ver0000001E_2018-01-23_PRD_B8C45629.bin
-rw-rw-rw- 1 henk henk 11264 aug 15 14:20 cpu206C2_plat03_ver0000001F_2018-05-08_PRD_77DADA73.bin
-rw-rw-rw- 1 henk henk 18432 aug 15 14:20 cpu206D6_plat6D_ver0000061C_2018-01-30_PRD_2ED60C71.bin
-rw-rw-rw- 1 henk henk 18432 aug 15 14:20 cpu206D6_plat6D_ver0000061D_2018-05-08_PRD_441342A4.bin
-rw-rw-rw- 1 henk henk 19456 aug 15 14:20 cpu206D7_plat6D_ver00000713_2018-01-26_PRD_C3EF7065.bin
-rw-rw-rw- 1 henk henk 19456 aug 15 14:20 cpu206D7_plat6D_ver00000714_2018-05-08_PRD_5A3BF81F.bin
-rw-rw-rw- 1 henk henk  9216 aug 15 14:20 cpu206E6_plat04_ver0000000C_2018-01-18_PRD_AFAC8230.bin
-rw-rw-rw- 1 henk henk  9216 aug 15 14:20 cpu206E6_plat04_ver0000000D_2018-05-15_PRD_09B7B395.bin
-rw-rw-rw- 1 henk henk 14336 aug 15 14:20 cpu206F2_plat05_ver0000003A_2018-01-19_PRD_9CAD50BA.bin
-rw-rw-rw- 1 henk henk 14336 aug 15 14:20 cpu206F2_plat05_ver0000003B_2018-05-16_PRD_28612AC4.bin
-rw-rw-rw- 1 henk henk  5120 aug 15 14:20 cpu30661_plat01_ver0000010D_2011-12-22_PRD_B4762578.bin
-rw-rw-rw- 1 henk henk  5120 aug 15 14:20 cpu30661_plat02_ver0000010D_2011-12-22_PRD_D687F85A.bin
-rw-rw-rw- 1 henk henk  5120 aug 15 14:20 cpu30661_plat04_ver0000010D_2011-12-22_PRD_85AE225C.bin
-rw-rw-rw- 1 henk henk  5120 aug 15 14:20 cpu30661_plat08_ver0000010D_2011-12-22_PRD_4268B212.bin
-rw-rw-rw- 1 henk henk  5120 aug 15 14:20 cpu30669_plat01_ver0000010D_2013-05-15_PRD_3F0531D2.bin
-rw-rw-rw- 1 henk henk 13312 aug 15 14:20 cpu306A9_plat12_ver0000001F_2018-02-07_PRD_3023E347.bin
-rw-rw-rw- 1 henk henk 13312 aug 15 14:20 cpu306A9_plat12_ver00000020_2018-04-10_PRD_732E4C38.bin
-rw-rw-rw- 1 henk henk 23552 aug 15 14:20 cpu306C3_plat32_ver00000024_2018-01-21_PRD_FCD4700E.bin
-rw-rw-rw- 1 henk henk 23552 aug 15 14:20 cpu306C3_plat32_ver00000025_2018-04-02_PRD_5F430452.bin
-rw-rw-rw- 1 henk henk 18432 aug 15 14:20 cpu306D4_platC0_ver0000002A_2018-01-18_PRD_CC79BBDA.bin
-rw-rw-rw- 1 henk henk 18432 aug 15 14:20 cpu306D4_platC0_ver0000002B_2018-03-22_PRD_0B0DD00D.bin
-rw-rw-rw- 1 henk henk 15360 aug 15 14:20 cpu306E4_platED_ver0000042C_2018-01-25_PRD_4221080D.bin
-rw-rw-rw- 1 henk henk 15360 aug 15 14:20 cpu306E4_platED_ver0000042D_2018-04-25_PRD_25AD26F7.bin
-rw-rw-rw- 1 henk henk 16384 aug 15 14:20 cpu306E7_platED_ver00000713_2018-02-16_PRD_B2A3833C.bin
-rw-rw-rw- 1 henk henk 17408 aug 15 14:20 cpu306E7_platED_ver00000714_2018-04-25_PRD_8F3DE4DE.bin
-rw-rw-rw- 1 henk henk 33792 aug 15 14:20 cpu306F2_plat6F_ver0000003C_2018-01-19_PRD_20E09DE3.bin
-rw-rw-rw- 1 henk henk 33792 aug 15 14:20 cpu306F2_plat6F_ver0000003D_2018-04-20_PRD_A5D0CFB1.bin
-rw-rw-rw- 1 henk henk 17408 aug 15 14:20 cpu306F4_plat80_ver00000011_2018-01-22_PRD_9BB88980.bin
-rw-rw-rw- 1 henk henk 17408 aug 15 14:20 cpu306F4_plat80_ver00000012_2018-04-20_PRD_98C4A4C4.bin
-rw-rw-rw- 1 henk henk 21504 aug 15 14:20 cpu40651_plat72_ver00000023_2018-01-18_PRD_0A6E6647.bin
-rw-rw-rw- 1 henk henk 22528 aug 15 14:20 cpu40651_plat72_ver00000024_2018-04-02_PRD_BBA860C4.bin
-rw-rw-rw- 1 henk henk 25600 aug 15 14:20 cpu40661_plat32_ver00000019_2018-01-21_PRD_B89B9F8D.bin
-rw-rw-rw- 1 henk henk 25600 aug 15 14:20 cpu40661_plat32_ver0000001A_2018-04-02_PRD_01C421B5.bin
-rw-rw-rw- 1 henk henk 12288 aug 15 14:20 cpu40671_plat22_ver0000001D_2018-01-21_PRD_A34C93F0.bin
-rw-rw-rw- 1 henk henk 13312 aug 15 14:20 cpu40671_plat22_ver0000001E_2018-04-03_PRD_FFFE5286.bin
-rw-rw-rw- 1 henk henk 99328 aug 15 14:20 cpu406E3_platC0_ver000000C2_2017-11-16_PRD_C6C6F699.bin
-rw-rw-rw- 1 henk henk 99328 aug 15 14:20 cpu406E3_platC0_ver000000C6_2018-04-17_PRD_4E06C9D9.bin
-rw-rw-rw- 1 henk henk 27648 aug 15 14:20 cpu406F1_platEF_ver0B00002C_2018-03-21_PRD_3F315D44.bin
-rw-rw-rw- 1 henk henk 28672 aug 15 14:20 cpu406F1_platEF_ver0B00002E_2018-04-19_PRD_1AAFEDCE.bin
-rw-rw-rw- 1 henk henk 31744 aug 15 14:20 cpu50654_platB7_ver02000049_2018-03-27_PRD_DC30919B.bin
-rw-rw-rw- 1 henk henk 31744 aug 15 14:20 cpu50654_platB7_ver0200004D_2018-05-15_PRD_205C031D.bin
-rw-rw-rw- 1 henk henk 31744 aug 15 14:20 cpu50662_plat10_ver00000015_2018-01-22_PRD_5DD3FD7A.bin
-rw-rw-rw- 1 henk henk 31744 aug 15 14:20 cpu50662_plat10_ver00000017_2018-05-25_PRD_B1395A48.bin
-rw-rw-rw- 1 henk henk 22528 aug 15 14:20 cpu50663_plat10_ver07000012_2018-01-22_PRD_08EBB212.bin
-rw-rw-rw- 1 henk henk 22528 aug 15 14:20 cpu50663_plat10_ver07000013_2018-04-20_PRD_21F1FC62.bin
-rw-rw-rw- 1 henk henk 22528 aug 15 14:20 cpu50664_plat10_ver0F000011_2018-01-22_PRD_297499EB.bin
-rw-rw-rw- 1 henk henk 22528 aug 15 14:20 cpu50664_plat10_ver0F000012_2018-04-20_PRD_73AF85F3.bin
-rw-rw-rw- 1 henk henk 18432 aug 15 14:20 cpu50665_plat10_ver0E000009_2018-01-22_PRD_20320635.bin
-rw-rw-rw- 1 henk henk 18432 aug 15 14:20 cpu50665_plat10_ver0E00000A_2018-04-20_PRD_902B7544.bin
-rw-rw-rw- 1 henk henk 28672 aug 15 14:20 cpu50671_plat78_ver000001B6_2018-01-08_PRD_A1921B5B.bin
-rw-rw-rw- 1 henk henk 15360 aug 15 14:20 cpu506C2_plat01_ver00000014_2018-05-11_PRD_BD3490B6.bin
-rw-rw-rw- 1 henk henk 16384 aug 15 14:20 cpu506C9_plat03_ver00000032_2018-05-11_PRD_2F66EBE0.bin
-rw-rw-rw- 1 henk henk 14336 aug 15 14:20 cpu506CA_plat03_ver0000000C_2018-05-11_PRD_ACEA9DD5.bin
-rw-rw-rw- 1 henk henk 99328 aug 15 14:20 cpu506E3_plat36_ver000000C2_2017-11-16_PRD_328B43AF.bin
-rw-rw-rw- 1 henk henk 99328 aug 15 14:20 cpu506E3_plat36_ver000000C6_2018-04-17_PRD_92427988.bin
-rw-rw-rw- 1 henk henk 10240 aug 15 14:20 cpu506F1_plat01_ver00000024_2018-05-11_PRD_A1B0E19C.bin
-rw-rw-rw- 1 henk henk 84992 aug 15 14:20 cpu60663_plat80_ver00000016_2018-01-25_PRD_CF0DB425.bin
-rw-rw-rw- 1 henk henk 73728 aug 15 14:20 cpu706A1_plat01_ver00000026_2018-05-11_PRD_3E765922.bin
-rw-rw-rw- 1 henk henk 28672 aug 15 14:20 cpu80650_plat08_ver00000018_2018-01-08_PRD_19B5F433.bin
-rw-rw-rw- 1 henk henk 98304 aug 15 14:20 cpu806E9_platC0_ver00000084_2018-01-21_PRD_BC332364.bin
-rw-rw-rw- 1 henk henk 98304 aug 15 14:20 cpu806E9_platC0_ver0000008E_2018-03-24_PRD_44706881.bin
-rw-rw-rw- 1 henk henk 97280 aug 15 14:20 cpu806EA_platC0_ver00000084_2018-01-21_PRD_701254C0.bin
-rw-rw-rw- 1 henk henk 98304 aug 15 14:20 cpu806EA_platC0_ver00000096_2018-05-15_PRD_BE814658.bin
-rw-rw-rw- 1 henk henk 98304 aug 15 14:20 cpu906E9_plat2A_ver00000084_2018-01-21_PRD_A1B7222B.bin
-rw-rw-rw- 1 henk henk 98304 aug 15 14:20 cpu906E9_plat2A_ver0000008E_2018-03-24_PRD_5BB5F3CD.bin
-rw-rw-rw- 1 henk henk 96256 aug 15 14:20 cpu906EA_plat22_ver00000084_2018-01-21_PRD_05E7D428.bin
-rw-rw-rw- 1 henk henk 97280 aug 15 14:20 cpu906EA_plat22_ver00000096_2018-05-02_PRD_730E6662.bin
-rw-rw-rw- 1 henk henk 98304 aug 15 14:20 cpu906EB_plat02_ver00000084_2018-01-21_PRD_23C48ABA.bin
-rw-rw-rw- 1 henk henk 98304 aug 15 14:20 cpu906EB_plat02_ver0000008E_2018-03-24_PRD_26138472.bin

Issue with extracted microcode files and MMTool

Thanks a lot for your useful tool! I was looking for the newest Intel Xeon 5600 Series microcode (206C2) today and I used your tool to extract the microcode of an Intel S55xx BIOS file (R0068) as well as one HP server board (SP75718) which both include a more recent version 1D (2015/08/04) than what I could find on the web otherwise. Your tool tells me that this is not the most up-to-date version though and I wanted to suggest to provide the version number and the date of the newest one as well in your tool which would be very useful. By the way, the official files from Intel for Linux don't provide this particular microcode.

As I tried to integrate the extracted *.bin-file in the BIOS of my motherboard (Asus P6X58D-E) with MMTool (3.26 and 3.19 Mod 21-Fix), the tool rejects it with an error message: "This is not a valid CPU microcode patch file". I get this error with some of the official Intel Linux files as well, but some do work. Hence I can't say for sure if it is an issue of your tool or MMTool. Is there another easy to use method to integrate the *.bin-files into this particular AMI BIOS?

Not an issue but problem!

Hello, are there anywhere that I can download mce.exe for r272 and future releases? Can you please give me a link?

Atom x7 z8750

please add cpu microcode for x7 z8750 . I need microcode for custom cpu

Microcode Updates

Hey platomav,

I am a coreboot developer and would like to ask if it is possible to share microcode
updates in a different way, e.g. git repository. Currently you use mediafire which works not
really good for our project. We already have a git blobs repository. Are there any issues with
licenses ?

Best Regards, Philipp

I can't compile MCE

hello,

I can't compile MCE :

python3 --noupx --onefile MCE.py
unknown option --noupx
usage: python3 [option] ... [-c cmd | -m mod | file | -] [arg] ...
Try `python -h' for more information.

thanks you in advance to help myself pass this error,

Regards.

Azaretdodo.

Msvcr100.dll shouldn't be there

I'm not sure you are supposed/expected to redistribute VC runtime.
Iirc it should be possible not-to-even need it, but even if I was wrong you could just link this.

Problem starting MCExtractor

Hi,
I have downloaded MC Extractor and python310.dll but it will not start.
python310.dll is in the same folder and also C:\Windows\SysWOW64\ and C:\Windows\System32
I include screen grabs.
MCE exe - System Error
Python310 dll - problem

Show socket information

Can you add the (now missing) socket information?

Note that 'Platform' is a bit mask for the supported sockets.

problem with prettytable 0.7.2

Hi,
I'm trying to use MCExtrctor and getting this information:

root@debian:~/MCExtractor# python3.6 MCE.py 

Error: MCE just crashed, please report the following:

Traceback (most recent call last):
  File "MCE.py", line 828, in <module>
    mce_hdr()
  File "MCE.py", line 787, in mce_hdr
    hdr_pt,hdr_pt_empty = mc_table([], False, 1)
  File "MCE.py", line 731, in mc_table
    if not param.cli_redirect : pt.set_style(prettytable.BOX_CHARS)
AttributeError: module 'prettytable' has no attribute 'BOX_CHARS'

Since MCE requires Python3.6 I used this instruction on my Debian.

Double Free or corruption error under ArtixLinux

uname -a
Linux eNTi 4.12.9-1-zen #1 ZEN SMP PREEMPT Fri Aug 25 02:57:04 UTC 2017 x86_64 GNU/Linux

./MCE -?
*** Error in `./MCE': double free or corruption (out): 0x00007f16ad480030 ***
======= Backtrace: =========
/usr/lib/libc.so.6(+0x726cc)[0x7f16acb506cc]
/usr/lib/libc.so.6(+0x78d7b)[0x7f16acb56d7b]
/usr/lib/libc.so.6(+0x7a151)[0x7f16acb58151]
/tmp/_MEIxsrI3C/libpython3.6m.so.1.0(Py_SetPath+0x15)[0x7f16ac7a31d5]
./MCE[0x4043e2]
./MCE[0x402db2]
./MCE[0x402fb0]
/usr/lib/libc.so.6(__libc_start_main+0xea)[0x7f16acafe43a]
./MCE[0x401a9e]
======= Memory map: ========
00400000-00408000 r-xp 00000000 08:05 133633                             /home/nt/dev/MCExtractor/dist/MCE
00607000-00608000 rw-p 00007000 08:05 133633                             /home/nt/dev/MCExtractor/dist/MCE
00608000-00618000 rw-p 00000000 00:00 0
008de000-00924000 rw-p 00000000 00:00 0                                  [heap]
7f16a4000000-7f16a4021000 rw-p 00000000 00:00 0
7f16a4021000-7f16a8000000 ---p 00000000 00:00 0
7f16ab978000-7f16ab98e000 r-xp 00000000 08:02 5517017                    /usr/lib/libgcc_s.so.1
7f16ab98e000-7f16abb8d000 ---p 00016000 08:02 5517017                    /usr/lib/libgcc_s.so.1
7f16abb8d000-7f16abb8e000 r--p 00015000 08:02 5517017                    /usr/lib/libgcc_s.so.1
7f16abb8e000-7f16abb8f000 rw-p 00016000 08:02 5517017                    /usr/lib/libgcc_s.so.1
7f16abb8f000-7f16abe4b000 r--p 00000000 08:02 5517028                    /usr/lib/locale/locale-archive
7f16abe4b000-7f16abf5c000 r-xp 00000000 08:02 5507756                    /usr/lib/libm-2.25.so
7f16abf5c000-7f16ac15b000 ---p 00111000 08:02 5507756                    /usr/lib/libm-2.25.so
7f16ac15b000-7f16ac15c000 r--p 00110000 08:02 5507756                    /usr/lib/libm-2.25.so
7f16ac15c000-7f16ac15d000 rw-p 00111000 08:02 5507756                    /usr/lib/libm-2.25.so
7f16ac15d000-7f16ac15f000 r-xp 00000000 08:02 5507677                    /usr/lib/libutil-2.25.so
7f16ac15f000-7f16ac35e000 ---p 00002000 08:02 5507677                    /usr/lib/libutil-2.25.so
7f16ac35e000-7f16ac35f000 r--p 00001000 08:02 5507677                    /usr/lib/libutil-2.25.so
7f16ac35f000-7f16ac360000 rw-p 00002000 08:02 5507677                    /usr/lib/libutil-2.25.so
7f16ac360000-7f16ac379000 r-xp 00000000 08:02 5507687                    /usr/lib/libpthread-2.25.so
7f16ac379000-7f16ac578000 ---p 00019000 08:02 5507687                    /usr/lib/libpthread-2.25.so
7f16ac578000-7f16ac579000 r--p 00018000 08:02 5507687                    /usr/lib/libpthread-2.25.so
7f16ac579000-7f16ac57a000 rw-p 00019000 08:02 5507687                    /usr/lib/libpthread-2.25.so
7f16ac57a000-7f16ac57e000 rw-p 00000000 00:00 0
7f16ac57e000-7f16ac845000 r-xp 00000000 00:27 146345                     /tmp/_MEIxsrI3C/libpython3.6m.so.1.0
7f16ac845000-7f16aca44000 ---p 002c7000 00:27 146345                     /tmp/_MEIxsrI3C/libpython3.6m.so.1.0
7f16aca44000-7f16aca47000 r--p 002c6000 00:27 146345                     /tmp/_MEIxsrI3C/libpython3.6m.so.1.0
7f16aca47000-7f16acaad000 rw-p 002c9000 00:27 146345                     /tmp/_MEIxsrI3C/libpython3.6m.so.1.0
7f16acaad000-7f16acade000 rw-p 00000000 00:00 0
7f16acade000-7f16acc7a000 r-xp 00000000 08:02 5507713                    /usr/lib/libc-2.25.so
7f16acc7a000-7f16ace79000 ---p 0019c000 08:02 5507713                    /usr/lib/libc-2.25.so
7f16ace79000-7f16ace7d000 r--p 0019b000 08:02 5507713                    /usr/lib/libc-2.25.so
7f16ace7d000-7f16ace7f000 rw-p 0019f000 08:02 5507713                    /usr/lib/libc-2.25.so
7f16ace7f000-7f16ace83000 rw-p 00000000 00:00 0
7f16ace83000-7f16ace99000 r-xp 00000000 00:27 146349                     /tmp/_MEIxsrI3C/libz.so.1
7f16ace99000-7f16ad098000 ---p 00016000 00:27 146349                     /tmp/_MEIxsrI3C/libz.so.1
7f16ad098000-7f16ad099000 r--p 00015000 00:27 146349                     /tmp/_MEIxsrI3C/libz.so.1
7f16ad099000-7f16ad09a000 rw-p 00016000 00:27 146349                     /tmp/_MEIxsrI3C/libz.so.1
7f16ad09a000-7f16ad09d000 r-xp 00000000 08:02 5507723                    /usr/lib/libdl-2.25.so
7f16ad09d000-7f16ad29c000 ---p 00003000 08:02 5507723                    /usr/lib/libdl-2.25.so
7f16ad29c000-7f16ad29d000 r--p 00002000 08:02 5507723                    /usr/lib/libdl-2.25.so
7f16ad29d000-7f16ad29e000 rw-p 00003000 08:02 5507723                    /usr/lib/libdl-2.25.so
7f16ad29e000-7f16ad2c1000 r-xp 00000000 08:02 5507743                    /usr/lib/ld-2.25.so
7f16ad478000-7f16ad47d000 rw-p 00000000 00:00 0
7f16ad47f000-7f16ad4c0000 rw-p 00000000 00:00 0
7f16ad4c0000-7f16ad4c1000 r--p 00022000 08:02 5507743                    /usr/lib/ld-2.25.so
7f16ad4c1000-7f16ad4c2000 rw-p 00023000 08:02 5507743                    /usr/lib/ld-2.25.so
7f16ad4c2000-7f16ad4c3000 rw-p 00000000 00:00 0
7ffcd3f7b000-7ffcd3f9c000 rw-p 00000000 00:00 0                          [stack]
7ffcd3fef000-7ffcd3ff2000 r--p 00000000 00:00 0                          [vvar]
7ffcd3ff2000-7ffcd3ff4000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
Aborted

Error: Cannot convert Intel container!

-------[ MC Extractor v1.15.0 r59 ]-------

File (1/1): cpu40671_plat22_ver0000001D_2018-01-21_PRD_A34C93F0.bin

Error: Cannot convert Intel container!

+---------------------------------------------------------------------------------+
| Intel |
+---+-------+-------------+----------+------------+------+--------+--------+------+
| # | CPUID | Platform ID | Revision | Date | Type | Size | Offset | Last |
+---+-------+-------------+----------+------------+------+--------+--------+------+
| 1 | 40671 | 22 (1,5) | 1D | 2018-01-21 | PRD | 0x3000 | 0x0 | Yes |
+---+-------+-------------+----------+------------+------+--------+--------+------+

Press enter to exit

Error

At the Command Prompt typing MCE.exe the following window opens:
MCE_Error
After clicking on "OK" the following appears in the Command Prompt window:
Error loading Python DLL 'C:\Users\Gerd\AppData\Local\Temp_MEI142842\python39.dll'.
LoadLibrary: The specified module could not be found.
Where do I get this python39.dll file?

Message | Missing MCE.db file

Tested on: Fedora 34; Components: | PyInstaller: 4.3; Python: 3.9.4; Platform: Linux-5.11.13-300.fc34.x86_64-x86_64-with-glibc2.33

$ ls -l MCE.db
-rw-rw-r--. 1 yk yk 217088 19. 4. 14:37 MCE.db
$ dist/MCE
╔══════════════════════════════════════╗
║         MC Extractor v1.53.0         ║
╚══════════════════════════════════════╝
Error: MCE.db file is missing!
Press enter to exit

Redirection not work

But other thinkgs, that not work:
Previous version works with redirection: MCE1111.exe J01_0231.BIN >a.a
But this version not:
MCE115.exe J01_0231.BIN >a.a or MCE115.exe J01_0231.BIN -skip >a.a
Traceback (most recent call last):
File "MCE.py", line 1179, in
File "site-packages\colorama\ansitowin32.py", line 40, in write
File "site-packages\colorama\ansitowin32.py", line 141, in write
File "site-packages\colorama\ansitowin32.py", line 166, in write_and_convert
File "site-packages\colorama\ansitowin32.py", line 174, in write_plain_text
File "c:\python\python36-32\lib\encodings\cp1250.py", line 19, in encode
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-84: character maps to

Missing from DB r205-r210 - Intel cpu906E9_plat2A_ver000000EC_2021-04-29_PRD_8C68349C

Hello Plato,

I hope this is an actual mistake or am I doing something wrong: Missing from MCExtractor r205-r210 -
Intel cpu906E9_plat2A_ver000000EC_2021-04-29_PRD_8C68349C

eg from UBU BIOS Updater:
╔═════════════════════════════════════════╗
║ MC Extractor v1.70.0 r210 ║
╚═════════════════════════════════════════╝
╔══════════════════════════════════════════════════════════════════╗
║ Intel ║
╟─┬─────┬────────────┬────────┬──────────┬────┬───────┬───────┬────╢
║#│CPUID│ Platform │Revision│ Date │Type│ Size │ Offset│Last║
╟─┼─────┼────────────┼────────┼──────────┼────┼───────┼───────┼────╢
║1│906E9│ 2A (1,3,5) │ EA │2021-01-05│PRD │0x19800│ 0x18 │ No ║
╟─┼─────┼────────────┼────────┼──────────┼────┼───────┼───────┼────╢
║2│506E3│36 (1,2,4,5)│ EA │2021-01-25│PRD │0x19C00│0x19818│Yes ║
╚═╧═════╧════════════╧════════╧══════════╧════╧═══════╧═══════╧════╝
These microcodes will be entered into your BIOS file

R - Start replacement
A - Start replacement Alternative with MMTool
0 - Cancel
Choice:

Cheers,

Andrew

enum34 keep asked as uninstall

hello,

I fall on error following :

C:\MCExtractor-master>pyinstaller --noupx --onefile MCE.py
The 'enum34' package is an obsolete backport of a standard library package and is incompatible with PyInstaller. Please `pip uninstall enum34` then try again.

C:\MCExtractor-master>pip uninstall enum34
WARNING: Skipping enum34 as it is not installed.

as you see i can't install pyinstaller,

thank you in advance to bring your help,

(i have success to import pyinstaller by pip3 this time but i hope for mean about security use it),

Regards.

Azaretdodo.

api-ms-win-core-path-l1-1-0.dll Missing (Win7)

I'm getting this error while opening MCE.exe

Error loading Python DLL 'C:\Users\MyUserName\AppData\Local\Temp_MEI60322\python39.dll'.

MyExe Version: v1.72.0
DB Version: DB r217

I'm guessing it's because python dropped support for Windows 7, but what can i do? I may need to build from source :(

[RFE] Add an option to show only the latest microcode available for a CPUID

Hello,

First, thank you for that invaluable tool, it's quite helpful in handling this year's string of vulnerabilities.
My goal is to automate a check of a number of systems to see if they're running the latest available microcode. Getting the CPUID and running MCE -search <cpuid> -redir gives the full list in a formatted way.
I would like to know if it's possible to add an option that would return only the most recent version for that microcode, or maybe the same list, but more easily parseable in a script (without the header and table, and with a field separator).

can I use mcextractor to find newest microcode blobs for my laptop

Hallo Plato

I've recently updated my lenovot x220 laptop to use coreboot. After that vendor released bios update (march 20). Bios update file is 8duj29us.exe and I would like to extract microcode blobs from it and then bundle them onto my coreboot.

There are two cases with it:

  1. it find it very hard (to me at least) to extract microcode blob updates directly from .exe file. Option to install vendor bios onto my lenovo laptop, then reflash back to coreboot is troublesome way.
  2. what if lenovo will abandon updating the bios for my laptop, while I still would like to use it.

My question is if I could use mcextractor to acquire new binary blobs for my x220 laptop.?

For the sake of completness, vendor BIOS for my laptop does contain following blobs:

flashregion_0_flashdescriptor.bin
flashregion_1_bios.bin
flashregion_2_intel_me.bin
flashregion_3_gbe.bin

all but flashregion_1_bios.bin were required by coreboot.

best regards,
Matt

1995 0x611 version 0xB..26 (reversed endian header, 2048, null padding)

Revision 0x26 with reverse-endianness in prefix header. This could be May or September 1995:

$ hexdump -C 1995mmdd-0x611_v26.pdb | head -n2
00000000  00 00 00 01 00 0b 00 26  09 05 19 95 00 00 06 11
00000010  56 52 0b 61 00 00 00 00  00 00 00 00 00 00 00 00
$ sqlite3 -csv -header ../MCE.db 'select * from intel' | head -n2
cpuid,platform,version,yyyymmdd,size,checksum
00000611,00000000,00000B27,19961218,00000800,05793E46

This one is notable for having null padding after the active payload, instead of the usual "0x838BA96F"/"0x6FA98B83" trailing squence.

Kudos to:

Message | Invalid CPUID

Tested on: Fedora 34; Components: | PyInstaller: 4.3; Python: 3.9.4; Platform: Linux-5.11.13-300.fc34.x86_64-x86_64-with-glibc2.33

$ sudo dmidecode -t processor | grep -E ID | sed 's/.*: //' | head -n 1
E9 06 08 00 FF FB EB BF
$ ./MCE -search 'E9 06 08 00 FF FB EB BF'
╔═══════════════════════════════════════════╗
║         MC Extractor v1.53.0 r186         ║
╚═══════════════════════════════════════════╝
Error: Invalid CPUID (Intel, AMD, VIA) or Model (FSL)!

AttributeError: module 'prettytable' has no attribute 'BOX_CHARS'

Error on Fedora 27:

-------[ MC Extractor v1.15.0 r61 ]-------

File (1/2): GenuineIntel.bin


Error: MCE just crashed, please report the following:

Traceback (most recent call last):
  File "/home/xxxx/MCExtractor/MCE.py", line 1012, in <module>
    pt, pt_empty = mc_table(col_names, True, 1)
  File "/home/xxxx/MCExtractor/MCE.py", line 728, in mc_table
    pt.set_style(prettytable.BOX_CHARS) # Comment out if UnicodeEncodeError
AttributeError: module 'prettytable' has no attribute 'BOX_CHARS'

crash: "No module named prettytable"

Hi,

I'm running the latest version of MCE on Ubuntu server 20.04 with python3.

When trying to launch the program, it crashes with the following error:
Traceback (most recent call last):
File "MCE.py", line 25, in
import prettytable
ModuleNotFoundError: No Module Named 'Prettytable'

-Matt

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.