Далее все кидаем в одну папку и создаём в ней батник (создать блокнотный файл, только расширение .bat). Далее правой кнопкой на батник - изменить и прописываем в нём:
Пауза нужна для того, чтобы видеть результат.
Запускаем бычка и на выходе получаем 1072 байта несжатых данных (h0430). Рисуем там, что нужно.
Далее сжимаем обратно его, запуская новый батник:
Если сжатый кусок получился больше оригинальных сжатых данных, то лучше рисуй снова и не забудь удалить нули в конце распакованного файла любым хексредактором. Это позволит сэкономить пару байтов. Если сжатый кусок равен оригинальному, то снова выделяем в роме этот архив, как показано на картинке выше, а потом жмём Selection - Fill Selection with - выбираем Fill Selection with file - и подсовываем ему сжатые данные, затем нажимаем ОК.
Третий случай, если новый сжатый кусок меньше оригинала, то делаем всё тоже самое, что и во втором случае, но выделяем в роме кусок идентичного размера. Например, получилось 488 байт - новый архив. Соответственно сначала архива в роме через shift+Down выделяем именно 488 байт, затем Selection - Fill Selection with - выбираем Fill Selection with file - и подсовываем ему сжатые данные, затем нажимаем ОК.
После этого я на всякий случай ставлю байт /00 или /FF уже после новых сжатых данных.
P. S. Пока неясно, почему в заголовке архива размер пакованной даты указан как h01F3, то есть 499 байт. Если вынуть кусок 499 байт, то анпакер не может его распаковать При 517 байтах всё идеально распаковывается, запаковывается и вставляется обратно. И ром работает как нужно.
P. P. S. Можно вставить и архив большего размера. Для этого нужно найти указатели на начало архивов и перетрясти ром, выкроить место за счет других архивов либо вообще перенеся в свободное. Но пока тебе рановато до этого.
Отредактировано Mefistotel (2013-05-03 08:41:48)