Реконструкция двоичного дампа dmidecode из /sys/firmware/dmi/tables

Что касается функций, Bash может сказать вам, откуда они взялись:

$ help declare
...
  -F        restrict display to function names only (plus line 
            number and source file when debugging) 

$ shopt -s extdebug
$ declare -F quote_readline
quote_readline 150 /usr/share/bash-completion/bash_completion

(я нашел это в ответе на stackoverflow.)

Для среды переменные, есть несколько хороших способов найти их здесь: Как определить, откуда взялась переменная окружения

Большинство этих функций похоже связаны с завершением командной строки, в моей системе Ubuntu они есть в / usr/share/bash-completion/, как показано выше.

FWIW, __colormgr_commandlist, кажется, тоже связан с завершением, есть скрипт, содержащий его здесь.

1
16.12.2015, 16:59
2 ответа

Если вы сравните шестнадцатеричный дамп smbios_entry_point с двоичным выходом dmidecode, вы увидите, что он похож на байты 0-31 вывода dmidecode. Аналогично, DMI соответствует байтам 32+. Байт 32 отсутствует; Я предполагаю, что это всегда ноль.

Это выглядит достаточно близко, чтобы я надеялся, что это сработает.

echo -en '\0' >NUL
sudo cat /sys/firmware/dmi/tables/smbios_entry_point NUL /sys/firmware/dmi/tables/DMI >table
dmidecode --from-dump table

Однако dmidecode дает сбой со следующим выводом:

# dmidecode 2.12-dmifs
Reading SMBIOS/DMI data from file table.
SMBIOS 2.8 present.
Bus error (core dumped)

Спецификация SMBIOS / DMI доступна в Интернете (pdf) ; не должно быть слишком сложно определить допустимые фиктивные значения для заголовка. Я оставляю это в качестве упражнения для читателя, по крайней мере, на данный момент;)

0
28.01.2020, 01:29

enter image description here

enter image description here

enter image description here

Вы можете указать код изhttps://github.com/mirror/dmidecode/blob/master/dmidecode.c. Удачи тебе.

enter image description here

Пример :7f + 00 + 80 + 30 + 7b = 18а

18a удерживать 8bit = 8a

Новый адрес DMI жестко запрограммирован на 0x20.

2
07.02.2020, 23:30

Теги

Похожие вопросы