• Уменьшение отступа

    Обратная связь

    (info@ru-sfera.pw)

Обзор программ для анализа исполняемых файлов


Антоха

Уважаемый пользователь
Форумчанин
Регистрация
26.12.2012
Сообщения
2 780
Репутация
4 652
Статья-обзор скопирована (нагло) с сайта fiks-ru.net

PEiD 0.95
PEiD-0.95.jpg

PEiD - самый популярный анализатор исполняемых файлов. Последняя версия 0.95 от ноября 2008 года. Анализ производится по внутренней и внешней базе сигнатур, есть несколько уровней сканирования от быстрого до глубокого, можно обрабатывать целые каталоги. Функционал легко расширяется внешними плагинами, сигнатуры хранятся в отдельном текстовом файле, так что вы легко можете добавлять туда свои собственные. Для работы с базой сигнатур написана специальная программа PEiDSO. Разработчикам плагинов в комплекте прилагается SDK с примерами на разных языках программирования и описанием API. Офф-сайт программы походу , но в любом случае скачать его лучше здесь, так как иначе нужный набор плагинов и сигнатур вам пришлось бы собирать самим, а здесь он прилично укомплектован.

Руководство по PEiD можно прочесть

DiE 0.65 Rus

DiE_0.65_Rus.gif

Detect it Easy (DiE), отечественная разработка, последнюю версию 0.65 я перевел на досуге на русский (если не нравится перевод - выкиньте файл DiE.RU из директории - будет Eng). В версию 0.65 был добавлен эмулятор. Похожа на PEiD, но основной упор делается на собственные эвристические анализаторы, а уже потом на сигнатурный анализ. Также программа предоставляет некоторые полезные функции: просмотр импорта, секций, просмотр файла в hex-режиме, дизассемблер, просмотр основных характеристик PE, получение хеша MD5 и CRC-32. Функционал расширяется при помощи плагинов.
Офф-сайт программы

DiE (Detect it Easy) 0.70 alpha 12
DiE_0.70.gif


Обновление DiE (Detect it Easy) до версии 0.70. Программа полностью переписана - раньше она была на Borland Delphi, а теперь на Microsoft Visual C++. В связи с чем, дальнейший ее перевод на русский считаю нецелесообразным, так как дамп уже не дашь, а "мучать" жестко кодированные строки в пожалуй не стоит. Офф-сайт программы теперь находится . Скачать новую версию можно прямо с офф-сайта (в архив не добавлял).
P.S. Спасибо товарищу с за предоставленную информацию о новой версии.

ExeInfo PE 0.0.3.2
ExeInf-PE.jpg


ExeInfo PE также очень похожа на PEiD, последняя версия 0.0.3.2 от 11 сентября 2012 года. Сигнатуры встроенные (667 штук). В программе есть интересная функция: если протектор определен, то она дает информацию, при помощи какого инструмента его можно попытаться распаковать. Для новичков эта информация будет очень полезна. Также из полезных инструментов есть риппер архивов из SFX-модулей, поиск текстовых строк, обращений к реестру, корректировка OEP и другие. Скачать можно с офсайта. Также с офф-сайта можно скачать плагин-переходник для PEiD и DiE, который позволяет выполнять сканирование файлов через ExeInfo PE.


PE-Scan 3.31
PE-Scan_3.31.jpg


Pe-Scan от snyper, последняя версия 3.31, офсайт прекратил свое существование. При минимальном размере программа обладает большими возможностями. Это эвристический и сигнатурный анализатор исполняемых файлов, распаковщик некоторых пакеров, динамический поиск OEP. Кроме перечисленных инструментов в Pe-Scan есть уникальный вероятностный анализатор для незнакомых упаковщиков и шифровщиков файлов (кнопка "adv.scan"). Он показывает в процентном отношении на какой из известных ему упаковщиков похож исследуемый неизвестный. Помогает определять обычные пакеры типа UPX, обработанные различными скрэмблерами и модификаторами.

Stud PE 2.6.1.0
Stud_PE.jpg


Stud PE, последняя версия 2.6.1.0 от 2 июня 2012 года. Очень неплохая программа, кроме анализа чем упакован файл, показывает еще много другой полезной информации: секции, ресурсы, таблицы импорта и экспорта, DOS-заголовок. Встроеный в Stud_PE HEX-редактор подсвечивает выбранные поля заголовка файла, что бывает очень удобно при анализе его структуры. Также есть менеджер процессов со встроенным дампером. Функционал расширяется при помощи плагинов, причем подходят плагины от PEiD. Описание API и SDK для разработчиков прилагается в комплекте.


File Format Identifier 1.4
File_Format_Identifier_1.4.jpg


File Format Identifier - очень удачная разработка китайской антивирусной компании SUCOP, последняя версия 1.4 от 2008 года. Анализатор работает по внешним сигнатурам в формате PEiD, но главную ценность представляет встроенный статичный распаковщик простых пакеров. Распаковщик работает по технологии виртуальной машины, то есть реально никакой код не выполняется, что особенно важно при исследовании вредоносных программ. Также из полезных инструментов в программе есть реконструктор импорта, ребилдер исполняемых файлов, offset калькулятор и извлечение оверлеев. Если разберетесь с китайским, то можете скачать с офсайта, но рекомендую взять эту сборку из архива в конце поста. В ней убрано все лишнее, движок распаковщика заменен на коммерческий с улучшенными функциями, добавлена внешняя база сигнатур. File Format Identifier рекомендуется всегда иметь под рукой.


Protection ID 0.6.4.1
Protection_ID.0.6.4.1.jpg


Protection ID, последняя версия 0.6.4.0 Неплохая программа, используемая в основном для анализа защищенных CD/DVD дисков. Кроме этого определяет около 350 упаковщиков, донглов, инсталляторов исполняемых файлов. Не требует для работы дополнительных файлов, но при этом нет возможности добавлять свои сигнатуры. В последних версиях замечена нехорошая тенденция автора заталкивать в утилиту кучу ненужного барахла, типа индикатора загрузки системы, менеджера процессов, оптимизатора памяти и прочих излишеств.


RDG Packer Detector v.0.7.0

RDG_Packer_Detector.gif


RDG Packer Detector
, последняя версия 0.7.0 от 27 декабря 2012 года. Хорошая задумка, но чудовищная реализация, еще один пример разработчикам во что НЕ надо превращать свои программы. Если разберетесь в уродливом интерфейсе, то в придачу к анализатору получите еще несколько инструментов типа OEP Detector, Cryptographic Analyzer, которые у меня так нормально и не заработали. Свежая версия добавлена в архив.


FastScanner v.3.0
FastScanner_3.0_final.jpg


FastScanner от крякерской команды , последняя версия 3.0 Сканер работает с сигнатурами от PEiD, поддерживает плагины. Красивый интерфейс, но результат проверки файлов часто бывает ошибочным. Из полезных функций есть неплохой редактор PE - файлов в виде плагина.


Bit Detector 2.8.5.6
Bit_Detector_2.8.5.6.jpg


Bit Detector - новая разработка, также от арабской крякерской команды Under SEH Team, последняя публичная версия 2.8.5.6 от июня 2012 года. Кроме функции определения компилятора и упаковщика несет на борту несколько полезных и не очень инструментов.


MiTeC EXE Explorer
MiTeC_EXE_Explorer.gif


MiTeC EXE Explorer - небольшой бесплатный просмотрщик структуры исполняемых файлов. Показывает информацию из заголовка файла, таблицу импорта и экспорта, TLS, версию файла, формы Delphi, дерево ресурсов с возможностью просмотреть картинки и диалоги в удобном виде и сохранить их на диск, а также есть удобная функция поиска в файле текстовых строк.


The Ultimate Hellspawn's EXE Analyzer 0.6
The_Ultimate_Hellspawns_EXE_Analyzer.jpg


The Ultimate Hellspawn's EXE Analyzer - прототип анализатора DiE. Пригодится скорее для коллекции, чем для практического применения, потому что сильно устарел. Показывает основные характеристики EXE-файла, эвристически определяет некоторые упаковщики и протекторы.

file insPEctor XL
file_insPEctor_XL.gif


file insPEctor XL от ViPER - старинный анализатор 2001 года, с тех пор больше не обновлялся. Эвристически определяет упаковщики и компиляторы исполняемых файлов, показывает основные данные из PE-заголовка, секции, таблицы импорта и экспорта. Кроме анализатора включает несколько полезных инструментов, например, добавление пустой секции в файл или новых функций в импорт, калькулятор RVA to Offset, смена даты и времени файла, перенаправление OEP, менеджер процессов и другие. Поддерживает плагины и многоязычный интерфейс. Пригодится не только для коллекции, но и для практического применения.

SCANiT 1.85

SCANiT.1.85.jpg


SCANiT - анализатор файлов от крякерской команды tPORt. Функционал небольшой, сканирует файл по сигнатурам от PE Tools, поддерживает плагины какого-то непонятного формата.

PEPirate 0.51

PEPirate.0.51.jpg


PEPirate от kosfiz - детектор протекторов, компиляторов, упаковщиков, которыми могут быть запакованы PE-файлы. Написан на ассемблере, может сканировать директории, считать энтропию файла. Часто ошибается, несмотря на заверения о 95-99% точности попадания.

gAPE 1.01
gAPE.1.01.jpg


gAPE - анализатор от крякерской команды TLG. Поддерживает сигнатуры от PE Tools и плагины от PEiD. Из инструментов есть работающий калькулятор энтропии и кривой калькулятор смещений в файле. Пригодится разве что для коллекции.

PeStudio 7.95

PeStudio_7.95.png


Давно хотел написать о программе PeStudio, да все руки не доходили. Офф-сайт программы переехал версии там последнее время идут одна за одной, просто обновлять не успеваю - уже 7.95 натикало. Было немного времени, глянул у проги ресурсы на предмет локализации. В самом исполняемом файле можно разве что менюшку перекинуть, да и то смысла почти нет - на русском всего несколько слов появится (значит кириллицу до сих пор поддерживает), а вот все остальное у ней походу большей частью в файле PeStudioIndicators.xml лежит, и при попытке сменить их на русские у меня вообще все значения например сразу пропали даже без крякозябров. Можно конечно еще помудрить - типа сменить кодировку с пресловутой utf-8 на жесткую windows-1251 и пересохранить документ из юникода в ANSI (можно обычным виндовским блокнотом) но время на эксперименты увы нет, да и толку то от них мало будет - версии сейчас скачут одна за одной. Короче кому интересно могут попробовать, а мне и английский в этой проге не мешает - и так все вроде видно.

InspectExe

InspectExe.jpg


InspectExe добавляет в окно свойств исполняемых файлов дополнительные вкладки для просмотра секций, таблицы импорта, ресурсов, манифеста и других данных.


DNiD 1.0
DNiD_1.0.jpg


DNiD - программа аналогичная PEiD, но ориентированная на .NET приложения. Позволяет определять несколько десятков различных версий компиляторов, протекторов, упаковщиков и обфускаторов .NET программ.

A-Ray Scanner 2.0.2.2

A-Ray_Scanner.jpg


A-Ray Scanner, проект давно не обновлялся, последняя версия 2.0.2.2 от 2005 года. Программа предназначена только для сканирования CD/DVD-дисков и определяет несколько десятков защит дисков от копирования. Также определяет некоторые упаковщики и протекторы исполняемых файлов.

ClonyXXL 2.0.1.5
ClonyXXL.jpg


Clony XXL - утилита определяющая тип защиты компакт-дисков. Как и предыдущая программа, давно не обновлялась, последняя версия 2.0.1.5 от 2003 года. Определяет защиты: SafeDisc, SecuROM, Discguard, LaserLok, Psx/Lybcrypt, Cactus Data Shield (Audio CDs), Lock Blocks, CD Check, ProtectetCD-VOB, CD-Extra и защиты, основанныю на нестандартном размещении информации на диске. По умолчанию интерфейс на немецком языке, но в настройках переключается на английский.

ASPrINF 1.6 final
ASPrINF_1.6.jpg


ASPrINF от nik0g0r из команды , еще одна отечественная разработка, последняя версия 1.6 beta. Небольшая утилита для точного определения версии протектора ASProtect, которым накрыт файл. Используется динамический анализ, а не сигнатурный, поэтому версия определяется безошибочно. Кроме точной версии ASProtect утилита показывает информацию на кого зарегистрирован протектор, так что шароварщики, использующие для своих поделок ломаные варезные протекторы, могут быть легко выведены на чистую воду.

VerA 2.0.3
VerA_2.0.3.jpg


VerA от PE_Kill - это статический определитель версии защиты ASProtect в защищенном исполняемом файле. VerA не использует сигнатуры. Вместо этого он извлекает точную информацию о протекторе, зашитую самим протектором в исполняемый файл для определения версии при отправке отчета об ошибке разработчикам. Анализ производится статически, то есть защищенный файл не запускается и не эмулируется, что позволяет безбоязненно определять версию любого файла, защищенного ASProtect, будь то вирус или деструктивное приложение.


Armadillo Find Protected 2.1
Armadillo_Find_Protected.jpg


Armadillo Find Protected от vel. Эта утилита позволяет определить наличие в файле защиты Armadillo, узнать все опции, с которыми был установлен протектор, а также узнать версию самого протектора. Поддерживаются версии Armadillo до 6.40. Кроме анализа утилита позволяет подменять HWID для защищенных программ (версия 1.8), очищать триальные счетчики (версия 1.9) и делать detach дочернего процесса. В архиве 4 версии программы.

Armadillo Informant 0.9.6
Armadillo_Informant.jpg


Armadillo Informant
от команды ARTeam - новый инструмент для статического анализа программ, защищенных протектором Armadillo. Определяет версию протектора, а также другие опции, с которыми был упакован файл. Анализ выполняется без запуска проверяемого приложения, поэтому такой способ наиболее безопасен при анализе вредоносного и подозрительного софта.

Detemida 1.0.0.5
Detemida.gif


Detemida - разработка китайских товарищей, последняя версия 1.0.0.5, офсайта нет, новые версии обычно выкладываются на закрытых тематических форумах. Определяет версию и дополнительные опции защиты Themida и WinLicense, а также для старых версий протектора показывает на кого он был зарегистрирован. Эта информация записана в специальный маркер внутри защитного модуля.

RDG Themida-Winlicense Version Finder 1.0
RDG_Themida-Winlicense_Version_Finder.jpg


RDG Themida-Winlicense Version Finder с традиционным для RDG чудо-интерфейсом также предназначена для определения версии Themida и WinLicense, однако делает это среди уже запущенных процессов. Может куда и сгодится.

EnigmaInfo 0.11
Enigma_Info.gif


EnigmaInfo от команды TSRh - инструмент для анализа протектора Enigma. Показывает версию протектора, тип лицензии, дату защиты и водяные знаки, если они использовались.
 

Антоха

Уважаемый пользователь
Форумчанин
Регистрация
26.12.2012
Сообщения
2 780
Репутация
4 652
Автор статьи выложил архив со всеми этими прогами,но я думаю,что не стоит размещать ссылку.Хоть он и "честный",но каждый может найти эти программы в Гугле.
 

Антоха

Уважаемый пользователь
Форумчанин
Регистрация
26.12.2012
Сообщения
2 780
Репутация
4 652
Статья: fiks-ru.net/forum/6-114-1
Линк на архив:[HIDE=1]http://haljavahost.p.fl2.fo.ru/file/chunk111/857692/33532/Analyzer-2013.zip[/HIDE]
Аверы естественно могут некорректно реагировать на файлы по ссылке выше.
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 068
Репутация
8 174
Данные тулзы хороши для крэкеров, вот например нужно распаковать файл, увидел какой протектор, далее можно найти в сети анпакер и всё...

Там проще, либо нужно указать точку входа, либо вообще всё делается автоматом ! ;)

У Нарвахо, всё вручную делается, но долго и нудно, да и не все смогут, а автоматические анпакеры, очень хорошо помогают, хотя уметь вручную всё-равно нужно, т.к. авто-анпакеры не всегда нормально распаковывают... :(
 

denis7656

The Dark Side
Форумчанин
Регистрация
25.06.2014
Сообщения
81
Репутация
195
не стал создавать новую тему чтоб не засирать форум, так что заранее извиняюсь за относительно старый ап. Проосто считаю что новичкам в распаковке запаканых прог, это прояснит еще одну не маловажную деталь.
Интересное заметил, когда виндовый блокнот или калькулятор запаковать вручную UPX, потом снять дамп, и восстановить импорт, то в итоге получаем "типа" очищенный файл уже без пакера.
Однако, сравнил оригинал и распакованный файл, размеры у них отличались. Не скажу что сильно, но все же. Суть моего поста - сказать новичкам что "я типа распаковал файл он он теперь не запускается" это все из-за того что в файле почти всегда остается мусор после даже самой грамотной распаковки. В связи с этим могут возникать ошибки при запуске уже распакованных файлов. Однако в моем случае блокнот после распаковки запустился и работал без косяков. Но раз на раз не приходится.
ПС, спасибо Антохе за ссылку, кое-чем пополнил свой арсенал (софт определения версий Аспра) Хотя и старенький, но все же. Даже не знал про существование этих двух прог.
Вот парочка статей для новичков, мой первый эксперимент с распаковкой как раз из первой статьи.



(ПС не реклама сайтов)
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 068
Репутация
8 174
denis7656, привет !

Так UPX это самый простой пакер и расспаковывается легко в ручную тем-же OleDbg, далее при помощи плагина делается дамп + при помощи спец. тулзы восстанавливается таблица импорта, также легко...

Было время увлекался этим, пару раз распаковывал так, даже тему создал вот там способ даже полегче:https://ru-sfera.pw/threads/krjaking-zapiski-diletanta.2238/page-4#post-128251

Попробуй распаковать как в той статье, или как Нарвахо описывал, в этоге распакованный файл не будет отличаться от оригинала...WinkSmile

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

denis7656

The Dark Side
Форумчанин
Регистрация
25.06.2014
Сообщения
81
Репутация
195
Привет !
На счет EP cогласен про импорт, тоже забыл упомянуть.
Согласен на счет самого UPX, даже самим им можно файл распаковать. Там ключи командной строки.
Все тривиально. На счет скриптов и простейших универсальных распаковщиков, тоже знаю.
Но крутые пакеры/протекторы так просто уже не снять. Я тоже решил идти не по самому легкому пути, просто был интересен, основной алгоритм распаковки. Но в первый раз решил не париться с антиотладкой и другими сюрпризами. Спасибо за линк тоже гляну что там. Так же читал что ручная распаковка Аспра и Темиды, Аспака, далеко не самый легкий процесс тогда был для меня. Но особо не вникал в такие крутые для моих познаний реверсинга познаний. А так лечил многие программы не заморачиваясь даже с распаковкой. Т.к. можно написать лоадер автоматически затирающий триальный ключ реестра, подделка активации программы на сервере, патчинг бинаря если снять паковщик и очень много-много другого. А так тема пакеров и протекторов и крипторов весьма интересна, если есть на это время =)
 

Антоха

Уважаемый пользователь
Форумчанин
Регистрация
26.12.2012
Сообщения
2 780
Репутация
4 652
Все картинки в теме сдохли. Нефиг было тупо копипастить.
Линк на подборку инструментов, литературы, ресурсов реверсинга.

C1vXWm1W8AEXfxX.png

 

Антоха

Уважаемый пользователь
Форумчанин
Регистрация
26.12.2012
Сообщения
2 780
Репутация
4 652
Код:
Инструментарий для редактирования образов исполняемых файлов с возможностью перемещения фрагментов бинарного кода.
------------------------------------------------------------------------------------------------------------------

Библиотека С++/С для редактирования файлов исполняемых образов (DLL,EXE,SYS...) для ОС WINDOWS.
Именуемая далее (не сильно оригинально) IMAGELIB, позволяет программисту создавать специальные программы
в которые им может быть заложены возможности редактировать чужие исполняемые файлы.

С помощью этой библиотеки, работая с чужими готовыми бинарными образами, программист может:

    - Добавлять в неограниченном объёме свой собственный код в эти образы.
    - Удалять любые выбранные программистом фрагменты кода этих образов.
    - Перемещать любые выбранные программистом фрагменты чужого кода, в нужное ему место,
      в том числе и в добавленные им с помощью этой библиотеки новые секции кода.
    - Устанавливать хуки на любые функции чужого бинарного кода путем перемещения этих функций в новое место
      с сохранением работоспособности этих функций.
    - Размещать в старом месте таких функции любой свой код.
    - Устанавливать хуки в произвольные точки чужого кода путем "раздвижения" этого кода,
      для вписывания в него команды перехода.

Библиотека позволяет программисту работать с чужим кодом на уровне макросов исходного кода.

С помощью таких макросов программист может:

    - устанавливать хуки на выбранные им точки чужого кода (как по имени функции так и по ее адресу).
    - вызывать оригинальные перехваченные функции.
    - вызывать любые функции чужого кода.

Библиотека имеет встроенные инструменты для анализа чужого машинного кода.
Библиотека не имеет ограничений на объём и место добавления своего кода к чужим бинарным образам.
Библиотека имеет встроенные средства для работы с так называемыми "Базами Данных Программы PDB",
содержащих отладочную информацию. Микрософт предоставляет такие базы данных для
всех (почти) исполняемых образов ОС WINDOWS и большинства своих прикладных программ.

Библиотека имеет встроенные средства для Анализа Машинного Кода.
В результате этого анализа формируются собственная база данных для бинарных образов.
В частности выделяются функции и формируются полные перекрестные ссылки.

На текущий момент библиотека умеет работать как с 32-битными, так и с 64-битными исполняемыми образами.

Анализатор кода поддерживает большинство существующих процессоров, хотя это очевидно и излишний функционал,
излишность обусловлена работой только с бинарными образами OC WINDOWS.

Библиотека IMAGELIB использует модифицированную опенсорсную библиотеку CAPSTONE,
модификация сделана для возможности РЕДАКТИРОВАНИЯ машинных команд.

Библиотека написана за 2 месяца для адаптации одного ну уж очень объёмного сетевого драйвера.
На текущий момент в ней реализован только необходимый для этой конкретной задачи функционал.
Я буду только рад если кто-то дополнит ее функционалом под свои нужды.
Естественно хотелось бы чтобы все это выкладывалось для свободного доступа. :)

=========

    Документацию буду писать и выкладывать :) Но пока есть только комментарии в коде.

    Чтобы собрать библиотеку и примеры запустите из "VS2015 x64 Native Tools Command Prompt" коммандный
    файл "build.cmd". В результате библиотека будет собрана, и запущенны тесты. Результаты надо смотреть
    в папке OutBin. В соответствующих конфигурации папках (x64 и Win32) вы найдете файлы "ImageMerge.log"
    и "target.log".
    Файл  "ImageMerge.log" это лог работы демонстрационной программы, а в "targer.log" результаты работы
    СОЗДАННОГО нового образа.

Источник: rsdn.org
 
Верх Низ