Blog. Just Blog

Быстрый поиск

Введите фрагмент названия статьи для поиска

Упаковка и распаковка данных с помощью Delta-функций

11.04.2021 | Категория: Образ мышления: Assembler | Автор: ManHunter

Упаковка и распаковка данных с помощью Delta-функций

В комментариях к предыдущей статье подсказали (DRON, спасибо!) еще один вариант компрессии данных, выполняемый штатными средствами системы. Речь идет о технологии Delta Compression, которая используется в первую очередь в обновлениях Windows. Суть этой технологии заключается в том, что берутся два массива информации, будь то файлы или блоки в памяти. Между ними определяются все различия, после применения которых из первого массива получается второй, такие различия называются "дельтой". Затем информация о дельте тщательно упаковывается высокоэффективными алгоритмами, а из упакованных блоков в дальнейшем формируются патчи. Delta Compression доступна в Windows Vista и более новых системах.

Читать статью целиком »
Просмотров: 1182 | Комментариев: 5

Упаковка и распаковка данных с помощью Runtime-функций

28.03.2021 | Категория: Образ мышления: Assembler | Автор: ManHunter

Упаковка и распаковка данных с помощью Runtime-функций

За последнее время тут было выложено немало распаковщиков для различных алгоритмов компрессии данных. Теперь расскажу о штатных функциях упаковки и распаковки, которые есть в Windows. Плюсы их использования в том, что не надо таскать за собой разные алгоритмы или библиотеки, все делается парой системных функций. Степень компрессии, конечно, получается где-то на уровне плинтуса, но этого вполне хватит, например, чтобы в половину утрамбовать логи вашей поняшки перед отправкой на сервер.

Читать статью целиком »
Просмотров: 1562 | Комментариев: 6

Распаковка данных в формате aPLib на Ассемблере

10.03.2021 | Категория: Образ мышления: Assembler | Автор: ManHunter

Распаковка данных в формате aPLib на Ассемблере

Вот мы и добрались до одной из самых популярных библиотек для компрессии данных aPLib. Ее разработал Joergen Ibsen в 1998 году, но исходники по какой-то причине до сих пор не раскрыты, хотя сама библиотека бесплатная. За счет превосходных показателей сжатия и легкой интеграции, aPLib используется в некоторых упаковщиках исполняемых файлов. В 2019 году Emmanuel Marty сделал, казалось бы, невозможное. Ему удалось не только отреверсить алгоритм упаковки aPLib, но и улучшить на 5-7% степень сжатия, полностью сохранив при этом совместимость с оригинальным кодом для распаковки. Таким образом, алгоритм aPLib теперь можно считать открытым.

Читать статью целиком »
Просмотров: 1125 | Комментариев: 2

Распаковка данных в формате NRV на Ассемблере

27.02.2021 | Категория: Образ мышления: Assembler | Автор: ManHunter

Распаковка данных в формате NRV на Ассемблере

Алгоритм компрессии NRV (Not Really Vanished) разработан автором знаменитого упаковщика UPX Markus F.X.J. Oberhumer. Алгоритм используется в этом упаковщике, а также в нескольких вариантах входит в состав библиотеки с открытым кодом UCL. Высокая скорость обработки данных сочетается с очень хорошей степенью компрессии данных.

Читать статью целиком »
Просмотров: 1143 | Комментариев: 0

Упаковка и распаковка данных в формате LZ48 на Ассемблере

24.02.2021 | Категория: Образ мышления: Assembler | Автор: ManHunter

Упаковка и распаковка данных в формате LZ48 на Ассемблере

На просторах этих ваших интернетов обнаружился вот такой простенький алгоритм упаковки, обозначенный автором как LZ48. Собственно, это даже не совсем алгоритм, а исходник утилиты для упаковки и распаковки данных за авторством roudoudou. Больше никакой информации нет, поэтому пояснить, что означают цифры "48", я не могу, все вопросы к автору, если, конечно, найдете первоисточник. Вряд ли вы когда-нибудь встретите этот упаковщик в "дикой природе", но для коллекции сгодится. Да и для какой-нибудь лабораторной работы тоже может оказаться полезным.

Читать статью целиком »
Просмотров: 975 | Комментариев: 0

Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.06 сек. / MySQL: 3 (0.002 сек.) / Память: 4.5 Mb
Наверх