SA:MP ArchiveTool - просмотр и редактирование samp.saa

iroxacu666

Новичок
Автор темы
5
8
Версия SA-MP
  1. Любая
Тулза для работы с архивом samp.saa, который лежит рядом с gta_sa. В нём самп держит свои подменные ресурсы (gta.dat, handling.cfg, peds.ide, script.img, vehicle.txd, logo.png и т.д.).

Что умеет:
  1. открыть samp.saa и посмотреть список всех файлов внутри (имя, тип, размер, хеш)
  2. просмотр содержимого справа: текст или hex, в зависимости от файла
  3. экспорт одного файла, выделенных или всех сразу в папку
  4. импорт и замена файлов
  5. удаление файлов
  6. редактирование текстовых файлов прямо в окне с сохранением обратно в архив

Имена файлов в архиве не хранятся, только 32-битный хеш от имени в нижнем регистре. Поэтому в тулзу зашит словарь имён, по нему и подписываются файлы. Если хеша нет в словаре, файл показывается как unknown_HASH с расширением по сигнатуре содержимого, экспортнуть всё равно можно.

Про RSA подпись в клиенте

При провале проверки самп не отказывается грузить архив. Он просто ставит hashMask = 0 и продолжает читать дальше по другой ветке декодирования (вся раскрутка записей это (hashMask & hash) ^ decode_seed(packed), при mask = 0 хеш зануляется и работает другая схема).

Из-за этого приватный ключ Kalcor'a для пересборки архива не нужен. Тулза сохраняет в режиме mask = 0, и клиент сам уходит в эту ветку после неуспешной проверки подписи и читает архив.

Как пользоваться

Запускаешь ArchiveTool.exe, открываешь samp.saa. Слева список файлов, справа просмотр. Текстовые файлы можно редактировать в правой панели и жать Save text, тогда изменения уходят обратно в файл в архиве и сразу пишутся на диск, если у архива уже есть путь. Кнопки Import, Export, Export All, Delete по названиям понятны. По желанию можно расширять словарь имён своими мыслями.

Исходники

Достаточно просто запустить build.bat для сборки, если вылезла ошибка поменяйте пути на свои в нём.