Российские корниIT и сервисы · 1999–2026

7-Zip внутри Inno Setup.

Как код Игоря Павлова работает в Inno Setup — и какие компромиссы остаются.

Условная иллюстрация: пачка файлов с молнией и стрелка к установочной коробке. Схема повторного использования сжатия, не интерфейс программы.Условная иллюстрация: пачка файлов с молнией и стрелка к установочной коробке. Схема повторного использования сжатия, не интерфейс программы.
ЧТО СОЗДАЛИ

7-Zip внутри Inno Setup

При установке программы сначала приходится доставить её файлы, а затем развернуть их на компьютере. Архиватор 7-Zip известен отдельным окном с папками, но его код работает и внутри чужих продуктов. Один проверяемый пример — Inno Setup, инструмент Jordan Russell и Martijn Laan для создания установщиков Windows. Его документация прямо указывает поддержку 7-Zip LZMA/LZMA2. Значимость этой истории — в состоявшемся повторном использовании технологии, а не в обещании мирового рекорда. Авторство здесь можно отделить от бренда. В исходниках 7-Zip 26.05 указан Игорь Павлов, а LZMA SDK назван написанным им набором средств разработки. Российскую связь подтверждает публикация Threatpost от 12 мая 2016 года, называющая Павлова российским программистом. В ответе на форуме проекта в январе 2007-го он писал, что работает только над 7-Zip, и объяснял ограничения получения платежей для аккаунтов из России. Последнее — историческое свидетельство самого автора, а не справка о его нынешнем месте жительства. Точный сегодняшний адрес разработки и полная цепочка прав на каждый вклад редакцией не установлены. Поэтому категория материала — «Российские корни». Как работает сжатие? Вместо повторной записи одинаковой последовательности байтов словарный алгоритм может сохранить указание на уже встречавшийся фрагмент. LZMA развивает подход LZ77; декодер восстанавливает исходные данные, используя словарь и своё состояние. Это объяснение принципа, а не описание каждого шага реализации. В 7z можно выбирать разные методы: название контейнера не означает, что любой архив обработан одним и тем же алгоритмом. SDK выносит код из отдельной программы в библиотечные функции и примеры, которые другой разработчик может встроить в свой продукт. В Inno Setup это можно проверить по двум разным задачам. Для сжатия файлов установщика справка указывает значение Compression по умолчанию lzma2/max. Для извлечения дополнительных архивов режим basic использует 7z ANSI-C Decoder из SDK Павлова; авторы перечисляют свои изменения, включая поддержку Unicode и сообщения об ошибках. Более функциональные режимы используют другие библиотеки из 7-Zip. Открытый репозиторий jrsoftware/is7z показывает адаптацию кода для Inno Setup. Это прямые документы пользователя технологии. Они подтверждают внедрение, но не являются независимым испытанием превосходства 7-Zip над конкурентами. Размер архива — лишь одна часть инженерного выбора. В том же установщике доступны deflate и bzip2; скорость, память и степень сжатия имеют значение вместе. Например, таблица Inno Setup для LZMA max указывает примерно 8 МБ памяти при распаковке и 98 МБ при сжатии. Это параметры указанного режима, не замеры любого архива на любом компьютере. Отдельное ограничение режима извлечения basic: для файла размером 1 ГБ требуется как минимум 1 ГБ памяти. Его нельзя смешивать с памятью собственно LZMA-декодера. Редакция не проводила общего сравнительного теста и не выводит преимущество над ZIP или RAR из одного факта внедрения. Открытые условия помогли коду стать встраиваемым. LZMA SDK размещён автором в public domain. Полный 7-Zip имеет другие условия: LGPL, BSD и ограничения unRAR. Лицензионный файл также прямо называет сторонний вклад Apple, Facebook и Yann Collet в отдельные компоненты. Поэтому весь архиватор нельзя объявлять разработкой без иностранных технологий, а условия SDK нельзя автоматически переносить на весь продукт. Inno Setup остаётся самостоятельной зарубежной программой со своими авторами. У применения есть обратная сторона: вместе с полезным кодом можно унаследовать его ошибки. CISA 6 февраля 2025 года включила CVE-2025-0411 в каталог реально эксплуатируемых уязвимостей. По исследованию Trend ZDI, в сентябре 2024 года атаки использовали обход отметки Windows о происхождении вложенных архивов из интернета; исправление появилось в 24.09. Это подтверждённый эпизод безопасности, а не доказательство намеренной закладки. Указанные исследователем предположения о происхождении атак не устанавливают причастность разработчика. Есть и более свежий технический пример: GitHub Security Lab описала переполнение буфера в обработчике NTFS версии 26.00 и выпуск исправления 26.01 в апреле 2026 года. Это ошибка конкретного обработчика, её нельзя автоматически приписывать каждому использованию LZMA SDK или любому установщику Inno Setup. Журнал проекта перечисляет последующие исправления в 26.02–26.05; на дату проверки официальный сайт предлагает 26.05 от 21 октября 2026-го. Наличие новой версии само по себе не удостоверяет отсутствие иных ошибок. Редакционный вывод ограничен проверенным: российский вклад относится к разработчику и его коду, а зарубежное применение подтверждено документацией и исходниками Inno Setup. Это долгая инженерная история с продолжающимся развитием, а не новая технология, внезапно появившаяся в 2026 году.

КтоИгорь Павлов — основной автор 7-Zip и LZMA SDK. Inno Setup — самостоятельный проект Jordan Russell и Martijn Laan; адаптацию кода ведут его разработчики.
Связь с РоссиейРоссийские корни: авторство Павлова подтверждено исходниками; Threatpost в 2016 году называет его российским программистом. Нынешнее место его работы и география всех вкладов не установлены.
Что получилосьДокументация Inno Setup подтверждает встроенную поддержку 7-Zip LZMA/LZMA2 и использование декодера из LZMA SDK Павлова; открытый is7z показывает адаптацию исходников. Проект 7-Zip продолжает выпускаться, на дату проверки предлагается 26.05 от 21.10.2026.
Страна производстваПрограммный продукт и SDK; аппаратное производство не заявляется. Зарубежная интеграция — Inno Setup для Windows.
СегодняВ исходниках указан copyright Igor Pavlov. LZMA SDK — public domain по заявлению автора. Полный 7-Zip — LGPL/BSD и unRAR restriction; права на сторонние части раскрыты отдельно. Полная цепочка прав всех участников не проверена.
МОЖНО ПРОВЕРИТЬ

На чём основан довод

19 утверждения
01

В исходниках 7-Zip 26.05 указан copyright Игоря Павлова за 1999–2026 годы.

Igor Pavlov / ip7z
02

Threatpost в публикации 12 мая 2016 года называет разработчика 7-Zip Игоря Павлова российским программистом.

Threatpost; Chris Brook
03

10 января 2007 года Павлов написал на форуме проекта, что работает только над 7-Zip.

SourceForge; Igor Pavlov
04

Официальный сайт предлагает 7-Zip 26.05 с датой 21 октября 2026 года.

Igor Pavlov / 7-zip.org
05

Inno Setup создан Jordan Russell и Martijn Laan для подготовки установщиков Windows.

Jordan Russell и Martijn Laan / Inno Setup
06

Документация Inno Setup прямо указывает встроенную поддержку сжатия 7-Zip LZMA/LZMA2.

Jordan Russell и Martijn Laan / Inno Setup
07

В прочитанной справке Inno Setup значение Compression по умолчанию — lzma2/max.

Inno Setup, техническая документация
08

Режим basic в Inno Setup использует 7z ANSI-C Decoder из LZMA SDK Игоря Павлова с перечисленными авторами изменениями.

Inno Setup, техническая документация
09

Документация Inno Setup предупреждает: режим basic распаковки файла размером 1 ГБ требует как минимум 1 ГБ оперативной памяти.

Inno Setup, техническая документация
010

Репозиторий jrsoftware/is7z содержит изменения 7-Zip для Inno Setup и сборку компактной библиотеки 7z.dll.

jrsoftware, репозиторий разработчиков Inno Setup
011

В документации 7z LZMA описан как улучшенная версия LZ77, а LZMA2 — как развитие LZMA.

Igor Pavlov / 7-zip.org
012

Согласно SDK, его C/C++-код является подмножеством исходников 7-Zip и доступен в public domain.

Igor Pavlov / 7-zip.org
013

В таблице Inno Setup для режима LZMA max указаны примерно 8 МБ при распаковке и 98 МБ при сжатии.

Inno Setup, техническая документация
014

Лицензия 7-Zip отдельно называет код Apple для LZFSE, Facebook для ZSTD и Yann Collet для XXH64.

Igor Pavlov / 7-zip.org
015

Лицензия полного 7-Zip сочетает LGPL, BSD и специальные ограничения для кода unRAR; она отличается от public domain LZMA SDK.

Igor Pavlov / 7-zip.org
016

6 февраля 2025 года CISA включила CVE-2025-0411 в каталог эксплуатируемых уязвимостей.

CISA; официальный бюллетень GovDelivery
017

Trend ZDI сообщил о наблюдении эксплуатации CVE-2025-0411 в сентябре 2024 года и исправлении в 7-Zip 24.09.

Trend ZDI / TrendAI; Peter Girnus
018

GitHub Security Lab проверила NTFS-обработчик версии 26.00 и сообщает об исправлении GHSL-2026-140 в 26.01 от 27 апреля 2026 года.

GitHub Security Lab; Jaroslav Lobačevski
019

Журнал 7-Zip перечисляет дополнительные исправления уязвимостей в версиях 26.02, 26.03, 26.04 и 26.05.

Igor Pavlov / 7-zip.org

Есть важный нюанс

Довод — подтверждённое применение кода в Inno Setup, без общего превосходства по сжатию. Российская связь относится к автору: точное нынешнее место разработки не установлено. Полный 7-Zip содержит сторонний код и имеет иные условия, чем LZMA SDK. Скорость и память зависят от режима. В старых версиях были реально эксплуатировавшиеся уязвимости; ошибки отдельных обработчиков не следует автоматически приписывать каждому встраиванию SDK.

ПЕРВОИСТОЧНИКИ, А НЕ ПЕРЕСКАЗЫ

Откройте и убедитесь

1

Threatpost, 12 мая 2016: Игорь Павлов — российский программист и разработчик 7-Zip

Threatpost; Chris Brook · 26.10.2026

Независимый источник
2

Ответы Игоря Павлова о работе над 7-Zip и платежах из России, январь 2007

SourceForge; Igor Pavlov · 26.10.2026

Первичный источник
3

7-Zip 26.05: авторство, LZMA SDK и сборка исходников

Igor Pavlov / ip7z · 26.10.2026

Заявление компании
4

7-Zip: действующая версия 26.05 от 21 октября 2026

Igor Pavlov / 7-zip.org · 26.10.2026

Заявление компании
5

LZMA SDK: состав и передача кода в public domain

Igor Pavlov / 7-zip.org · 26.10.2026

Заявление компании
6

Формат 7z: LZMA, LZMA2 и другие методы

Igor Pavlov / 7-zip.org · 26.10.2026

Заявление компании
7

LZMA: интерфейсы кодирования, декодирования и память словаря

Igor Pavlov / ip7z · 26.10.2026

Заявление компании
8

Лицензия 7-Zip: LGPL, BSD и ограничения unRAR

Igor Pavlov / 7-zip.org · 26.10.2026

Первичный источник
9

Inno Setup: авторы и поддержка 7-Zip LZMA/LZMA2

Jordan Russell и Martijn Laan / Inno Setup · 26.10.2026

Первичный источник
10

Inno Setup: выбор сжатия, lzma2/max и расход памяти

Inno Setup, техническая документация · 26.10.2026

Первичный источник
11

Inno Setup: декодер из SDK Павлова и разные режимы распаковки

Inno Setup, техническая документация · 26.10.2026

Первичный источник
12

is7z: исходники 7-Zip с изменениями для Inno Setup

jrsoftware, репозиторий разработчиков Inno Setup · 26.10.2026

Первичный источник
13

GHSL-2026-140: переполнение буфера в NTFS-обработчике 7-Zip

GitHub Security Lab; Jaroslav Lobačevski · 26.10.2026

Первичный источник
14

CISA, 6 февраля 2025: CVE-2025-0411 добавлена в Known Exploited Vulnerabilities

CISA; официальный бюллетень GovDelivery · 26.10.2026

Первичный источник
15

CVE-2025-0411: наблюдавшиеся атаки и исправление 24.09

Trend ZDI / TrendAI; Peter Girnus · 26.10.2026

Первичный источник
16

История 7-Zip: даты версий и исправления уязвимостей

Igor Pavlov / 7-zip.org · 26.10.2026

Заявление компании

У хорошего довода есть история

Источники и изменения должны оставаться на виду.