Linux i386 tool to load and execute ME modules.
The code as initially presented here is released under the GPLv2.
(I reused code from an earlier project under that license)
A commit adding license headers will soon follow.
Much of the later achievements demoed using this project were done on a local branch which I have since rewritten all the features that I lost, and
I lost, resetting the project to its progress at April 21st 2019. This also means that the
hardware register names and structures as used by this tool do not represent my current
understanding of the ME hardware.
it should now be able to do anything I’ve demonstrated using my local version of the tool.
Running the tool requires mmaping addresses from 0x1000 onward and so means that low mmap
addresses should be enabled.
The chipset initially targetted by this tool is currently Sunrise Point (SPT, 100 series chipset),
although it has since been rewritten to allow full reconfiguration of the emulated peripherals
It is provided as a interoperability tool to allow development of open alternative firmwares for
This tool requires a rom library dump from the ME to use.
See https://github.com/ptresearch/IntelTXE-PoC for a means of acquiring one, though that
will yield a ROM for a different chipset (BXT). That chipset shares most core ME peripherals
with SPT so changing the code will mostly mean tweaking addresses.