[Перевод - recovery mode ] Улучшение степени сжатия применяемого в UPX

От переводчика: Предполагаю что материал будет полезен тем программистам кто писал и пишет статические распаковщики исполняемых файлов. Под статичеческим распаковщиком понимаю программу которая поданный на вход упакованный или запротекченный исполняемый файл анализирует и создает на выходе файл, как будто бы он создан каким-либо компилятором. Особенностью такого типа распаковщиков в том что он работает исключительно на знании структуры защиты или упаковки файла, т.е. без применения «сброса дампа», «востановления импорта» и др. типов «читерства». При изучении упакованных файлов к примеру с помощью UPX, RlPack и др. встречаешься с кодом где делаются некоторые магические действиями с маш.инструкциями переходов байты 0xE8, 0xE9 и др. Этой магией является «фильтрация» и она направлена на улучшение степени сжатия исполняемого файла. Далее идет перевод »%UPX_SOURCE%\upx-3.05-src\doc\filter.txt», где переменная среды это файловый путь до исходных кодов к UPX. Все что описано про UPX также применимо и к другим упаковщикам.Почитать про фильтрацию в UPX

© Habrahabr.ru