Все микрокоды имеют размер 2048 байт, из которых 48 байт представляют заголовок файла, а оставшиеся 2000 байт – непосредственно обновляемый микрокод.
Это не верно! Из IA-32 Intel® Architecture Software Developer’s Manual Volume 3: System Programming Guide раздел 9.11 MICROCODE UPDATE FACILITIES:
поле DataSize -
Цитата:
Specifies the size of the encrypted data in bytes, and must be a multiple of DWORDs. If this value is 00000000H, then the microcode update encrypted data is 2000 bytes (or 500 DWORDs).
На практике следующее, если DataSize = 0, то размер блока с микрокодом 2000 bytes, в противном случае = DataSize.
А ещё интересный момент заключается в том, что за блоком микрокода встречаются нули, о чем свидетельствует разница TotalSize - DataSize (обычно 400h, в моём случае ещё 8 нулей в конце модуля). Кстати у меня AMI BIOS от P5Q3.
Модуль этот для AMI можно получить при помощи MMTool, ID = 11 - P6 Micro Code.
Мой скрипт для IDA, для структурирования:
marinovsoft,
Это не верно! Из IA-32 Intel® Architecture Software Developer’s Manual Volume 3: System Programming Guide раздел 9.11 MICROCODE UPDATE FACILITIES:
поле DataSize -
На практике следующее, если DataSize = 0, то размер блока с микрокодом 2000 bytes, в противном случае = DataSize.
А ещё интересный момент заключается в том, что за блоком микрокода встречаются нули, о чем свидетельствует разница TotalSize - DataSize (обычно 400h, в моём случае ещё 8 нулей в конце модуля).
Кстати у меня AMI BIOS от P5Q3.
Модуль этот для AMI можно получить при помощи MMTool, ID = 11 - P6 Micro Code.
Мой скрипт для IDA, для структурирования:
Если есть замечания с удовольствием выслушаю.