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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DLL в памяти 
:(
    Опции темы
Kirgston
Дата 3.3.2009, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(cemick @  3.3.2009,  17:15 Найти цитируемый пост)
молодо-зелено....

HINSTANCE hinstDll = GetModuleHandle("MyLib");
// подразумевается расширение .dll

if (hinstDll == NULL) { 
    hinstDll = LoadLibrary("MyLib");

Только ты всеравно не сможешь уберечь твои dll... Да и вообще не твоя это забота, что кто то убивает dll(всеравно найдется другой способ обойти защитуу, причем менее затратный), а забота админов настройки защиты системы...


Да... я ещё новичок... а точнее чайник =) но стараюсь, учусь и т.д. просто для программирования надо не только желание, но и просто - время.

Спасибо большое!!! Да не спорю. Против лома всегда есть второй лом. Жизнь такая =) . Просто я не могу сказать конкретно для чего это. Но это не для вирусов. А Админом является обыкновенный юзер... а местами (тонкий намек) - хацкер.


Цитата(Akella @  3.3.2009,  17:27 Найти цитируемый пост)
твоя программа подвисла, вместе с dll.... 


Выгрузить ехе с диспетчера задач =) а он сам выгрузит и длл.



Цитата(SneG0K @  3.3.2009,  17:31 Найти цитируемый пост)
ты можеш например, не сопротивляться, а при вызове функции из длл проверять, не убита ли она... если убита, знач сказать пользователю, что кто-то или что-то выгрузило длл. и спросить:" А не загрузить ли ее снова?". Желательно еще с галоской запомнить) 


А у меня просто не стандартная длл ))))) это ещё одно "мини-приложение" 

Цитата(Poseidon @  3.3.2009,  17:43 Найти цитируемый пост)
Грузи свою dll динамически. Когда отработала - выгружай. И никто тебе ее не выгрузит, т.к. она и так не в памяти, и ты точно будешь знать что получешь нужные данные из dll когда они понадобятся.


Динамически... длл.. а это как? Ну в принципе некая динамика там есть... оно не грузится с системой, а загружается вместе с моей программой, хотя моя программа не является для этой длл родительской =) в роли "родителей" выступает ещё одна программа, но к которой у меня доступа нету. При завершении моей программы длл "умирает". Вроде есть динамика... но чую что я опять не про то ))))) 
Если я как всегда не угадал, то дайте пожалуйста статейку про динамику ДЛЛ. Заранее очень благодарен!
PM MAIL   Вверх
Kirgston
Дата 3.3.2009, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ребята. Пожалуйста подскажите чайнику )))

Код

var hinstDll:hinstance;
begin
hinstDll = GetModuleHandle('mydll.dll');
// подразумевается расширение .dll

if (hinstDll = nil) then
    hinstDll := LoadLibrary('mydll.dll');
end;


Тут писать имя длл как он назван счас в системе? Или как он скомпилирован? То есть в проекте с правой стороны я вижу имя будущей длл. Но после компиляции я же могу переименовать. Так что писать?  smile 
PM MAIL   Вверх
SneG0K
Дата 3.3.2009, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

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



Код

if FileExists('mydll.dll') then 


PM WWW Skype   Вверх
Riply
Дата 3.3.2009, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Комодератор
Сообщений: 572
Регистрация: 27.3.2007
Где: St. Petersburg

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



Цитата(Kirgston @  3.3.2009,  19:17 Найти цитируемый пост)
Тут писать имя длл как он назван счас в системе? Или как он скомпилирован? То есть в проекте с правой стороны я вижу имя будущей длл. Но после компиляции я же могу переименовать. Так что писать?


Не "вшивать" имя в проект ?
PM MAIL   Вверх
Kirgston
Дата 3.3.2009, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(SneG0K @  3.3.2009,  19:35 Найти цитируемый пост)
if FileExists('mydll.dll') then 

Ну это само собой =) проверки и т.д. это я оформлю чуток иначе, как мне лучше ;)
А вы бы не могли подсказать что надо писать под "майдлл.длл" ? Просто скажем при компиляции проекта с правой стороны вы указываете имя файла которое будет "светится" в диспетчере задач. Скажем вы назвали проект project1.exe . После компиляции вы хоть переименуйте файл в "блаблабла.ехе" , но он в диспетчере останется как project1.exe . Всё это я виду к чему... какое название туда писать? Название имени файла? Или то которое я даю во время компиляции? Заранее очень благодарен!


Цитата(Riply @  3.3.2009,  19:50 Найти цитируемый пост)
Не "вшивать" имя в проект ? 

Извините я вас не понял :(
PM MAIL   Вверх
Riply
Дата 3.3.2009, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Комодератор
Сообщений: 572
Регистрация: 27.3.2007
Где: St. Petersburg

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



Цитата(Kirgston @  3.3.2009,  20:29 Найти цитируемый пост)
Извините я вас не понял :( 


Ну, раз на этапе компиляции имя неизвестно, то брать его откуда-то "из вне",
а не записывать в проект намерво smile 
PM MAIL   Вверх
Kirgston
Дата 3.3.2009, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Извините вопрос отпал )))))) просто ещё в 2007ом . При компиляции вы давали имя файла и это имя висело в процессах. И никакое другое. А теперь я смотрю что если переименовать файл то и переименовывается процесс =)
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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