Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Работа с PE Добавлено: 24.08.05 17:03  

Автор вопроса:  BUG(O)R | Web-сайт: hunger.ru | ICQ: 827887 
Здраствуйте. Прошу вашей помощи по следующему вопросу:

Работаю с Header'om PE файла, а конкретно со структурой:
IMAGE_NT_HEADERS/IMAGE_OPTIONAL_HEADER

И вот никак не могу заюзать данные структуры на VB, юзал на асме. а на ВБ не могу :) Знаний видать по языку недостаточно. Мне собственно и нужен-то только один параметр - AddressOfEntryPoint.
Короче, если кто работал с этими структурами, можете помочь! Советом, кодом, чем угодно, но на VB...

Ответить

  Ответы Всего ответов: 11  

Номер ответа: 1
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #1 Добавлено: 24.08.05 17:10
Что именно не получается?
Объявить private type IMAGE_OPTIONAL_HEADER?
Объявить переменную этого типа?
Открыть файл как binary?
Выполнить get?
Что?

Ответить

Номер ответа: 2
Автор ответа:
 Black Dragon



ICQ: 321186096 

Вопросов: 30
Ответов: 347
 Web-сайт: в разработке
 Профиль | | #2
Добавлено: 24.08.05 21:25
Что именно не получается?
А что, BUG(O)R неясно написал?
Мне собственно и нужен-то только один параметр - AddressOfEntryPoint
Ну, значит, ему нужно получит адрес точки входа.

Ответить

Номер ответа: 3
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 24.08.05 21:51
http://vbrussian.com

там видел пример по работе с PE

Ответить

Номер ответа: 4
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #4
Добавлено: 24.08.05 21:52
открыть файл:

dim nf as integer
dim oep as long

nf = ffeefile

open lpFileName For Binary Access Read as nf
    get nf, offset_oep, oep
close nf

, где offset_oep - смещение DWORD значения адреса точки входа. Т.к. тебе требуется получить всего одно значение, считаю бессмысленным объявление типа...

Ответить

Номер ответа: 5
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #5 Добавлено: 25.08.05 02:37
Заголовок PE может находиться в разных местах, поэтому сначала надо найти, где он.
Так что это будет получение двух значений... А структура - дык наверняка он одной цифирью не ограничится...

Ответить

Номер ответа: 6
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #6
Добавлено: 25.08.05 03:08
2GSerg, сейчас попробовал, действительно не ограничился :)

2BUG(O)R, а тебе какой адрес нужен, тот что начинается секция кода или тот что адрес... по которому загрузчик проецирует PE образ в память?

Ответить

Номер ответа: 7
Автор ответа:
 BUG(O)R



ICQ: 827887 

Вопросов: 13
Ответов: 142
 Web-сайт: hunger.ru
 Профиль | | #7
Добавлено: 25.08.05 08:13
GSergЯ не пойму каким образом заполняется эта структура!

Заголовок PE может находиться в разных местах


Заголовок один! Его смещение для каждого приложения разное!

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


EntryPoint(EP). Адрес, с которого начинают считываться инструкции для выполнения.

dim nf as integer
dim oep as long

nf = ffeefile

open lpFileName For Binary Access Read as nf
    get nf, offset_oep, oep
close nf


Это я знаю :) Как мне получить EP(OEP), как объявить и заполнить структуры:
IMAGE_NT_HEADERS/IMAGE_OPTIONAL_HEADER
Вот в чём вопрос!

Спасибо за внимание, очень на вас надеюсь :)

Ответить

Номер ответа: 8
Автор ответа:
 BUG(O)R



ICQ: 827887 

Вопросов: 13
Ответов: 142
 Web-сайт: hunger.ru
 Профиль | | #8
Добавлено: 25.08.05 08:18
http://vbrussian.com

там видел пример по работе с PE


Всё облазил, не нашёл :(

Ответить

Номер ответа: 9
Автор ответа:
 BUG(O)R



ICQ: 827887 

Вопросов: 13
Ответов: 142
 Web-сайт: hunger.ru
 Профиль | | #9
Добавлено: 25.08.05 08:24
НАШЁЛ!!!!!!!!!!!!!!!!!!!!!!!!!!!

Ответить

Номер ответа: 10
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #10 Добавлено: 25.08.05 12:59
:)))))))
ну кто ищет, всегда находит - 100%

Ответить

Номер ответа: 11
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #11
Добавлено: 25.08.05 17:22
Значение точки входа находится по смещению в 40 байт относительно начала PE-заголовка. Это смещение RVA относительно Image Base.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам