Упаковка исполняемых файлов

Упако́вка исполня́емых фа́йлов — состоит в сжатии исполняемого файла и прикреплении к нему кода, необходимого для распакования и исполнения содержимого файла. Упаковка производится по ряду причин:

Содержание

Примеры упаковщиков

Помимо алгоритмов упаковки, встроенных в некоторые компиляторы и средства разработки (например, Visual C++ и т. п.), существует ряд инструментов для более специфических задач, например:

  • .netshrink
  • ASPack
  • CExe
  • exe32pack
  • eXPressor
  • FSG
  • MEW — development stopped
  • MuCruncher
  • NeoLite
  • NsPack — .NET
  • PECompact
  • PEPack
  • PELock
  • PKLite32
  • PEtite
  • Shrinker32
  • Upack — Freeware
  • UPXOpen source
  • WWPack
  • PESpin

Распаковщики

Точная распаковка файлов, как и обратная разработка в целом, зачастую бывает затруднена или невозможна.

Многие распаковщики (например, procdump или PEiD) запускают файл и создают распакованный вариант файла из образа, загруженного в память. Однако в случае, если этот файл содержал вирус, система может быть повреждена. Кроме того, у упаковщиков существует ряд приёмов борьбы с динамической распаковкой: например, расшифровывать код не полностью, а лишь по мере исполнения, или, например, расшифровывать и запускать вирус целиком только в определённый день недели.

Статические распаковщики — которые пытаются распаковать файл, не запуская его (например, CUP386 или UNP) — оказываются бесполезны, если алгоритм упаковки требует запуска файла.

См. также

Ссылки


 
Начальная страница  » 
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 Home