Original Entry Point
От: Stea1z Россия  
Дата: 28.10.04 10:25
Оценка:
Добавил новую секцию в ехе и поменял точку входа. Код, записанный в этой секции выполняется. Как мне теперь перейти на оригинальную точку входа, зная ее адрес?
Например:
оригинальная точка входа — 11030 (или 2В16h)
сменил на — 32768 (или 8000h)

Читал на одном форуме, что надо делать так:

jmp dword ptr [oep] ; где oep — адрес точки входа

но так не получается — программа просто завершается. Access voilation...
Re: Original Entry Point
От: Pavel Dvorkin Россия  
Дата: 28.10.04 10:34
Оценка: 3 (1)
Привет!

Stea1z wrote:
>
> Добавил новую секцию в ехе и поменял точку входа. Код, записанный в этой секции выполняется. Как мне теперь перейти на оригинальную точку входа, зная ее адрес?
> Например:
> оригинальная точка входа — 11030 (или 2В16h)
> сменил на — 32768 (или 8000h)
>
> Читал на одном форуме, что надо делать так:
>
> jmp dword ptr [oep] ; где oep — адрес точки входа
>
> но так не получается — программа просто завершается. Access voilation...

В EXE все адреса в виде RVA, т.е. отсчитываемые от адреса загрузки
(hInstance)

--
With best regards,
Pavel Dvorkin
Posted via RSDN NNTP Server 1.9 gamma
With best regards
Pavel Dvorkin
Re[2]: Original Entry Point
От: Stea1z Россия  
Дата: 28.10.04 12:40
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>В EXE все адреса в виде RVA, т.е. отсчитываемые от адреса загрузки

PD>(hInstance)

PD>--

PD>With best regards,
PD> Pavel Dvorkin

ok! получаю hInstance из GetModuleHandleA(NULL) и к нему прибавляю адрес entrypoint — Access voilation

может я не так делаю?
Re[3]: Original Entry Point
От: Stea1z Россия  
Дата: 28.10.04 13:24
Оценка:
oops
эт. мой самодельный GetProcAddress партачил
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.