ZXNet эхоконференция «code.zx»
тема: баг в depacker от hrust1.3?
от: moroz1999
кому: All
дата: 03 Dec 2006
Hello, All
Обнаружил странную проблему - depacker от hrust1.3 не желает распаковывать
запакованный им же файл.
Вот код:
┌─- CODE ───
ORG 30000
LD SP,29999
DI
JP START
DEHRUST INCBIN "dehrust.bin"
START
LD HL,FILE
LD DE,#c000
CALL DEHRUST
DI
HALT
FILE INCBIN "packed.bin"
└── CODE ───
длина упакованного файла - 2701, распакованного - 6144.
Файл скорее всего упакован нормально, потому что это - только один кусок из 9-и
подобных, и остальные распаковываются нормально. сам dehrust сохранен из
программы.
результат работы dehrust - нетронутая область #c000.
исходник с самим файлом - на http://www.zone.ee/obmen/test2.zip
если это действительно баг hrust1.3, то посоветуйте пожалуйста другой упаковщик
со схожим функционалом. hrust 2.1 пробовал, но он почему-то мой список файлов
не осилил, как я ни пробовал.
от: elfh
кому: All
дата: 03 Dec 2006
Hello, moroz1999
послушай, я много всего пробовал, сейчас остановился на megalz от mayhem - он
хоть пакует и не круче всех, зато все без проблем распаковывается - не надо
забивать себе голову лишними трудностями.
от: moroz1999
кому: All
дата: 03 Dec 2006
Hello, The Exploited
The> все правильно, в начале данные слишком плотные - известная бага
The> хруста (описана в документации). лечится исправлением депакера.
Есть ли уже где-то поправленный? Сорри за глупые вопросы, я просто не так давно
нормальной разработкой занялся, и потому у меня в голове по этой теме пробел :)
The> в общем случае - распаковывать надо из одной области памяти в
The> другую, чтобы они не пересекались
ну, у меня вроде в примере так и получается, а всё равно бага есть?
от: moroz1999
кому: All
дата: 03 Dec 2006
Hello, The Exploited
The> уважаемый, почему у вас да диск пишется 300 байт, а не 2975, что
The> является длиной файла test.out. во-вторых файл запакован hrust1.x, а
The> распаковщик от hrust2.x парадокс!
опа! сорри, накосячил при сборке файлов с примером. я поправил всё,
перезапаковал и залил заново - http://www.zone.ee/obmen/test2.zip
также приложил незапакованный исходный файл, длиной в 5596 (не 6144 как я писал
выше).
теперь как результат - распаковщик hrust падает.
от: moroz1999
кому: All
дата: 03 Dec 2006
Hello, axor
axo> Hадеюсь авторы не будут против выкладывания.
axo> Упаковщик для писи, распаковщик для Спектрума.
Спасибо! сегодня попробую его.
от: moroz1999
кому: All
дата: 03 Dec 2006
Hello, axor
axo> Вот исходники Дехрустов разных версий.
отлично, сегодня попробую!
от: moroz1999
кому: All
дата: 03 Dec 2006
Hello, elfh
elf> послушай, я много всего пробовал, сейчас остановился на megalz от
elf> mayhem - он хоть пакует и не круче всех, зато все без проблем
elf> распаковывается - не надо забивать себе голову лишними трудностями.
спасибо, попробую!
upd; хм,; http://lvd.nm.ru/MegaLZ/ не открывается у меня сейчас, а на VT его
почему-то не нашел.
от: Александр Шушков
кому: All
дата: 03 Dec 2006
Hello, moroz1999
mor> Спасибо! сегодня попробую его.
Вот исходники Дехрустов разных версий.
Файл: DEHRUST_1_13.ZIP http://zx.pk.ru/attachment.php?attachmentid=4236
Файл: DEHRUST_2x.zip http://zx.pk.ru/attachment.php?attachmentid=4237
от: Александр Шушков
кому: All
дата: 03 Dec 2006
Hello, moroz1999
mor> спасибо, попробую!
mor>
mor> upd; хм,; http://lvd.nm.ru/MegaLZ/ не открывается у меня сейчас, а на
mor> VT его почему-то не нашел.
Hадеюсь авторы не будут против выкладывания.
Упаковщик для писи, распаковщик для Спектрума.
Хотя проблем с распаковкой Хруст не наблюдал. Обратись к Spectre или Alco - они
авторы последних доработок в распаковщике Хруста.
Файл: MegaLZ.zip http://zx.pk.ru/attachment.php?attachmentid=4235
от: Марк Антонов
кому: All
дата: 03 Dec 2006
Hello, elfh
уважаемый, почему у вас да диск пишется 300 байт, а не 2975, что является
длиной файла test.out. во-вторых файл запакован hrust1.x, а распаковщик от
hrust2.x парадокс!
elf> послушай, я много всего пробовал, сейчас остановился на megalz от
elf> mayhem - он хоть пакует и не круче всех, зато все без проблем
elf> распаковывается - не надо забивать себе голову лишними трудностями.
действительно! дельный совет =)))
от: Марк Антонов
кому: All
дата: 03 Dec 2006
Hello, moroz1999
mor> ну, у меня вроде в примере так и получается, а всё равно бага есть?
в самом начале депакера стоит LDDR перебрасывающий блок под конец блока куда
будет идти распаковка. надо его убрать и выставить соответствующим образом
регистры
от: Марк Антонов
кому: All
дата: 03 Dec 2006
Hello, moroz1999
mor> опа! сорри, накосячил при сборке файлов с примером. я поправил всё,
mor> перезапаковал и залил заново - http://www.zone.ee/obmen/test2.zip
mor> также приложил незапакованный исходный файл, длиной в 5596 (не 6144
mor> как я писал выше).
mor> теперь как результат - распаковщик hrust падает.
все правильно, в начале данные слишком плотные - известная бага хруста (описана
в документации). лечится исправлением депакера. в общем случае - распаковывать
надо из одной области памяти в другую, чтобы они не пересекались
от: moroz1999
кому: All
дата: 04 Dec 2006
Hello, The Exploited
всем огромное спасибо, после некоторых проб я всё же остановился на MegaLZ.
|