2008-06-19
На McAfee глядючи
В принципе всё работает - обновления качаются ночью, теперь обновлений по 2 штуки (старые+новые).. Что-то иногда сбоит копирование (или создание файла) с заголовком license.txt - повторное ручное чтение всё проходит без сбоев. странно. Добавил отладки - посмотрим где порылась собака.
Формат шифрования пока не разобрал - то есть ни версию avv файлов не могу считать - ни расшифровать в линуксе epo файлы - ни зашифровать нигде их же.
Это к тому, что не получается (не копал если честно) никсом читать контрольные суммы в PkgCatalog.xml из cab архива. И уж тем более их создавать самому.
Последние наблюдения показывают, что cab файлы у них хитрые. Архиваторы принимают их на ура - а вот никсовый (грамотный) архиватор выдал предупреждение о мусоре в конце архива. Оказалось - там какая-то структура хиитрая.. Может её кто-то понимает для кабов.. Мкафя точно понимает - ибо матерится на чужие архивы недобрыми словами. Подпись там - точно говорю :)
Итак, что я вижу. Формат заголовка каба такой:
dd 'MSCF', 0, dwCabSize, 0
Если скакнуть на его конец (seek dwCabSize, SEEK_SET), там окажется эта структурка.
dd dwSecSize(2ch), 'Network Associates Inc.', 0, 0, .., 0
Размер судя по дальнейшему не включает в себя само слово размера. То есть дальше новые данные.
dd 'TFU\0', dwSecSize(19ch) - это значит заголовок такой и размер секции дальше.
И в самом конце (ровно через 19с байт после этого заголовка) -
dd dwSecSize(2c) - и 2c байт остатка. После чего ничего уже нет.
Здоровая секция и последний кусок нечитабельны - и скорее всего и есть криптоданные. Приверженность НАИ pgp-sdk - подсказывает мне что есть в этом что-то от лукавого (то есть от Зиммермана)..
Будем копать дальше. Да, я не говорил, как оказывается сильно любит НАИ реестр :) Там много чего полезного можно почерпнуть.
Например так:
@echo off
set HOST=kad1
reg add \\%HOST%\HKLM\SOFTWARE\McAfee\VSCore\NVP /v DetectionExclusions /t REG_MULTI_SZ /f /d RemAdm-RemoteAdmin\0RemAdm-PSKill
reg query \\%HOST%\HKLM\SOFTWARE\McAfee\VSCore\NVP /v DetectionExclusions
2008-06-02
Формат Zip
Качаем Range: -22, Получаем - размер файла и адрес заголовка. (22 байта)
Качаем Range: заголовок. Получаем список и адреса заголовков (около 200 байт).
Качаем Range: 0-74,ххх-ууу,ааа-ббб - (ещё 200 байт).
Собираем вместе заголовки (которые придут нам в chunked-encoding) и файлы - проверяем сумму. Проблема в том, что сумма есть внутри зашифрованного каба. Ну cabextract то в никсах есть - но вот расшифровать без вайна (не реверся алгоритм) не получится. Опять хостинг в пролёте.
Кстати, хостинг переехал на 6 фряху :) а то задолбали своей 4.11 - ничё не пускалось. Теперь 7zip должен ожить. Да. Вот интересно, а если солид архивы рара содержат один и тот же файл в начале.. Обновления консультанта можно было бы ещё уменьшить :)
Обновления переехали на шахту. Небольшая доработка скрипта McUpdate, parse, Delta.ini - и ещё один скрипт на шахте - пересчёта контрольных сумм файлов.
Придумать бы как заставить апдейтера скушать gem файл.. хм.