Всевозможное обилие всяких пакеров/протекторов вынудило меня сделать какую-нибудь штуку, способную помочь в их распаковке. Это же несправедливо - программы шифруются и запаковываются автоматически, а вот бедному хакеру приходится напрягать голову. Да ещё взяли моду вычислять отладчики...
Что ж, я подумал, лучшей идеей будет создать эмулятор - при многих недостатках, главное его отличие - его невозможно обнаружить. Идея такова : предоставим программе самой себя расшифровать (ведь она лучше всех знает, как это делать). Проэмулируем несколько команд, отвечающих за расшифровку, сбросим модифицированную память на диск - и готова исходная программа. Теперь уже можно браться за дизассемблер.
Какие возникают проблемы? Самая главная - невозможно выполнять функции Windows API. Это же не отладчик :-( Но обычно протекторы ими не пользуются. Другая - секция настроек (.reloc). Если распакованную программу загрузить не по тому же адресу, что при распаковке, то могут появиться ошибки (ведь адреса не настроены).
Конечно, интерфейс эмулятора оставляет желать лучшего, но зато он бесплатный. Программа написана на ассемблере, небольшого размера. Установки не требует. Если найдёте ошибки, пишите мне (куда, указано в readme.txt). Свежая версия на этой странице.
Последняя версия Лезгина 0.2.1. Я полностью восстановил исходники из exe-файла.