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.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Новости - ЧВ2 - как скоро? Q-net >>> Zx-net, Литература, Zx-windows realize version, Citizen v.1.0, XTRM bbs.
Fun - музыкальный чарт от Alone Coder.
Poke's - подборка poke's.
Hardware - Cистемное П3У Kворумa, плюсы и минусы.
Проходилка - Drunk Dizzy (demo)

В этот день...   24 апреля