IPB

Добро пожаловать, гость ( Вход | Регистрация )

 
Reply to this topicStart new topic
> STUNS - STupid UNcompreSsor
-=CHE@TER=-
Jun 1 2013, 15:00
Сообщение #1


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,125
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 269 раз(а)



Собрал новую версию.

CODE
STUNS v1.0
© CTPAX-X Team 2013-2017
http://www.CTPAX-X.org/
© Andrew Frolov aka FAL, 2004

v1.0 [2017.11.30]
o completely dropped old STUNS v0.x codebase
o GCC 3.2 with hacks instead of MSVC 6.0 - smaller executable size
o updated puff and blast from latest zlib sources
o dropped UCL/NRV compression (ucl2b and ucl2d) as rarely used
o changed output text: offset (hex), size (dec), algo, info
o new option to merge all output to a single file
o new option to view matched compressions and don't save anything

v0.5 [2016.08.17]
o minilzo: updated from v1.08 (2002) to v2.09 (2015) (fixes rare crash)
o UCL: just in case updated too from v0.92 (2000) to v1.02 (2003)
(new variants of compression formats like NRV2E and NRV2E-99 not included)

v0.4 [2016.06.26]
o Allow to set the scanning start offset for the input file (in hex)
o Allow to stop after a certain number of unpacked files has been reached
o Now if one or more compression algorithms are specified without the "-"
at the end, they will be the only ones used for unpacking

v0.3 [2014.03.31]
o PKWare: fixed a crash in output buffer overrun
o Deflate and PKWare: flag exhausted output buffer as normally unpacked (see the next note),
other libraries already work this way
o Output buffer won't be saved to disk if it reaches the end of an output memory block,
because this usually indicates an invalid input stream, so now instead of saving data
you'll get a warning message like this one:
> PKWare: Failed! Output buffer 256 Mb exhausted at: 0 (0x0)
if you still want to save these files, try to increase the memory block size
or you can disable mentioned compression library (if you don't need it)
to speed up the unpacking process
o Fixed typo in the usage text ("addind" -> "adding")

v0.2 [2013.06.01]
o Updated zlib modules:
- puff (Deflate) updated to v2.3
- blast (PKWare) replace "blast.c" with original
o Temporary file "$$$tmp$$$.$$$" replaced with output memory block
o Allow to change output memory block size from command line
o Allow to skip creation for files less than specified size from command line
o Change output file names from "%04x" to "%08X"
o Some tweaks to reduce final executable size


>>> stuns10.zip <<<

Старая версия, больше не поддерживается:
Old codebase version, not supported anymore:
stuns05.rar

Русским языком:
- больше не создаётся временный файл в 256 Мб (у меня из-за него иногда места на диске нехватало), а выделяется блок памяти
- размер этого блока памяти можно настроить через командную строку, например: -mem128 отведёт уже 128 Мб памяти
- наконец-то (!!!) добавлена возможность пропускать файлы меньше чем указанный размер, чтобы не рыться в том, что не нужно: -skip123 пропустит файлы размером <=123 байта
- пара косметических изменений


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Jun 27 2013, 14:59
Сообщение #2


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,125
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 269 раз(а)



Опять, блин, вылез баг с puff (deflate/zlib) - обновил с 2.2 до 2.3 (последняя - за апрель 2013), теперь всё ок.
Архив обновлён (версию не менял), лежит там же.
Приношу всем извинения.


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Apr 1 2014, 05:15
Сообщение #3


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,125
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 269 раз(а)



Собрал новую версию v0.3.
Описание на английском (спасибо Grom PE за пруфрид!) и ссылку в первом сообщении обновил.

Русским языком:
- поправлена ошибка переполнения буфера (вернее отсутствие проверки на его конец) для PKWare - программа больше не падает
- для PKWare и Deflate если выходной буфер кончился раньше входного, то, как и у других алгоритмов, такой буфер передаётся дальше, а не возвращается ошибка (см. следующий пункт)
- собственно, самое главное изменение: если на запись в файл (декомпрессор отработал успешно) приходит размер равный всему блоку памяти выделенному под выходной буфер (256 Мб по умолчанию), то такой файл не сохраняется, а пишет ошибку типа:
> PKWare: Failed! Output buffer 256 Mb exhausted at: 0 (0x0)
потому как полностью заполненный выходной буфер (если, конечно, его не уменьшили до 1 Мб), как правило, свидетельствует о неверном входном потоке, если же его всё равно нужно сохранить, то рекомендуется увеличить размер выходного буфера или вовсе отключить упомянутую в сообщении бибилиотеку (если она не нужна - см. справку по командной строке программы), чтобы увеличить скорость работы (256 Мб заполняются очень не быстро)
- поправлена опечатка - долго глаза мозолила, но собирать новую версию ради неё одной не особо хотелось


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Jun 25 2016, 21:03
Сообщение #4


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,125
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 269 раз(а)



Собрал новую версию v0.4.
Описание на английском (спасибо Grom PE за его пруфрид, а также справки по командной строке!) и ссылку в первом сообщении обновил.
Пришлось правда в справке по ключам командной строки кое-чего тут и там подсократить, чтобы в стандартный экран 80x25 влезало. Вообще, хотел всё это ещё в октябре прошлого года выложить, но забыл.

Русским языком:
- появилась возможность задать смещение (только в hex) откуда сканировать, что помогает пропустить лишние данные в начале файла (по умолчанию 0 - с начала файла)
- появилась возможность задать максимальное количество файлов (например, 25) после распаковки которых программа завершает работу (по умолчанию 0 - неограниченно)
- наконец, появилась та штука, которую, видимо, планировал сделать ещё сам автор оригинальной программы - если вы помните, то ключи с именами алгоритма указываются просто и с "-" на конце если алгоритм нужно отключить; при этом т.к. по умолчанию все алгоритмы включены, то простое использование любого алгоритма без "-" на конце ничего не меняло; т.е. если в сканируемом файле использовался только один, скажем, deflate, то все остальные приходилось отключать:
stuns -pkware- -lzo- -ucl2b- -ucl2d- ...
что раздувало командную строку, да и раздражало набирать; теперь же достаточно написать:
stuns -deflate ...
и все остальные алгоритмы сами отключатся; если нужно два каких-то, то пишем:
stuns -deflate -pkware ...
будут использованы только deflate и pkware, а остальные отключатся - по-моему очень удобно.


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Aug 17 2016, 10:15
Сообщение #5


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,125
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 269 раз(а)



Собрал новую версию v0.5.

Русским языком:
Натолкнулся на падение STUNS из-за minilzo, причём на потоке, где был, как оказалось, только deflate. Блин, давно надо было обновить все библиотеки распаковщиков. Также, на всякий случай, обновил UCL. Там, кстати, есть новые алгоритмы сжатия, типа NRV2E и NRV2E-99, но их тогда надо отдельными ключами командной строки добавлять - сейчас нет времени и желания с этим копаться, так что лишние файлы просто выкинул для уменьшения размера дистрибутива. Главное, что не падает больше. Все библиотеки в STUNS сейчас должны быть последних версий.


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Nov 30 2017, 16:37
Сообщение #6


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,125
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 269 раз(а)



Собрал новую версию v1.0.

Русским языком:
- нафиг дропнут старый код и всё переписано начисто;
- GCC 3.2 с хаками вместо MSVC 6.0 - меньше занимает;
- обновлены puff и blast из последних исходных кодов zlib;
- алгоритмы UCL/NRV (ucl2b and ucl2d) выброшены как малоиспользуемые;
- изменён текст вывода сообщений: смещение (в hex), размер (десятичный), алгоритм, информация;
- новая опция, чтобы всё распакованное сохранялось в один файл (Corak просил);
- новая опция, позволяющая ничего не сохранять - давно надо было такое сделать: сначала всё настраиваешь, а когда видишь, что будет распаковываеться только то что нужно, то уже распаковываешь.

Т.к. переписывал начисто и заново, то возможны появления ошибок в самых неожиданных местах.
Если заметили - сообщайте.
Старую версию v0.5 оставил кому нужна в первом сообщении.


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0 -

 



Упрощённая версия Сейчас: 23rd January 2018 - 21:20