Nicola Corna
250b2ec123
Add safety margin on truncation
...
It seems that Intel ME requires some data after the last valid byte, as
truncating the image just after the last byte does not work.
For now this "safety margin" has been set to 4 blocks (16 kB).
2017-02-17 13:50:40 +01:00
Nicola Corna
2987431acd
Increase minimum FTPR offset to 0x400
2017-02-07 09:44:45 +01:00
Nicola Corna
3ef0b5570d
Add --descriptor
2017-02-05 15:46:26 +01:00
Nicola Corna
ab4e5839aa
Fix LUT offset bug
2017-02-04 23:25:35 +01:00
Nicola Corna
1eeaf64993
Remove ME/TXE R/W access to the other flash regions
2017-02-04 12:53:54 +01:00
Nicola Corna
eb1e295cb0
Minor bug fix
2017-02-04 10:17:29 +01:00
Nicola Corna
d0b4accc00
Add an option to specify an output file
2017-02-03 16:50:26 +01:00
Nicola Corna
eb71d6e107
Move the FTPR partition to the minimum offset
2017-02-03 16:50:25 +01:00
Nicola Corna
153da5d869
Add region checks on modules removal and relocation
...
Now me_cleaner can be run on an already modified and truncated image,
the parts outside the ME region will be ignored.
2017-02-03 08:33:39 +01:00
Nicola Corna
fbc123e28a
Adjust checksum in ME11+
...
On ME11+, TXE3+ and SPS4+ the FPT checksum is computed on bytes
0x10:0x30.
2017-02-03 08:26:17 +01:00
Nicola Corna
b6e58f41f3
Add region checks
...
Each write has been replaced with a write_to, which checks that the
final write location is inside the ME region before writing.
2017-02-03 08:26:16 +01:00
Nicola Corna
38fd19b9af
Add command line arguments
2017-01-29 11:50:50 +01:00
Nicola Corna
a1df173eab
Print the image minimum size
...
If most of the FTPR modules are removed the image can be truncated
after the last unremovable module.
2017-01-28 23:48:41 +01:00
Nicola Corna
61f85bad19
Relocate FTPR to the top of the ME region
2017-01-28 23:44:33 +01:00
Nicola Corna
7f21d97483
Fix signature checking in ME11 and later
2017-01-26 19:34:41 +01:00
Nicola Corna
e7d9fef28d
Minor fix for ME6 Ignition images
2017-01-26 15:53:47 +01:00
Nicola Corna
e3741708c4
Clean license header
2017-01-24 14:27:32 +01:00
Nicola Corna
360927f87f
Add FTPR signature verification
2017-01-22 16:19:56 +01:00
Nicola Corna
f4fc8d8e1a
Add support for TXE images
2017-01-22 16:19:52 +01:00
Nicola Corna
f99109eb43
Remove optional from_what argument in f.seek
2017-01-19 10:52:05 +01:00
Nicola Corna
139e838f20
Fix ME version
2017-01-19 10:44:29 +01:00
Nicola Corna
42ba8e84ab
Find and remove the fragmented Huffman chunks
...
Previously the Huffman modules were removed by wiping all the data between
the first and the last chunk. Unfortunately the modules are often
fragmented: the chunks are not in a linear order, sometimes repeated and
sometimes shared between different modules.
This commit removes each chunk individually, after checking it's not used
by a fundamental module.
2017-01-17 11:33:18 +01:00
Nicola Corna
236faf7da9
Move checksum correction after EFFS flag removal
2017-01-04 10:52:18 +01:00
Nicola Corna
b149111c78
Make it compatible with Python 2
2017-01-04 10:50:15 +01:00
Nicola Corna
9e42ae0779
Remove whitelisted Huffman modules
...
Probably only BUP and ROMB (if present) are required to start the machine
but a whitelist is safer.
2017-01-04 10:50:14 +01:00
Nicola Corna
44982adff4
Add Huffman informations
2016-12-31 13:46:56 +01:00
Nicola Corna
ffe60d8f72
Style fix
2016-12-16 16:04:03 +01:00
Nicola Corna
b11264123a
Detect full images and adjust the offsets accordingly
2016-12-15 15:51:25 +01:00
Damien Zammit
7fdade199a
Fix bug with fill_range() where exact size results
...
in only a single byte being written.
Signed-off-by: Damien Zammit <damien@zamaudio.com>
2016-12-08 13:31:16 +11:00
Nicola Corna
8f663e7289
Wipe LZMA region completely
2016-12-02 18:31:36 +01:00
Nicola Corna
c5be9c2ee4
Add v11 check
2016-12-02 16:49:08 +01:00
Nicola Corna
48deb6cb3b
Remove LZMA modules
2016-12-01 10:10:32 +01:00
Nicola Corna
b31012373c
Remove EFFS presence flag
2016-11-28 23:04:57 +01:00
Nicola Corna
0bf14b8e0e
Initial commit
2016-11-14 13:32:12 +01:00