Вы можете сравнить исходное изображение с измененным изображением, используя, например, cmp -l
. (Что для истинной паранойи вы, конечно, должны сделать из системы, на которой вы не запускали программу C ). Эта программа на C просто устанавливает 1984 байта в 0:
if (lseek(fd, lba * 2048 + 64, SEEK_SET) == -1)
goto err_ex;
memset(buf, 0, buf_size);
ret = write(fd, buf, buf_size);
... остальное похоже на проверку ошибок и поиск смещения, по которому нужно записать эти 0.
Это возможно запись нулей во что-то может быть бэкдором (не вирусом ), например, если где-то сбить аутентификацию. Но это кажется мне маловероятным (Я не думаю, что 0x00... это машина -код noop ), и описание того, что он делает на странице, имеет больше смысла.
Вы также можете обнаружить этот гипотетический бэкдор, проверив контрольные суммы ваших пакетов (, например, с помощью debsums
в Debian ); запись всех нулей не испортит программу таким образом, чтобы сохранить ее контрольную сумму!
Для этого можно использовать правила udev. Просто добавьте что-то похожее на ваш /etc/nixos/configuration.nix
и пересоберите.
services.udev.extraRules = ''
KERNEL=="wlan*", ATTR{address}=="00:00:00:00:00:00", NAME="alfa_honeypot"
'';