Упаковка исполняемых файлов: различия между версиями

[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
м добавлена категория «Сжатие данных» с помощью HotCat
Нет описания правки
Строка 1:
'''Упако́вка исполня́емых фа́йлов'''  — состоит в [[Сжатие данных|сжатии]] [[Исполняемый модуль|исполняемого файла]] и прикреплении к нему кода, необходимого для распакования и исполнения содержимого файла. Упаковка производится по ряду причин:
 
* Упакованный файл занимает меньше места на [[Жёсткий диск|жёстком диске]], что помогает ускорить его загрузку в [[Оперативная память|память]]
* Некоторые виды упаковки совмещены с [[Шифрование|шифрованием]] содержимого файла для того, чтобы предотвратить [[Обратная разработка|обратную разработку]] программы
* Также упаковка с шифрованием может использоваться для [[Компьютерный вирус|вирусописания]]  — для того, чтобы зашифровать и видоизменить код вируса в попытке предотвратить обнаружение этого вируса [[Обнаружение, основанное на сигнатурах|системами, основанными на сигнатурах]] ([[антивирус]]ами, [[СОВ]], и  т.  п.)
 
== Упаковщик исполняемых файлов ==
Упаковщик исполняемых файлов  — программа для уменьшения размера исполняемых файлов. В упакованный файл записывается сжатая копия оригинального файла и программа для распаковки.
 
После запуска сжатого файла, распаковщик извлекает оригинальный код программы из архива (обычно напрямую в память, хотя существуют и упаковщики, записывающие файл на диск), и передает ему управление.
Строка 13:
 
== Примеры упаковщиков ==
Помимо [[алгоритм]]ов упаковки, встроенных в некоторые [[компилятор]]ы и средства разработки (например, [[Microsoft Visual C++|Visual C++]] и  т.  п.), существует ряд инструментов для более специфических задач, например:
 
* [[.netshrink]]
* [[ASPack]]
* [[ASProtect]] - — предназначен, скорее, для защиты исполняемых файлов от исследования, снятия дампа и модификации, чем для сжатия.
* [[CExe]]
* [[exe32pack]]
* [[eXPressor]]
* '''[[Fast Small Good|FSG]]'''
* [[MEW]] - — разработка остановлена
* [[Mpress]]
* [[MuCruncher]]
* [[NeoLite]]
* [[NsPack]]  — [[.NET Framework|.NET]]
* [[PECompact]]
* [[PEPack]]
Строка 33:
* '''[[PEtite]]'''
* [[Shrinker32]]
* [[Upack]]  — [[Freeware]]
* '''[[UPX]]'''  — [[Open source]]
* [[WWPack]]
* [[PESpin]]
Строка 43:
Многие распаковщики (например, [[procdump]] или [[PEiD]]) запускают файл и создают распакованный вариант файла из образа, загруженного в память. Однако в случае, если этот файл содержал вирус, система может быть повреждена. Кроме того, у упаковщиков существует ряд приёмов борьбы с динамической распаковкой: например, расшифровывать код не полностью, а лишь по мере исполнения, или, например, расшифровывать и запускать вирус целиком только в определённый день недели.
 
Статические распаковщики  — которые пытаются распаковать файл, не запуская его (например, [[CUP386]] или [[UNP]])  — оказываются бесполезны, если алгоритм упаковки требует запуска файла.
 
== См. также ==
Строка 53:
 
== Ссылки ==
* [http://www.absolutelock.de/construction/releases.html UNPACKiNG GODS  — веб-сайт с массой распаковщиков]
* [http://rug.biz.tc/releases.html Russian Unpacking Group  — статическая распаковка упаковщиков/протекторов]
 
 
{{compu-soft-stub}}
 
[[Категория:Архиваторы]]
<!--[[Категория:Программы для защиты информации]]
[[Категория:Сжатие данных]]-->