
Сжатие EXE-файлов с помощью WinRAR или 7Zip ничего не дает, то есть сжатый файл RAR или 7Zip имеет тот же размер, что и EXE-файл. Есть ли способ сжать EXE-файл и получить степень сжатия хотя бы 15-20?
решение1
Обычно машинный код x86 сжимается довольно хорошо (хотя и не в 15-20 раз). Так что если exe-файл сжимается плохо, это может означать, что он уже сжат. Существуют некоторые инструменты для самостоятельной распаковки exe-файлов при запуске, так что пользователь даже не заметит, что он сжат. Например, в Википедии есть список программ, которые могутсжать формат Windows "Portable Executable"Сжатие exe-файла, который уже сжат любым из этих инструментов, не даст никакой реальной выгоды.
В качестве альтернативы exe-файл может содержать большие ресурсы, такие как графика JPEG или сжатый звук, которые невозможно сжать должным образом.
Полагаю, без дополнительной информации об exe-файле и о том, чего вы хотите добиться, вам не повезло.
решение2
Команда Compact в Windows 10 включает опцию сжатия исполняемого файла.
/EXE Использовать сжатие, оптимизированное для исполняемых файлов, которые часто читаются и не изменяются. Поддерживаемые алгоритмы:
XPRESS4K (fastest) (default)
XPRESS8K
XPRESS16K
LZX (most compact)
Compact /c /exe:lzx <name>
решение3
Если вам не удается сжать файл .exe
с помощью 7Zip, скорее всего, он уже сжат с помощью исполняемого компрессора, напримерUPX.
Вы можете определить, так ли это, с помощью инструмента PEiD.