Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вызов неэкспортируемых функций [D5, Win2k, WinXP]


cerber1 ©   (2004-10-13 23:26:00) 

Как заставить приложение(процесс) выполнить его внутреннюю функцию, которая отсутствует в списке импорта, экспорта?


Игорь Шевченко   (2004-10-21 10:16:00) [1]

cerber1 ©   (21.10.04 00:02) [14]


> А как его узнать


А как отладчик узнает ? :)))


GuAV   (2004-10-21 00:09:00) [2]


> А как его узнать если его нет в таблицах
> импорта-експорта?

Руками найти смещение относительно какой-то что есть там.

и надеятся чтоб он не поменялся в другой версии длл/ехе ;-)


cerber1   (2004-10-21 00:02:00) [3]

Игорь Шевченко ©   (18.10.04 11:30) [10]

> Зная адрес функции (обязательное условие)...

А как его узнать если его нет в таблицах импорта-експорта?


Игорь Шевченко   (2004-10-19 10:15:00) [4]

cerber1 ©   (18.10.04 22:54) [11]


> а где  можна сылки на это дело(т.е как это работает)


Так я вроде все рассказал, какие ссылки требуются ? Осталось только делать руками.


Rouse_   (2004-10-18 23:46:00) [5]

Так, так, так...
Позвольте господа, но если не трогать IMT и EMT, то как вы собираетесь эти адреса получить?


cerber1   (2004-10-18 22:54:00) [6]

2 Игорь Шевченко ©   (18.10.04 11:30) [10]

а где  можна сылки на это дело(т.е как это работает)

2 SammIk ©   (16.10.04 20:25) [9]

Сам придумал иле гдето нашел?


Игорь Шевченко   (2004-10-18 11:30:00) [7]

cerber1 ©   (16.10.04 14:01) [8]

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


SammIk   (2004-10-16 20:25:00) [8]

Прототипы:  
function MarkAppAsSystem(i_pDispenser:^ISimpleTableDispenser; i_applid:GUID): HResult;
function MarkAppAsNotSystem(i_pDispenser:^ISimpleTableDispenser; i_applid:GUID): HResult;


cerber1   (2004-10-16 14:01:00) [9]

2 Игорь Шевченко ©   (15.10.04 23:16) [7]

Не для дисера, а просто интересно, как это можно сделать. Ибо над экспортируемыми и импортируемым функ. Микрософт поработал.


Игорь Шевченко   (2004-10-15 23:16:00) [10]

cerber1 ©   (15.10.04 22:19) [6]


> Библиотека не моя


Какая разница ?


> и поетому отладчик отпадает


Я не говорю - отладчик, я говорю - как отладчик.

ЗЫ: Тоже для дисера ?


cerber1   (2004-10-15 22:19:00) [11]

2 Cobalt
В Винде есть одна библиотека, в ней есть одна функция("ключ в зайце, заец в ларце") и называется она(функция) MarkAppAsSystem(progid:***, bla:***) и очень хецецца ее поиметь.

2 Игорь Шевченко ©   (15.10.04 10:39) [5]

Библиотека не моя, и поетому отладчик отпадает(наверно). А в дизасме ее нигде нет. Нашел я ее только через Winhex


Игорь Шевченко   (2004-10-15 10:39:00) [12]

cerber1 ©   (14.10.04 22:16) [2]

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


Cobalt   (2004-10-15 08:43:00) [13]

2cerber1 ©  
Кого крякаем?


GILBEITS   (2004-10-15 07:37:00) [14]

Удалено модератором


cerber1   (2004-10-14 22:16:00) [15]

Наверно неправильно поставил вопрос:
мне необходимо перехватить данную функцию во время ее вызова и модифицировать передаваемые параметры.Как?


Cobalt   (2004-10-13 23:52:00) [16]

ГЫ (: Непосредственно вызвать её :)

P.S. Каков вопрос - таков ответ.


Наверх

Титульная страница Поиск, карта сайта Написать письмо