Open
Close

Справка по pe explorer на русском. PE (Portable Executable): На странных берегах

Typedef struct _IMAGE_FILE_HEADER { WORD Machine; WORD NumberOfSections; DWORD TimeDateStamp; DWORD PointerToSymbolTable; DWORD NumberOfSymbols; WORD SizeOfOptionalHeader; WORD Characteristics; } IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;
Я лишь сухо опишу данные поля, т.к. названия интуитивно понятные и представляют из себя непосредственные значения, а не VA, RVA, RAW и прочие страшные интригующие штуки, о которых пока, мы только слышали от старых пиратов. Хотя с RAW мы уже сталкивались - это как раз смещения относительно начала файла (их ещё называют сырыми указателями или file offset). То есть если мы имеем RAW адрес, это значит что нужно шагнуть от начала файла на RAW позиций (ptrFile + RAW). После можно начинать читать значения. Ярким примером данного вида является e_lfnew - что мы рассмотрели выше в Dos заголовке.

*Machine : WORD - это число (2 байта) задаёт архитектуру процессора, на которой данное приложение может выполняться.
NumberOfSections : DWORD - количество секций в файле. Секции (в дальнейшем будем называть таблицей секций) следуют сразу после заголовка (PE-Header). В документации сказано что количество секций ограничено числом 96.
TimeDateStamp : WORD - число хранящее дату и время создания файла.
PointerToSymbolTable : DWORD - смещение (RAW) до таблицы символов, а SizeOfOptionalHeader - это размер данной таблицы. Данная таблица призвана служить для хранения отладочной информации, но отряд не заметил потери бойца с самого начала службы. Чаще всего это поле зачищается нулями.
SIzeOfOptionHeader : WORD - размер опционального заголовка (что следует сразу за текущим) В документации указано, что для объектного файла он устанавливается в 0…
*Characteristics : WORD - характеристики файла.

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

Оставим этот остров! Нам нужно двигаться дальше. Ориентир - страна под названием Optional-Header.

“- Где карта, Билли? Мне нужна карта.”
(Остров сокровищ)

Optional-Header (IMAGE_OPTIONAL_HEADER)

Название сего материка заголовка не очень удачное. Этот заголовок является обязательным и имеет 2 формата PE32 и PE32+ (IMAGE_OPTIONAL_HEADER32 и IMAGE_OPTIONAL_HEADER64 соответственно). Формат хранится в поле Magic : WORD. Заголовок содержит необходимую информацию для загрузки файла. Как всегда :

IMAGE_OPTIONAL_HEADER

typedef struct _IMAGE_OPTIONAL_HEADER { WORD Magic; BYTE MajorLinkerVersion; BYTE MinorLinkerVersion; DWORD SizeOfCode; DWORD SizeOfInitializedData; DWORD SizeOfUninitializedData; DWORD AddressOfEntryPoint; DWORD BaseOfCode; DWORD BaseOfData; DWORD ImageBase; DWORD SectionAlignment; DWORD FileAlignment; WORD MajorOperatingSystemVersion; WORD MinorOperatingSystemVersion; WORD MajorImageVersion; WORD MinorImageVersion; WORD MajorSubsystemVersion; WORD MinorSubsystemVersion; DWORD Win32VersionValue; DWORD SizeOfImage; DWORD SizeOfHeaders; DWORD CheckSum; WORD Subsystem; WORD DllCharacteristics; DWORD SizeOfStackReserve; DWORD SizeOfStackCommit; DWORD SizeOfHeapReserve; DWORD SizeOfHeapCommit; DWORD LoaderFlags; DWORD NumberOfRvaAndSizes; IMAGE_DATA_DIRECTORY DataDirectory; } IMAGE_OPTIONAL_HEADE R, *PIMAGE_OPTIONAL_HEADER;


* Как всегда, мы изучим только основные поля, которые имеют наибольшее влияние на представление о загрузке и того, как двигаться дальше по файлу. Давайте условимся - в полях данной структуры, содержаться значения с VA (Virtual address) и RVA (Relative virtual address) адресами. Это уже адреса не такие как RAW, и их нужно уметь читать (точнее считать). Мы непременно научимся это делать, но только для начала разберём структуры, которые идут друг за другом, чтобы не запутаться. Пока просто запомните - это адреса, которые после расчётов, указывают на определённое место в файле. Также встретится новое понятие - выравнивание. Его мы рассмотрим в купе с RVA адресами, т.к. эти они довольно тесно связаны.

AddressOfEntryPoint : DWORD - RVA адрес точки входа. Может указывать в любую точку адресного пространства. Для.exe файлов точка входа соответствует адресу, с которого программа начинает выполняться и не может равняться нулю!
BaseOfCode : DWORD - RVA начала кода программы (секции кода).
BaseOfData : DWORD - RVA начала кода программы (секции данных).
ImageBase : DWORD - предпочтительный базовый адрес загрузки программы. Должен быть кратен 64кб. В большистве случаев равен 0x00400000.
SectionAligment : DWORD - размер выравнивания (байты) секции при выгрузке в виртуальную память.
FileAligment : DWORD - размер выравнивания (байты) секции внутри файла.
SizeOfImage : DWORD - размер файла (в байтах) в памяти, включая все заголовки. Должен быть кратен SectionAligment.
SizeOfHeaders : DWORD - размер всех заголовков (DOS, DOS-Stub, PE, Section) выравненный на FileAligment.
NumberOfRvaAndSizes : DWORD - количество каталогов в таблице директорий (ниже сама таблица). На данный момент это поле всегда равно символической константе IMAGE_NUMBEROF_DIRECTORY_ENTRIES, которая равна 16-ти.
DataDirectory : IMAGE_DATA_DIRECTORY - каталог данных. Проще говоря это массив (размером 16), каждый элемент которого содержит структуру из 2-ух DWORD-ых значений.

Рассмотрим что из себя представляет структура IMAGE_DATA_DIRECTORY :

Typedef struct _IMAGE_DATA_DIRECTORY { DWORD VirtualAddress; DWORD Size; } IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;
Что мы имеем? Мы имеем массив из 16 элементов, каждый элемент которого, содержит адрес и размер (чего? как? зачем? всё через минуту). Встаёт вопрос чего именно это характеристики. Для этого, у microsoft имеется специальные константы для соответствия. Их можно увидеть в самом конце описания структуры. А пока:

// Directory Entries #define IMAGE_DIRECTORY_ENTRY_EXPORT 0 // Export Directory #define IMAGE_DIRECTORY_ENTRY_IMPORT 1 // Import Directory #define IMAGE_DIRECTORY_ENTRY_RESOURCE 2 // Resource Directory #define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3 // Exception Directory #define IMAGE_DIRECTORY_ENTRY_SECURITY 4 // Security Directory #define IMAGE_DIRECTORY_ENTRY_BASERELOC 5 // Base Relocation Table #define IMAGE_DIRECTORY_ENTRY_DEBUG 6 // Debug Directory // IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7 // (X86 usage) #define IMAGE_DIRECTORY_ENTRY_ARCHITECTURE 7 // Architecture Specific Data #define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8 // RVA of GP #define IMAGE_DIRECTORY_ENTRY_TLS 9 // TLS Directory #define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10 // Load Configuration Directory #define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11 // Bound Import Directory in headers #define IMAGE_DIRECTORY_ENTRY_IAT 12 // Import Address Table #define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT 13 // Delay Load Import Descriptors #define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR 14 // COM Runtime descriptor
Ага! Мы видим, что каждый элемент массива, отвечает за прикреплённую к нему таблицу. Но увы и ах, пока эти берега недосягаемы для нас, т.к. мы не умеем работаться с VA и RVA адресами. А для того чтобы научиться, нам нужно изучить что такое секции. Именно они расскажут о своей структуре и работе, после чего станет понятно для чего нужны VA, RVA и выравнивания. В рамках данной статьи, мы затронем только экспорт и иморт. Предназначение остальных полей можно найти в оф. документации, либо в книжках. Так вот. Собственно поля:

VirtualAddress : DWORD - RVA на таблицу, которой соответствует элемент массива.
Size : DWORD - размер таблицы в байтах.

Итак! Чтобы добраться до таких экзотических берегов как таблицы импорта, экспорта, ресурсов и прочих, нам необходимо пройти квест с секциями. Ну что ж юнга, взглянем на общую карту, определим где мы сейчас находимся и будем двигаться дальше:

А находимся мы не посредственно перед широкими просторами секций. Нам нужно непременно выпытать что они таят и разобраться уже наконец с другим видом адресации. Нам хочется настоящих приключений! Мы хотим поскорее отправится к таким республикам как таблицы импорта и экспорта. Старые пираты говаривают, что не каждый смог до них добраться, а тот кто добрался вернулся -с золотом и женщинами со священными знаниями об океане. Отчаливаем и держим путь на Section header.

“- Ты низложен, Сильвер! Слезай с бочки!”
(Остров сокровищ)

Section-header (IMAGE_SECTION_HEADER)


Сразу за массивом DataDirectory друг за другом идут секции. Таблица секций представляет из себя суверенное государство, которое делится на NumberOfSections городов. Каждый город имеет своё ремесло, свои права, а также размер в 0x28 байт. Количество секций указано в поле NumberOfSections , что хранится в File-header-е. Итак, рассмотрим структуру :

Typedef struct _IMAGE_SECTION_HEADER { BYTE Name; union { DWORD PhysicalAddress; DWORD VirtualSize; } Misc; DWORD VirtualAddress; DWORD SizeOfRawData; DWORD PointerToRawData; DWORD PointerToRelocations; DWORD PointerToLinenumbers; WORD NumberOfRelocations; WORD NumberOfLinenumbers; DWORD Characteristics; } IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER;
Name : BYTE - название секции. На данный момент имеет длину в 8 символов.
VirtualSize : DWORD - размер секции в виртуальной памяти.
SizeOfRawData : DWORD - размер секции в файле.
VirtualAddress : DWORD - RVA адрес секции.
SizeOfRawData : DWORD - размер секции в файле. Должен быть кратен FileAligment .
PointerToRawData : DWORD - RAW смещение до начала секции. Также должен быть кратен FileAligment
Characteristics : DWORD - атрибуты доступа к секции и правила для её загрузки в вирт. память. Например атрибут для определения содержимого секции (иниц. данные, не инициал. данные, код). Или атрибуты доступа - чтение, запись, исполнение. Это не весь их спектр. Характеристики задаются константами из того-же WINNT.h, которые начинаются с IMAGE_SCN_. Более подробно ознакомится с атрибутами секций можно . Также хорошо описаны атрибуты в книгах Криса Касперски - список литературы в конце статьи.

По поводу имени следует запомнить следующее - секция с ресурсам, всегда должна иметь имя.rsrc. В противном случае ресурсы не будут подгружены. Что касается остальных секций - то имя может быть любым. Обычно встречаются осмысленные имена, например.data, .src и т.д… Но бывает и такое:

Секции, это такая область, которая выгружается в виртуальную память и вся работа происходит непосредственно с этими данными. Адрес в виртуальной памяти, без всяких смещений называется Virtual address, сокращённо VA. Предпочитаемый адрес для загрузки приложения, задаётся в поле ImageBase . Это как точка, с которой начинается область приложения в виртуальной памяти. И относительно этой точки отсчитываются смещения RVA (Relative virtual address). То есть VA = ImageBase + RVA; ImageBase нам всегда известно и получив в своё распоряжение VA или RVA, мы можем выразить одно через другое.

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

Выравнивание


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

Как можно заметить, секция выгружается в память не по своему размеру. Здесь используются выравнивания. Это значение, которому должны быть кратен размер секции в памяти. Если посмотреть на схему, то мы увидим, что размер секции 0x28, а выгружается в размере 0x50. Это происходит из-за размера выравнивания. 0x28 “не дотягивает” до 0x50 и как следствие, будет выгружена секция, а остальное пространство в размере 0x50-0x28 занулится. А если размер секции был бы больше размера выравнивания, то что? Например sectionSize = 0x78, а sectionAligment = 0x50, т.е. остался без изменений. В таком случае, секция занимала бы в памяти 0xA0 (0xA0 = 0x28 * 0x04) байт. То есть значение которое кратно sectionAligment и полностью кроет sectionSize . Следует отметить, что секции в файле выравниваются аналогичным образом, только на размер FileAligment . Получив необходимую базу, мы можем разобраться с тем, как конвертировать из RVA в RAW.

“Здесь вам не равнина, здесь климат иной.”
(В.С. Высоцкий)

Небольшой урок арифметики


Перед тем как начать выполнение, какая то часть программы должна быть отправлена в адресное пространство процессора. Адресное пространство - это объём физически адресуемой процессором оперативной памяти. “Кусок” в адресном пространстве, куда выгружается программа называется виртуальным образом (virtual image). Образ характеризуется адресом базовой загрузки (Image base) и размером (Image size). Так вот VA (Virtual address) - это адрес относительно начала виртуальной памяти, а RVA (Relative Virtual Address) относительно места, куда была выгружена программа. Как узнать базовый адрес загрузки приложения? Для этого существует отдельное поле в опциональном заголовке под названием ImageBase . Это была небольшая прелюдия чтобы освежить в памяти. Теперь рассмотрим схематичное представление разных адресаций:

Дак как же всё таки прочитать информацию из файла, не выгружая его в виртуальную память? Для этого нужно конвертировать адреса в RAW формат. Тогда мы сможем внутри файла шагнуть на нужный нам участок и прочитать необходимые данные. Так как RVA - это адрес в виртуальной памяти, данные по которому были спроецированы из файла, то мы можем произвести обратный процесс. Для этого нам понадобится ключ девять на шестнадцать простая арифметика. Вот несколько формул:

VA = ImageBase + RVA; RAW = RVA - sectionRVA + rawSection; // rawSection - смещение до секции от начала файла // sectionRVA - RVA секции (это поле хранится внутри секции)
Как видно, чтобы высчитать RAW, нам нужно определить секцию, которой принадлежит RVA. Для этого нужно пройти по всем секциям и проверить следующие условие:

RVA >= sectionVitualAddress && RVA < ALIGN_UP(sectionVirtualSize, sectionAligment) // sectionAligment - выравнивание для секции. Значение можно узнать в Optional-header. // sectionVitualAddress - RVA секции - хранится непосредственно в секции // ALIGN_UP() - функция, определяющая сколько занимает секция в памяти, учитывая выравнивание
Сложив все пазлы, получим вот такой листинг:

Typedef uint32_t DWORD; typedef uint16_t WORD; typedef uint8_t BYTE; #define ALIGN_DOWN(x, align) (x & ~(align-1)) #define ALIGN_UP(x, align) ((x & (align-1))?ALIGN_DOWN(x,align)+align:x) // IMAGE_SECTION_HEADER sections; // init array sections int defSection(DWORD rva) { for (int i = 0; i < numberOfSection; ++i) { DWORD start = sections[i].VirtualAddress; DWORD end = start + ALIGN_UP(sections[i].VirtualSize, sectionAligment); if(rva >= start && rva < end) return i; } return -1; } DWORD rvaToOff(DWORD rva) { int indexSection = defSection(rva); if(indexSection != -1) return rva - sections.VirtualAddress + sections.PointerToRawData; else return 0; }
*Я не стал включать в код объявление типа, и инициализацию массива, а лишь предоставил функции, которые помогут при расчёте адресов. Как видите, код получился не очень сложным. Разве что малость запутанным. Это проходит… если уделить ещё немного времени колупанию в.exe через дизассемблер.

УРА! Разобрались. Теперь мы можем отправится в края ресурсов, библиотек импорта и экспорта и вообще куда душа желает. Мы ведь только что научились работать с новым видом адресации. В путь!

“-Неплохо, неплохо! Всё же они получили свой паёк на сегодня!”
(Остров сокровищ)

Export table


В самом первом элементе массива DataDirectory хранится RVA на таблицу экспорта, которая представлена структурой IMAGE_EXPORT_DIRECTORY. Эта таблица свойственна файлам динамических библиотек (.dll). Основной задачей таблицы является связь экспортируемых функций с их RVA. Описание представлено в оф. спецификикации :

Typedef struct _IMAGE_EXPORT_DIRECTORY { DWORD Characteristics; DWORD TimeDateStamp; WORD MajorVersion; WORD MinorVersion; DWORD Name; DWORD Base; DWORD NumberOfFunctions; DWORD NumberOfNames; DWORD AddressOfFunctions; DWORD AddressOfNames; DWORD AddressOfNameOrdinals; } IMAGE_EXPORT_DIRECTORY,*PIMAGE_EXPORT_DIRECTORY;
Эта структура содержит три указателя на три разные таблицы. Это таблица имён (функций) (AddressOfNames ), ординалов(AddressOfNamesOrdinals ), адресов(AddressOfFunctions ). В поле Name хранится RVA имени динамической библиотеки. Ординал - это как посредник, между таблицей имён и таблицей адресов, и представляет из себя массив индексов (размер индекса равен 2 байта). Для большей наглядности рассмотрим схему:

Рассмотрим пример. Допустим i-ый элемент массива имён указывает на название функции. Тогда адрес этой функции можно получить обратившись к i-му элементу в массиве адресов. Т.е. i - это ординал.

Внимание! Если вы взяли к примеру 2-ой элемент в таблице ординалов, это не значит 2 - это ординал для таблиц имён и адресов. Индексом является значение, хранящееся во втором элементе массива ординалов.

Количество значений в таблицах имён (NumberOfNames ) и ординалов равны и не всегда совпадают с количеством элементов в таблице адресов (NumberOfFunctions ).

“За мной пришли. Спасибо за внимание. Сейчас, должно быть, будут убивать!”
(Остров сокровищ)

Import table


Таблица импорта неотъемлемая часть любого приложения, которая использует динамические библиотеки. Данная таблица помогает соотнести вызовы функций динамических библиотек с соответствующими адресами. Импорт может происходить в трёх разных режимах: стандартный, связывающем (bound import) и отложенном (delay import). Т.к. тема иморта достаточно многогранна и тянет на отдельную статью, я опишу только стандартный механизм, а остальные опишу только «скелетом».

Стандартный импорт - в DataDirectory под индексом IMAGE_DIRECTORY_ENTRY_IMPORT(=1) хранится таблица импорта. Она представляет собой массив из элементов типа IMAGE_IMPORT_DESCRIPTOR. Таблица импорта хранит (массивом) имена функций/ординалов и в какое место загрузчик должен записать эффективный адрес этой функций. Этот механизм не очень эффективен, т.к. откровенно говоря всё сводится к перебору всей таблицы экспорта для каждой необходимой функции.

Bound import - при данной схеме работы в поля (в первом элементе стандартной таблицы импорта) TimeDateStamp и ForwardChain заносится -1 и информация о связывании хранится в ячейке DataDirectory с индексом IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT(=11). То есть это своего рода флаг загрузчику о том что нужно использовать bound import. Так же для «цепочки bound импорта» фигурируют свои структуры. Алгоритм работы заключается в следующем - в виртуальную память приложения выгружается необходимая библиотека и все необходимые адреса «биндятся» ещё на этапе компиляции. Из недостатоков можно отметить то, что при перекомпиляции dll, нужно будет перекомпилировать само приложение, т.к. адреса функций будут изменены.

Delay import - при данном методе подразумевается что.dll файл прикреплён к исполняемому, но в память выгружается не сразу (как в предыдущих двух методах), а только при первом обращении приложения к символу (так называют выгружаемые элементы из динамических библиотек). То есть программа выполняется в памяти и как только процесс дошёл до вызова функции из динамической библиотеки, то вызывается специальный обработчик, который подгружает dll и разносит эффективные адреса её функций. За отложенным импортом загрузчик обращается к DataDirectory (элемент с номером 15).

Малость осветив методы импорта, перейдём непосредственно к таблице импорта.

“-Это моряк! Одежда у него была морская. - Да ну? А ты думал найти здесь епископа?”
(Остров сокровищ - Джон Сильвер)

Import-descriptor (IMAGE_IMPORT_DESCRIPTOR)


Для того чтобы узнать координаты таблицы импорта, нам нужно обратиться к массиву DataDirectory . А именно к элементу IMAGE_DIRECTORY_ENTRY_IMPORT (=1). И прочитать RVA адрес таблицы. Вот общая схема пути, который требуется проделать:

Затем из RVA получаем RAW, в соответствии с формулами приведёнными выше, и затем “шагаем” по файлу. Теперь мы впритык перед массивом структур под названием IMAGE_IMPORT_DESCRIPTOR. Признаком конца массива служит “нулевая” структура.

Typedef struct _IMAGE_IMPORT_DESCRIPTOR { union { DWORD Characteristics; DWORD OriginalFirstThunk; } DUMMYUNIONNAME; DWORD TimeDateStamp; DWORD ForwarderChain; DWORD Name; DWORD FirstThunk; } IMAGE_IMPORT_DESCRIPTOR,*PIMAGE_IMPORT_DESCRIPTOR;
Я не смог выудить на msdn ссылку на описание структуры, но вы можете наблюдать её в файле WINNT.h. Начнём разбираться.

OriginalFirstThunk : DWORD - RVA таблицы имён импорта (INT).
TimeDateStamp : DWORD - дата и время.
ForwarderChain : DWORD - индекс первого переправленного символа.
Name : DWORD - RVA строки с именем библиотеки.
FirstThunk : DWORD - RVA таблицы адресов импорта (IAT).

Тут всё несколько похоже на экспорт. Также таблица имён (INT) и и тоже рубище на нём адресов (IAT). Также RVA имени библиотеки. Только вот INT и IAT ссылаются на массив структур IMAGE_THUNK_DATA. Она представлена в двух формах - для 64- и для 32-ый систем и различаются только размером полей. Рассмотрим на примере x86:

Typedef struct _IMAGE_THUNK_DATA32 { union { DWORD ForwarderString; DWORD Function; DWORD Ordinal; DWORD AddressOfData; } u1; } IMAGE_THUNK_DATA32,*PIMAGE_THUNK_DATA32;
Важно ответить, что дальнейшие действия зависят от старшего бита структуры. Если он установлен, то оставшиеся биты представляют из себя номер импортируемого символа (импорт по номеру). В противном случае (старший бит сброшен) оставшиеся биты задают RVA импортируемого символа (импорт по имени). Если мы имеем импорт по имени, то указатель хранит адрес на следующую структуру:

Typedef struct _IMAGE_IMPORT_BY_NAME { WORD Hint; BYTE Name; } IMAGE_IMPORT_BY_NAME, *PIMAGE_IMPORT_BY_NAME;
Здесь Hint - это номер функции, а Name - имя.

Для чего это всё? Все эти массивы, структуры… Рассмотрим для наглядности замечательную схему с

Резюме файла PE

Файлы PE связаны с три типом (-ами) файлов, и их можно просматривать с помощью Microsoft Windows , разработанного Microsoft Corporation . В целом, этот формат связан с три существующим (-и) прикладным (-и) программным (-и) средством (-ами). Обычно они имеют формат Portable Executable File . Эти файлы классифицируют на Executable Files , Plugin Files и Data Files. Основная часть файлов относится к Executable Files .

Расширение файла PE можно просмотреть с помощью Windows. Они поддерживаются в основном настольными компьютерами и некоторыми мобильными платформами. Рейтинг популярности файлов PE составляет «Низкий», что означает, что данные файлы встречаются редко.

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

Популярность типов файлов
Ранг Файла

Активность

Этот тип файлов по-прежнему сохранил актуальность и активно используется разработчиками и прикладными программными средствами. Хотя оригинальное программное обеспечение этого типа файлов может отодвигаться на второй план более новой версией (например. Excel 97 против Office 365), этот тип файлов по-прежнему активно поддерживается текущей версией программного обеспечения. Этот процесс взаимодействия со старой операционной системой или устаревшей версией программного обеспечения также известен как «обратная совместимость ».

Статус файла
Страница Последнее обновление


Типы файлов PE

Ассоциация основного файла PE

Программа исполняемый файл, который является переносимым для всех операционных систем Microsoft 32-разрядных, может быть выполнен в любой версии Windows NT, Windows 95 и Win32s.


Ассоциации других файлов PE

Вставные файл, связанный с Privacy Eraser, Интернет Eraser, который защищает интернет конфиденциальность, очищая все следы Интернет и компьютерной деятельности.

Файл данных сохраняется в текстовом формате магазинах планетарные данные эфемерид для набора систем Tool (СТК), основанная на физике геометрии двигателя, разработанной аналитической графики.


Попробуйте универсальное средство для просмотра файлов

В дополнение к продуктам, перечисленным выше, мы предлагаем вам попробовать универсальное средство для просмотра файлов типа FileViewPro. Данное средство может открывать более 200 различных типов файлов, предоставляя функции редактирования для большинства из них.

Лицензия | | Условия |


Устранение неполадок при открытии файлов PE

Общие проблемы с открытием файлов PE

Microsoft Windows не установлен

Дважды щелкнув по файлу PE вы можете увидеть системное диалоговое окно, в котором сообщается «Не удается открыть этот тип файла» . В этом случае обычно это связано с тем, что на вашем компьютере не установлено Microsoft Windows для %%os%% . Так как ваша операционная система не знает, что делать с этим файлом, вы не сможете открыть его дважды щелкнув на него.


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

Установлена неправильная версия Microsoft Windows

В некоторых случаях у вас может быть более новая (или более старая) версия файла Portable Executable File, не поддерживаемая установленной версией приложения . При отсутствии правильной версии ПО Microsoft Windows (или любой из других программ, перечисленных выше), может потребоваться загрузить другую версию ПО или одного из других прикладных программных средств, перечисленных выше. Такая проблема чаще всего возникает при работе в более старой версии прикладного программного средства с файлом, созданным в более новой версии , который старая версия не может распознать.


Совет: Иногда вы можете получить общее представление о версии файла PE, щелкнув правой кнопкой мыши на файл, а затем выбрав «Свойства» (Windows) или «Получить информацию» (Mac OSX).


Резюме: В любом случае, большинство проблем, возникающих во время открытия файлов PE, связаны с отсутствием на вашем компьютере установленного правильного прикладного программного средства.

Установить необязательные продукты - FileViewPro (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия |


Другие причины проблем с открытием файлов PE

Даже если на вашем компьютере уже установлено Microsoft Windows или другое программное обеспечение, связанное с PE, вы все равно можете столкнуться с проблемами во время открытия файлов Portable Executable File. Если проблемы открытия файлов PE до сих пор не устранены, возможно, причина кроется в других проблемах, не позволяющих открыть эти файлы . Такие проблемы включают (представлены в порядке от наиболее до наименее распространенных):

  • Неверные ссылки на файлы PE в реестре Windows («телефонная книга» операционной системы Windows)
  • Случайное удаление описания файла PE в реестре Windows
  • Неполная или неправильная установка прикладного программного средства, связанного с форматом PE
  • Повреждение файла PE (проблемы с самим файлом Portable Executable File)
  • Заражение PE вредоносным ПО
  • Повреждены или устарели драйверы устройств оборудования, связанного с файлом PE
  • Отсутствие на компьютере достаточных системных ресурсов для открытия формата Portable Executable File

Опрос: Как часто вы сталкиваетесь с расширением файла, который вы не признаете?


Лучшие бренды мобильных устройств

Samsung (28.86%)
Apple (21.83%)
Huawei (9.25%)
Xiaomi (6.74%)
LG (3.11%)

Событие дня

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



Как исправить проблемы с открытием файлов PE

При наличии на компьютере установленной антивирусной программы можносканировать все файлы на компьютере, а также каждый файл в отдельности . Можно выполнить сканирование любого файла, щелкнув правой кнопкой мыши на файл и выбрав соответствующую опцию для выполнения проверки файла на наличие вирусов.

Например, на данном рисунке выделен файл my-file.pe , далее необходимо щелкнуть правой кнопкой мыши по этому файлу, и в меню файла выбрать опцию «сканировать с помощью AVG» . При выборе данного параметра откроется AVG Antivirus, который выполнит проверку данного файла на наличие вирусов.


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

Иногда простая переустановка Microsoft Windows может решить вашу проблему, правильно связав PE с Microsoft Windows. В других случаях проблемы с файловыми ассоциациями могут возникнуть в результате плохого программирования программного обеспечения разработчиком, и вам может потребоваться связаться с разработчиком для получения дополнительной помощи.


Совет: Попробуйте обновить Microsoft Windows до последней версии, чтобы убедиться, что установлены последние исправления и обновления.


Это может показаться слишком очевидным, но зачастую непосредственно сам файл PE может являться причиной проблемы . Если вы получили файл через вложение электронной почты или загрузили его с веб-сайта, и процесс загрузки был прерван (например, отключение питания или по другой причине), файл может повредиться . Если возможно, попробуйте получить новую копию файла PE и попытайтесь открыть его снова.


Осторожно: Поврежденный файл может повлечь за собой возникновение сопутствующего ущерба предыдущей или уже существующей вредоносной программы на вашем ПК, поэтому очень важно, чтобы на вашем компьютере постоянно работал обновленный антивирус.


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

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


Совет: Если при попытке открыть файл PE вы получаете сообщение об ошибке, связанной с.SYS file , проблема, вероятно, может быть связана с поврежденными или устаревшими драйверами устройств , которые необходимо обновить. Данный процесс можно облегчить посредством использования программного обеспечения для обновления драйверов, такого как DriverDoc .


Если шаги не решили проблему , и у вас все еще возникают проблемы с открытием файлов PE, это может быть связано с отсутствием доступных системных ресурсов . Для некоторых версий файлов PE могут потребоваться значительный объем ресурсов (например, память/ОЗУ, вычислительная мощность) для надлежащего открытия на вашем компьютере. Такая проблема встречается достаточно часто, если вы используете достаточно старое компьютерное аппаратное обеспечение и одновременно гораздо более новую операционную систему.

Такая проблема может возникнуть, когда компьютеру трудно справиться с заданием, так как операционная система (и другие службы, работающие в фоновом режиме) могут потреблять слишком много ресурсов для открытия файла PE . Попробуйте закрыть все приложения на вашем ПК, прежде чем открывать Portable Executable File. Освободив все доступные ресурсы на вашем компьютере вы обеспечите налучшие условия для попытки открыть файл PE.


Если вы выполнили все описанные выше шаги , а ваш файл PE по-прежнему не открывается, может потребоваться выполнить обновление оборудования . В большинстве случаев, даже при использовании старых версий оборудования, вычислительная мощность может по-прежнему быть более чем достаточной для большинства пользовательских приложений (если вы не выполняете много ресурсоемкой работы процессора, такой как 3D-рендеринг, финансовое/научное моделирование или интенсивная мультимедийная работа). Таким образом, вполне вероятно, что вашему компьютеру не хватает необходимого объема памяти (чаще называемой «ОЗУ», или оперативной памятью) для выполнения задачи открытия файла.

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


Установить необязательные продукты - FileViewPro (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия |


28
фев
2012

PE Explorer 1.99 R6 RePack

Год выпуска: 2011
Жанр: Редактор файлов
Разработчик: Heaventools Software
Сайт разработчика: http://www.heaventools.ru
Язык интерфейса: Русский
Тип сборки: RePack
Разрядность: 32/64-bit
Операционная система: Windows XP, Vista, 7
Системные требования: Процессор Intel Pentium® или AMD K5 166 MHz, 16 MB RAM

Описание: PE Explorer - это программа для просмотра, изучения, анализа и редактирования внутреннего устройства исполняемых файлов. С помощью PE Explorer вы можете исследовать как свои собственные программы и библиотеки, так и приложения от сторонних разработчиков, к чьим исходным текстам у вас нет доступа. Сюда же относится изучение устройства вирусов, троянов и прочих вредоносных программ.
PE Explorer позволяет открывать, смотреть и редактировать 32-битные PE (Portable Executable) файлы для Windows любого типа: EXE, DLL и ActiveX, SCR (скринсейверы), CPL (Control Panel Applets), SYS, DRV, MSSTYLES, MUI, BPL, DPL, и многие другие.

* Смотреть, что находится внутри исполняемых файлов и для чего они предназначены
* Изменять и кастомизировать элементы графического интерфейса программ
* Определять, куда обращается приложение и какие из него вызываются DLL библиотеки
* Предсказать поведение программы и логику взаимодействия с другими модулями
* Проверить наличие и целостность цифровой подписи у файла, верифицировать поставщика
* Получить подсказку о параметрах функций, экспортируемых из системных библиотек
* Напрямую открывать файлы, запакованные UPX, UPack или NSPack
* Особая поддержка для приложений, написанных на Delphi

* Редактор заголовков и секций
* Редактор ресурсов
* Средство просмотра списка экспортируемых/импортируемых функций и их параметров
* Дизассемблер
* Сканнер зависимостей
* Вьювер цифровой подписи
* Статические распаковщики UPX, UPack и NSPack
* И многое другое

Возможность работы с поврежденными файлами в безопасном режиме
- Проверка интеграции исполняемого файла
- Автоматическая распаковка файлов, упакованных UPX, WinUpack, NSPack
- Сохранение изменений в виде новых исполняемых файлов
- Дизассемблер для восстановления первичного кода исполняемого файла
- Анализатор зависимостей для определения минимального набора необходимых для файла библиотек
- Средство удаления отладочной информации, заключенной внутри файла
- Средство удаления таблиц исправлений
- Исправлены ошибки возникавшие при просмотре файлов в Windows Vista и устранены мелкие баги.



25
апр
2011

UFS Explorer Professional Recovery 3.19.1 RePack

Год выпуска: 2011
Жанр: Восстановление данных







21
апр
2017

Fraps 3.5.99 Build 15618 RePack by D!akov

Год выпуска: 2016
Жанр: Снятие скриншотов, захват экрана, FPS
Сайт разработчика: fraps.com
Язык интерфейса: Русский
Тип сборки: RePack
Разрядность: 32/64-bit
Системные требования: Windows XP | Vista | 7| 8| 10
Описание: Fraps - предназначена для подсчета количества FPS (кадров в секунду) в приложениях, работающих в режимах OpenGL и Direct3D. Утилита умеет делать скриншоты и записывать видеоролики с изображением с экрана. Fraps состоит из трех модулей Benchmarking Software, Screen Capture Software, Realtime Video Capture Software. Benchmarking Software - показывает, сколько кадров в секунду (FP ...


07
апр
2016

Windows 10 PE by Ratiborus v.4.5.1 BootDVD 64-bit

Год выпуска: 2016
Жанр: Загрузочный диск Windows 10 PE
Разработчик: Ru.Board
Сайт разработчика: https://href.li/?http://forum.ru-board.com/topic.cgi?forum=2&topic=5328#1
Язык интерфейса: Русский
Тип сборки: BootDVD
Разрядность: 64-bit
Операционная система: Windows)
Системные требования: Processor: 1 GHz or faster RAM: 2 GB Screen resolution: 1024 x 768
Описание: Загрузочный диск на базе Windows 10 PE - для обслуживания компьютеров, работы с жесткими дисками и разделами, резервного копирования и восстановления дисков и разделов, диагностики компьютера, восстановления данных. Доп. инфор...


21
фев
2011

Minecraft World Explorer 1.4

Год выпуска: 2010
Жанр: Arcade
Разработчик: Robots and Pencils Inc.
Сайт разработчика: http://hq.robotsandpencils.com/
Язык интерфейса: Русский
Платформа: iPhone
Системные требования: iOS 3.2 и выше
Описание: Minecraft безумно затягивающая игра - легко начать, но невозможно остановить. Наконец, вы можете создавать, играть и изучить 3D-миры на Ваших IPad и iPhone.


05
апр
2011

Deepnet Explorer 1.5.3 Beta + RUS

Год выпуска: 2006
Жанр: Браузер
Разработчик: Deepnet Security
Сайт разработчика: http://www.deepnetexplorer.com/
Язык интерфейса: Английский + Русский
Платформа: Windows XP, Vista, 7
Описание: Deepnet Explorer - это первый в мире браузер с RSS News Reader, P2P клиента интеграции и фишинг тревоги. браузера превосходную безопасность, функциональность и удобство использования, до сих пор делают Deepnet выделиться из толпы. Переключитесь на опыт просмотра, как никогда раньше. Доп.информацияDeepnet Explorer является одним из самых безопасных веб-браузеров. Хотя Deepnet Explorer использования IE ...


26
фев
2008

My Phone Explorer 1.6.2 RUS (Новая версия) (2007)

Год выпуска: 2007
Жанр: программа для мобильного телефона developer: F.J. WESHSELBERGER
Издательство: MadMax
Тип издания: пиратка
Язык интерфейса: только русский
Лекарство: Не требуется
Платформа: PC
Системные требования: Windows 95,98,2000,me, XP,VISTA ,16 MB RAM
Описание: Самая мощная программа для управления телефоном. Имеет файловый менеджер, редакторы смс, телефонной книги, профилей и т.п. Также умеет сохранять резервные копии всего что есть в телефоне и соответственно востанавливать из резервных копий. Умеет синхронизироваться с Outlook. В общем возможности очень большие. В теории должн...


07
мар
2011

DiskSpace Explorer 3.0.1.328 Home Edition

Версия: 3.0.1.328
Год выпуска: 2004
Жанр: Каталогизатор
Разработчик: EAST Technologies
Сайт разработчика: http://www.east-tec.com
Язык интерфейса: Английский
Платформа: Windows 95, 98, Me, 2000, XP, 2003, Vista, 2008, 7
Системные требования: Процессор Pentium II, 200Мгц, 1Мб места на диске
Описание: Программа строит круговые диаграммы файловой системы. Это позволит вам увидеть в каких папках лежит много тяжелых файлов, что сильно помогает при чистке винчестера от старого хлама. Crack прилагается.
Доп. информация: Запускаем установщик. После установки кидаем патч в папку с программой, запускаем...


16
мар
2012

TechSmith Camtasia Studio 7.1.1.1785 + Lite RePack + Portable + RePack

Год выпуска: 2011
Жанр: Захват экрана, изображения
Разработчик: TechSmith Corporation
Сайт разработчика: http://www.techsmith.com/
Язык интерфейса: Русский + Английский
Тип сборки: Standard + Portable + RePack
Разрядность: 32-bit
Операционная система: Windows XP, Vista, 7
Системные требования: Microsoft DirectX 9 or later version 1.5 GHz, single-core minimum ~ Recommended: Intel 2.0 GHz dual-core or better 1 GB RAM minimum ~ Recommended: 2.0 GB or more 500 MB of hard-disk space for program installation Display dimensions of 1024x768 or greater
Описание: Camtasia Studio - мощная программа для з...


07
сен
2012

XnView 1.99.1 Full + Portable

Год выпуска: 2012
Жанр: Графический редактор, конвертер
Разработчик: XnView
Сайт разработчика: http://www.xnview.com/

Тип сборки: Standard + Portable
Разрядность: 32/64-bit

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


10
ноя
2013

VSO ConvertXtoDVD 5.1.0.2 Final RePack RePack

Год выпуска: 2013
Жанр: Видео конвертер
Разработчик: VSO Software
Сайт разработчика: http://ru.vso-software.fr
Язык интерфейса: Мультиязычный (русский присутствует)
Тип сборки: RePack
Разрядность: 32/64-bit
Операционная система: Windows XP, Vista, 7, 8
Описание: VSO ConvertXtoDVD - программа, предназначенная для преобразования видео в формат, совместимый с DVD Video, и последующей записи содержимого на DVD. Программа поддерживает видео файлы AVI, Mpeg, Mpeg4, DivX, Xvid, MOV, WMV, WMV HD, DV, MKV, DVD, а также потоковое видео. Для работы программы не нужны внешние AVI-кодеки, поскольку она ис...


25
апр
2011

UFS Explorer Professional Recovery 3.19.1 32-bit/64-bit

Год выпуска: 2011
Жанр: Восстановление данных
Разработчик: SysDevSoftware, the Development & Research division of SysDev Laboratories LLC.
Сайт разработчика: http://www.ufsexplorer.com/
Язык интерфейса: Русский + Английский
Платформа: Windows 2000, XP, XP x64, 2003, 2003 x64, Vista, Vista x64, 2008, 2008 x64, 7, 7 x64
Системные требования: CPU: Pentium-совместимые, 32 и 64 битные.
Жесткий диск: 10MB свободного пространства.
Оперативная память: не менее 256MB.
Описание: UFS Explorer Professional Recovery - профессиональная версия программного продукта, являющегося мощным, всесторонним и легким...


25
апр
2011

UFS Explorer Standard Recovery 4.9.1 32-bit/64-bit

Год выпуска: 2011
Жанр: Восстановление данных
Разработчик: SysDevSoftware, the Development & Research division of SysDev Laboratories LLC.
Сайт разработчика: http://www.ufsexplorer.com/
Язык интерфейса: Русский + Английский
Платформа: Windows 2000, XP, XP x64, 2003, 2003 x64, Vista, Vista x64, 2008, 2008 x64, 7, 7 x64
Системные требования: CPU: Pentium-совместимые, 32 и 64 битные.
Жесткий диск: 10MB свободного пространства.
Оперативная память: не менее 256MB.
Описание: UFS Explorer Standard Recovery - полнофункциональный продукт, созданный специально для восстановления данных. Включает весь н...


30
сен
2017

Adobe InDesign CC 2017.1 12.1.0.56 RePack by KpoJIuK 12.1.0.56 RePack

Год выпуска: 2017
Жанр: Графический редактор
Разработчик: Adobe
Сайт разработчика: www.adobe.com
Язык интерфейса: Мультиязычный (русский присутствует)
Тип сборки: RePack
Разрядность: 64-bit
Операционная система: Windows 7, 8, 8.1, 10
Системные требования: Процессор Intel Pentium 4 или AMD Athlon 64 Microsoft Windows 7 с пакетом обновления SP1, Windows 8, Windows 8.1 или Windows 10 2 ГБ оперативной памяти (рекомендуется 8 ГБ) 2,6 ГБ свободного пространства на жестком диске для установки; дополнительное свободное пространство, необходимое для установки (не устанавливается на съемные устройства х...


22
июл
2017

AusLogics BoostSpeed 9.1.4.0 DC 14.07.2017 RePack (Portable) by elchupacabra 9.1.4.0 RePack

Год выпуска: 2017
Жанр: Оптимизация системы
Разработчик: Auslogics Software Pty Ltd.
Сайт разработчика: http://www.auslogics.com/ru/
Язык интерфейса: Русский + Английский
Тип сборки: RePack
Разрядность: 32/64-bit
Операционная система: Windows XP, Vista, 7, 8, 8.1, 10
Описание: Auslogics BoostSpeed - популярный набор инструментов для оптимизации и настройки вашей операционной системы. С помощью этой программы вы сможете значительно оптимизировать работу вашей системы, с легкостью настроить различные параметры Windows, очистить жесткий диск и системный реестр от мусора и ненужных записей, сдела...


05
фев
2017

Total Commander 9.0a Freemen 17.1 Repack by notn 9.00a final RePack

Год выпуска: 2017.02.03
Жанр: Файловый менеджер
Разработчик: Christian Ghisler
Сайт разработчика: http://www.ghisler.com/
Язык интерфейса: Мультиязычный (русский присутствует)
Тип сборки: RePack
Разрядность: 32/64-bit
Операционная система: Windows (XP,2003,Vista,2008,7,2012,8.x,10,2016)
Системные требования: Windows 7,8,10
Описание: Total Commander является самым мощным и стабильным файловым менеджером для Windows с удобным пользовательским интерфейсом. Total Commander продолжает добрую традицию двух-панельных файловых менеджеров, но отличается повышенным удобством и функциональностью, поддер...


Portable Executable (PE) — это формат исполняемых файлов, который появился уже достаточно давно и используется до сих пор на всех версиях ОС Windows. Сюда входят файлы с форматом *.exe, *.dll и другие, и такие файлы содержат в себе всю информацию о программе. Но любая программа может содержать в себе вирус, и перед установкой желательно знать, что же храниться за файлом с таким форматом. Это можно узнать с помощью PE Explorer.

PE Explorer — это программа, которая предназначена для просмотра и изменения всего, что содержится в файлах PE. Эту программу создавали и очень часто используют для обнаружения вирусов, но на этом ее полезные функции не ограничиваются. Например, ее можно использовать для того, чтобы удалить отладочную информацию или перевести на русский любую программу.

Во время сжатия программы, она обычно шифруется, чтобы пользователь или кто-нибудь еще не мог видеть всего, что происходит «за кулисами». Но PE Explorer это не останавливает, ведь благодаря специально написанному алгоритму он умеет расшифровывать эти файлы, и показывать все содержимое.

Просмотр заголовков

Как только вы открыли PE-файл в программе откроется просмотр заголовков. Здесь можно увидеть много интересного, но изменить ничего нельзя, да и не нужно.

Каталоги данных

Data Directories (каталоги данных) является важной частью любого исполняемого файл, потому что именно в этом массиве храниться информация о структурах (их размер, указатель на начало и т.д). Менять следует копии файлов, иначе может привести к необратимым последствиям.

Заголовки секции

Весь важный код приложения храниться в PE Explorer в разных секциях для большей упорядоченности. Так как в этом разделе содержаться все данные, то их можно менять, меняя их расположение. Если какие-то данные менять не следует, программа уведомит вас об этом.

Редактор ресурсов

Как известно, ресурсы являются неотъемлемой частью программы (иконки, формы, надписи). Но с помощью PE Explorer их можно менять. Таким образом, можно заменить у приложения иконку или перевести программу на русский язык. Здесь же можно сохранить ресурсы на компьютер.

Дизассемблер

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

Таблица импорта

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

Сканер зависимостей

Еще одно преимущество программы в борьбе с вирусами. Здесь можно увидеть зависимость с динамическими библиотеками, тем самым, распознав, несет угрозу вашему компьютеру это приложение или нет.

Преимущества программы

  1. Интуитивно понятная
  2. Возможность изменять ресурсы
  3. Позволяет узнать о вирусах в программе еще до запуска кода

Недостатки

  1. Отсутствие русификации
  2. Платная (бесплатная версия доступная лишь 30 дней)

PE Explorer является отличным инструментом, который позволит вам защитить от заражения вирусами ваш компьютер. Конечно, ее можно использовать и в другом направлении, добавив в совершенно безобидную программу опасный код, но это делать не рекомендуется. Кроме этого, из-за возможности менять ресурсы, можно добавить рекламу или перевести программу на русский язык.

Статья-обзор скопирована (нагло) с сайта fiks-ru.net

PEiD 0.95


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

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

DiE 0.65 Rus



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

ExeInfo PE 0.0.3.2

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

PE-Scan 3.31

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

Stud PE 2.6.1.0

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

File Format Identifier 1.4

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

Protection ID 0.6.4.1

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

RDG Packer Detector v.0.7.0


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

FastScanner v.3.0

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

Bit Detector 2.8.5.6

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

MiTeC EXE Explorer

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

The Ultimate Hellspawn"s EXE Analyzer 0.6

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

file insPEctor XL

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

SCANiT 1.85


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

PEPirate 0.51


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

gAPE 1.01

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

PeStudio 7.95


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

InspectExe


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

DNiD 1.0

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

A-Ray Scanner 2.0.2.2


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

ClonyXXL 2.0.1.5

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 и защиты, основанныю на нестандартном размещении информации на диске. По умолчанию интерфейс на немецком языке, но в настройках переключается на английский.