Модераторы: feodorv, GremlinProg, xvr, Fixin

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Анализ PE-заголовков 
:(
    Опции темы
Leksey
Дата 13.4.2006, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 12.12.2004

Репутация: 1
Всего: 1



Нужны примеры исходников на С/С++ для работы с Pe-заголовками.
PM MAIL   Вверх
_hunter
Дата 14.4.2006, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 13
Всего: 98



что понимается по "работой"?
в любом случае идем сюда. потом и вторую часть почитать можно будет...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Leksey
Дата 14.4.2006, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 12.12.2004

Репутация: 1
Всего: 1



Под работой я понимаю извлечение всякой полезной информации по типу таблиц экспорта,импорта.
За линк спасибо , информации по
Pe заголовкам у меня хватает.
Мне бы так чтобы самому как можно меньше писать...
PM MAIL   Вверх
4udo
Дата 21.4.2006, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: 1
Всего: -1



Leksey , очень спецовые исходники есть на 
                    http://vx.netlux.org 
в журналах 29-A. Там же адреса сайтов авторов исходников.
А так вот держи один исходничок от просветленного y0da.
 

Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  realignDLL.c 15,74 Kb
PM MAIL   Вверх
4udo
Дата 29.4.2006, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: 1
Всего: -1



Leksey,вот нашел ещё один исходник (авторство не знаю) ; это исходник полиморфного упаковщика exe-модулей....
Очень навороченный .........
Прицепить не реально - размер великоват.
Вот отсюда можно скачать: 
                                 
 http://www.wasm.ru/baixado.php?mode=tool&id=188  

Это сообщение отредактировал(а) 4udo - 29.4.2006, 09:45
PM MAIL   Вверх
4udo
Дата 30.4.2006, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: 1
Всего: -1



А этот вообще на С!!!!!!!!!!!!!!!!!!!
Coded by Cronos!!!!
Зацени...............  smile 
 

Это сообщение отредактировал(а) 4udo - 30.4.2006, 16:54

Присоединённый файл ( Кол-во скачиваний: 28 )
Присоединённый файл  peinfo.c 11,60 Kb
PM MAIL   Вверх
criz
Дата 27.3.2009, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 13.2.2008

Репутация: нет
Всего: нет



А как можно узнать параметры, переданные фукнции? Допустим, прочитал я таблицу импорта, узнал какие функции используются. Можно ли узнать переданные параметры?
PM MAIL WWW   Вверх
GoldFinch
Дата 27.3.2009, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 2
Всего: 26



criz, для этого есть отладчик и дизассемблер
PM MAIL ICQ   Вверх
Acer
Дата 27.3.2009, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: нет
Всего: 8



Вот тут хорошее описание PE заголовков
PM MAIL   Вверх
GremlinProg
Дата 27.3.2009, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



Цитата(criz @  27.3.2009,  21:26 Найти цитируемый пост)
А как можно узнать параметры, переданные фукнции?

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

функции, экспортированные и слинкованные как extern "C", в общем случае, такой информации в PE не предоставляют,
только общие соглашения: размер пула параметров, порядок параметров в стеке(прямой, обратный) и условие эпилога(выталкивать стек или нет на выходе)

в общем случае, это не надежный источник информации, поскольку переопределить любое объявление можно вручную без всяких условий декорирования (как, например, сделано в большинстве API), обычно используется информация из символьных БД
как правило, такие базы весят в десятки раз больше, приложений,которые они описывают, поэтому ими редко пользуются повторно

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

по декорированию подробнее тут:
http://members.ozemail.com.au/[email protected]/index.html
http://msdn.microsoft.com/en-us/library/deaxefa7(VS.71).aspx
а по базам - ключ для поиска: PDB-файлы


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
GoldFinch
Дата 27.3.2009, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 2
Всего: 26



если имя декорировано, отладчик или дизассемблер или просто просмотровщик его расшифрует
PM MAIL ICQ   Вверх
0xDX
Дата 28.3.2009, 03:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 6.2.2009

Репутация: нет
Всего: нет



IDA pro
PM MAIL   Вверх
criz
Дата 30.3.2009, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 13.2.2008

Репутация: нет
Всего: нет



Вариант с отладчиками и дизасемблерами, типа IdaPro и др., не подходит. Думал, что можно все реализвать своими силами, имея в распоряжении только exe-шник.

PM MAIL WWW   Вверх
GoldFinch
Дата 30.3.2009, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 2
Всего: 26



criz, те в рантайме или статически?
PM MAIL ICQ   Вверх
EvilsInterrupt
Дата 31.3.2009, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: 1
Всего: 9



criz
Зная соглашение можно понять скоко параметров автоматизировано!

вызов на си, с stdcall:

hDll = LoadLibrary("my1.dll");

на асме:

Код

lea eax,off my1_dll_str ; "my1.dll"
push eax
call dword [IAT_Item]
mov [adddr],eax


вот вывод:
1. нашел итем в ИАТ нужной ф-ции
2. нашел места ее вызова
3. Распознал соглашение вызова , stcall, cdecl - как правило , реже register- тут уже реверсить, ну и др
4. если stdcall, cdecl - работем и смотрим скоко пушей перед этим !
5. если cdecl еще лучше, скоко байтов у стека убивается и ищем стоко пушей, если они есть значит именно эти параметры и есть )

ЗЫ:
Почитай теорию декомпиляции
PM MAIL WWW ICQ Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0883 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.