Поиск по базе сайта:
Распаковка конверта Guardant при наличии ключа или эмулятора icon

Распаковка конверта Guardant при наличии ключа или эмулятора




НазваРаспаковка конверта Guardant при наличии ключа или эмулятора
Дата конвертації31.12.2014
Розмір31.1 Kb.
ТипСтатья
1. /Распаковка конверта Guardant при наличии ключа или эмулятора/Распаковка конверта Guardant при наличии ключа или эмулятора.docРаспаковка конверта Guardant при наличии ключа или эмулятора

Распаковка конверта Guardant при наличии ключа или эмулятора


Внимание:Данная статья предназначена только для эмулирования легально купленных ключей, которые по каким-либо причинам не могут быть использованы в компьютере (отсутствие порта, его некорректная работа или занятость). Автор не несет никакой ответственности за нецелевое использование нижеизложенного материала.

Используемые инструменты (помимо защищаемого приложения :):

PEiD v0.94

PE Tools v1.5 Xmas Edition

SAAT Viewer 0.2 by Larry

Одной из основных проблем в подавляющем числе случаев использования табличной эмуляции является наличие конверта Guardant на защищаемом приложении. Если с конвертами до версии 4.44 включительно успешно справлялась утилита Guardant / Novex envelope killer 1.41 by infern0 / TSRh team (доступная широкой публике), то с появлением конвертов новых версий ситуация изменилась. Теперь для снятия конверта можно воспользоваться двумя методами: либо сделать это автоматической утилитой (которая недоступна широкой публике), либо снять конверт при наличии оригинального ключа или полного эмулятора. О втором методе речь пойдет ниже. ;)

1. Определение наличия конверта на исполняемом приложении

Определить наличие конверта на исполняемом приложении можно несколькими способами:

- Посмотреть, находится ли в папке с приложением файл novex32.dll (для приложений win32), novex.exe (win16) или nk.dat (DOS). Это файлы внешней вакцины автоматической защиты, которые необходимы для работы автоматической защиты;

- Программа при запуске без ключа или эмулятора отображает MessageBox с текстом типа "Guardant dongle not found or printer is OFF!" или нечто подобное;

- Самый однозначный способ (в отличии от предыдущих) - найти последнюю секцию в файле, которая, в случае наличия конверта, начинается с символов "SAAT".

Если Вы обнаружили один или несколько признаков наличия конверта, можете читать дальше. ;)

2. Снятие конверта с файла

Скачиваем SAAT Viewer 0.2 by Larry, распаковываем в папку с программой, запускаем её, выбираем файл с конвертом. При желании можно сохранить расшифрованную секцию SAAT на диск для дальнейшего изучения.

Программа покажет примерно следующий результат:



Выписываем результат работы программы. Запускам PEiD и подгружаем в него наше защищаемое приложение. Обратите внимание, что Вы должны указать программе PEiD путь к файлу с конвертом, который находится в каталоге установленной программы, а не скопировать защищенный файл в папку с PEiD и исследовать его.

Нажимаем на кнопку ->, выбираем 'Plugins' -> 'PEiD Generic Unpacker'. Далее позволяем программе обнаружить Original Entry Point и проверяем, чтобы значение было равно сумме значений ImageBase и Original Entry Point программы SAAT Viewer (в случае расхождения вписываем верное значение в поле Override to:). Нажимаем Unpack, на появившееся окно 'Rebuild Imports with ImpREC?' отвечаем отказом. Лицезреем в папке с программой распакованный дамп программы (к имени оригинального файла добавляется '.unpacked.exe' в случае исполняемого файла). Теперь осталось только восстановить верные значения для таблицы импорта и релоков.

Выбираем в PE Tools меню Tools --> PE Editor. Загружаем в него наш дамп программы. Заходим в Optional Header и меняем значение области Entry Point на правильный (в случае, если распаковщик PEiD указал неверный адрес) - значение Entry Point в программе SAAT Viewer без учета ImageBase.

Нажимаем OK, заходим в Directories и меняем значения RVA Import Directory, RVA Base Relocation Table, Size Import Directory и Size Base Relocation Table на те, что мы получили в программе SAAT Viewer.

Конверт Guardant успешно снят, в чем мы можем убедиться, загрузив файл в PEiD:



 

Вместо строки Nothing found * видим название среды, в которой была разработана программа.

3. Зачем и кому всё это нужно

Здесь постараюсь пояснить некоторые возможные вопросы и замечания по статье:

Во-первых, статья рассчитана на людей, слабо ориентирующихся в вопросах реверсинга и анализа ПО. Именно поэтому я написал небольшую утилиту, отображающую данные, которые можно искать в отладчиках, путем сложного глубокого анализа. С другой стороны, я не стал включать в утилиту другую полезную информацию, которая находится в секции SAAT защищаемого приложения, поскольку рядовому пользователю она вряд ли понадобится.

Во-вторых, я мог написать автоматическую утилиту для снятия конверта Guardant при наличии ключа, или даже выложить автоматическую утилиту, которая распаковывает конверты методом брут-форса без ключа. Но практика показывает, что подобные "подарки" ни к чему полезному не приводят. Эта статья показывает, что нет ничего невозможного. Если кого-то действительно заинтересует данная тема, тот без особых усилий сможет написать вышеуказанные утилиты сам.

Если у кого-то возникли вопросы или замечания по статье, с радостью их выслушаю и постараюсь помочь.

Вы также можете попробовать распаковать конверт Guardant, используя статью по снятию HASP Envelope. Принцип ручной распаковки HASP и Guardant Envelope выглядит почти один-в-один.




Схожі:




База даних захищена авторським правом ©lib.exdat.com
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації