Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Взаимодействие с чужими EXE 
:(
    Опции темы
BeeMaster
Дата 7.2.2012, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Любой exe файл, будучи запущенным является процессом. 
У каждого процесса есть определённый набор функций.

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

Поясню:
Допустим у меня есть два приложения.

В первом есть функция

Код

function intCount(a:integer):integer;
begin
     inc(a);
     result:=a;
end;


Возможно ли вторым приложением воспользоваться функцией первого?


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

Как это возможно реализовать?  (алгоритм, названия ключевых функций)
Как примерно узнать что делает функция и какие параметры принимает/возвращает?
Как можно использовать её? Если она использует модули, то эти модули будут взяты из того процесса, или они должны быть в моём?

Имею очень размазанное представление об этом, прошу пояснить 


Это сообщение отредактировал(а) BeeMaster - 7.2.2012, 09:06
PM MAIL   Вверх
bems
Дата 7.2.2012, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



В таком виде как ты хочешь это невозможно. Нечто подобное делается через com/ole, но используемый процесс должен быть специально предназначен для использования другими. Еще есть библиотеки dll, но они выполняются в контексте использующего процесса 


--------------------
Обижено школьников: 8
PM MAIL   Вверх
BeeMaster
Дата 7.2.2012, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



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


Про длл знаю, работал, интересует возможность работы именно с процессами где импорт функций не предусмотрен.
PM MAIL   Вверх
bems
Дата 7.2.2012, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Например потому что у каждого процесса своё адресное пространство


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Чучмек
Дата 7.2.2012, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


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

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



А тебе зачем?
Цитата(BeeMaster @  7.2.2012,  08:50 Найти цитируемый пост)
каким либо образом воспользоваться ими

Внедряй в процесс dll и вперед.

Цитата(BeeMaster @  7.2.2012,  08:50 Найти цитируемый пост)
У каждого процесса есть определённый набор функций.
Возможно ли из моего приложения получить список функций процесса

Только список функций импортируемых из dll.  Парсиш таблицу импорта exe + перехват  GetProcAddress



--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

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


 




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


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

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