пятница, 1 февраля 2013 г.

контекст ошибки: createfilew

Что ж, вооружимся отладчиком и приступим к беглому изучению внутреннего устройства программы. Цель ЂЂЂ определить, появляется ли интересующий нас код в памяти процесса в открытом виде, и на каком этапе выполнения программы его будет проще всего перехватить и скопировать. В данном случае я предпочту воспользоваться , но в общем-то подошел бы практически любой отладчик, например, WinDbg, IDA или, скажем, Syser.

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

Воспользуемся утилитой и проанализируем обращения к файлам, которые совершает sample.exe после запуска (в качестве альтернативы можно воспользоваться за авторством Марка Руссиновича). Для этого отметим в списке перехватываемых функции CreateFileA, CreateFileW, нажмем Ctrl+H и укажем процесс, в контексте которого будет вестись наблюдение.

Возьмем любой hex-редактор и попробуем поискать элементы кода скрипта в теле файла. Тщетно, видимо, код хранится в упакованном/зашифрованном виде, что вполне логично.

Итак, у нас есть sample.exe, который необходимо изучить на предмет возможности извлечения исходного кода. Начнем с банального:

Для начала скачаем сам продукт (дальнейшее описание приводится на основе ) и воспользуемся им по назначению ЂЂЂ превратим прилагающийся скрипт sample.pl в полноценный exe-файл. Для этого вводим в консоли незамысловатую команду perl2exe sample.pl или просто перетаскиваем sample.pl на perl2exe в проводнике.

Одним из наиболее часто используемых продуктов для создания standalone-приложений из perl-скриптов и организации какой-никакой защиты является продукт . Периодически возникают ситуации, когда исходный код скрипта потерян, а на руках имеется только полученный с помощью этой программы exe-файл, но всенепременно хочется добраться до сорцев. Разберемся, как это сделать.

Распаковка Perl2Exe / Хабрахабр

Комментариев нет:

Отправить комментарий