Упаковка исполняемых файлов
Материал из Википедии — свободной энциклопедии
Упако́вка исполня́емых фа́йлов — состоит в сжатии исполняемого файла и прикреплении к нему кода, необходимого для распакования и исполнения содержимого файла. Упаковка производится по ряду причин:
- Упакованный файл занимает меньше места на жёстком диске, что помогает ускорить его загрузку в память
- Некоторые виды упаковки совмещены с шифрованием содержимого файла для того, чтобы предотвратить обратную разработку программы
- Также упаковка с шифрованием может использоваться для вирусописания — для того, чтобы зашифровать и видоизменить код вируса в попытке предотвратить обнаружение этого вируса системами, основанными на сигнатурах (антивирусами, СОВ, и т. п.)
Содержание |
[править] Примеры упаковщиков
Помимо алгоритмов упаковки, встроенных в некоторые компиляторы и средства разработки (например, Visual C++ и т. п.), существует ряд инструментов для более специфических задач, например:
- .netshrink
- ASPack
- ASProtect - предназначен, скорее, для защиты исполняемых файлов от исследования, снятия дампа и модификации, чем для сжатия.
- CExe
- exe32pack
- eXPressor
- FSG
- MEW - разработка остановлена
- MuCruncher
- NeoLite
- NsPack — .NET
- PECompact
- PEPack
- PELock
- PKLite32
- PEtite
- Shrinker32
- Upack — Freeware
- UPX — Open source
- WWPack
- PESpin
[править] Распаковщики
Точная распаковка файлов, как и обратная разработка в целом, зачастую бывает затруднена или невозможна.
Многие распаковщики (например, procdump или PEiD) запускают файл и создают распакованный вариант файла из образа, загруженного в память. Однако в случае, если этот файл содержал вирус, система может быть повреждена. Кроме того, у упаковщиков существует ряд приёмов борьбы с динамической распаковкой: например, расшифровывать код не полностью, а лишь по мере исполнения, или, например, расшифровывать и запускать вирус целиком только в определённый день недели.
Статические распаковщики — которые пытаются распаковать файл, не запуская его (например, CUP386 или UNP) — оказываются бесполезны, если алгоритм упаковки требует запуска файла.
[править] См. также
[править] Ссылки
- UNPACKiNG GODS — веб-сайт с массой распаковщиков
- Russian Unpacking Group — статическая распаковка упаковщиков/протекторов
| Это незавершённая статья о программном обеспечении. Вы можете помочь проекту, исправив и дополнив её. |

