Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.01.2010, 22:09
Аватар для Danik007
Danik007 Danik007 вне форума
Новичок
 
Регистрация: 05.01.2010
Сообщения: 58
Репутация: 10
Стрелка Прикрепить свою DLL к посторонней программе

Приветствую всех!
Меня интересует такой вопрос:
Как сделать так чтобы написанная мной DLL автоматически подхватывалась посторонней/чужой программой при ее запуске.
P.S.
Это не вирус, можно сказать что это логическое продолжение ранее созданных мною тем на форуме.
Ответить с цитированием
  #2  
Старый 30.01.2010, 22:15
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,097
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Если программа имеет интерфейс расширения в виде PlugIn'ов, то надо просто прочесть документацию и реализовать этот ирнтерфейс.

в противном случае - есть технология инжектирования кода. но она достаточно сложная и не факт, что ты сможешь сделать именно то, что хочешь.
Ответить с цитированием
  #3  
Старый 30.01.2010, 22:27
Аватар для Danik007
Danik007 Danik007 вне форума
Новичок
 
Регистрация: 05.01.2010
Сообщения: 58
Репутация: 10
По умолчанию

То есть только два варианта?
Ответить с цитированием
  #4  
Старый 30.01.2010, 22:31
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,097
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, еще можно подменять библиотеки этой программы, но в этом случае все-равно тебе надо повторить то, что делает оригинальная dll и добавить свой код.
Ответить с цитированием
  #5  
Старый 30.01.2010, 22:47
Аватар для Danik007
Danik007 Danik007 вне форума
Новичок
 
Регистрация: 05.01.2010
Сообщения: 58
Репутация: 10
По умолчанию

Тогда вопрос как в одну DLL вставить другую )))
Ответить с цитированием
  #6  
Старый 31.01.2010, 00:54
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,097
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ровно так же, как ты подключаешь ее к exe... т.е. с помощью импорта функций. Или ты хочешь "запаковать" одну либу в другую?
Ответить с цитированием
  #7  
Старый 31.01.2010, 11:59
Аватар для Danik007
Danik007 Danik007 вне форума
Новичок
 
Регистрация: 05.01.2010
Сообщения: 58
Репутация: 10
По умолчанию

То есть то что я хочу сделать должно выглядит примерно так?

1. Переименовать оригинальную DLL
2. Добавить в мою DLL функцию импорта оригинальной
3. Добавить необходимую инфу в мою DLL
4. Скомпилить DLL и поместить в папку с оригинальной

Если я прав, могли бы вы мне объяснить как проделать второй пункт, пожалуйста!
Ответить с цитированием
  #8  
Старый 31.01.2010, 21:05
guranvir guranvir вне форума
Начинающий
 
Регистрация: 19.01.2010
Сообщения: 113
Репутация: 11
По умолчанию

Ну вобще есть такой вариант, в реестре есть ключик HKEY_LOCAL_MACHINE\Software\Microsoft\Windows_NT\C urrentVersion\Windows\AppImt_DLLs. Который при запуске любого приложения принудительно включает заданную DLL в список DLL процесса.
Цитата:
Значением параметра AppInit_DLLs может быть как имя одной DLL (с указанием пути доступа), так и имена нескольких DLL, разделенных пробелами или запятыми. Так как пробел используется здесь в качестве разделителя, в именах файлов не должно быть пробелов. Система считывает путь только первой DLL в списке: пути остальных DLL игнорируются, поэтому лучше разметать свои DLL в системном каталоге Windows, чтобы не указывать пути.
Источник: http://www.xakep.ru/magazine/xs/058/004/1.asp. А вобще Гугл с нами))
Ответить с цитированием
  #9  
Старый 31.01.2010, 21:21
Аватар для Danik007
Danik007 Danik007 вне форума
Новичок
 
Регистрация: 05.01.2010
Сообщения: 58
Репутация: 10
По умолчанию

2 guranvir
Спасибо за инфу, учту при написании DLL. Что насчет моего предыдущего поста?
Ответить с цитированием
  #10  
Старый 31.01.2010, 21:25
guranvir guranvir вне форума
Начинающий
 
Регистрация: 19.01.2010
Сообщения: 113
Репутация: 11
По умолчанию

Вобще по поводу предыдущего скажу так: читай Рихтера и опредились зачем оно тебе надо внедрять что то, в частности DLL
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:12.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025