|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.04.2008, 17:26 | #1 |
Участник клуба
Регистрация: 30.04.2007
Сообщений: 1,307
|
Программно выгрузить DLL из памяти
Здравствуйте.
С помощью Delphi нужно выгрузить DLL. Эта DLL вроде как hook - ловит нажатия клавишь, я знаю где находится и как называется DLL. P.S. Перезагрузка и Выход из системы не подходят. Заранее благодарю.
Всё гениальное - просто!
|
29.04.2008, 17:44 | #2 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
А FreeLibrary не подходит? А вызов DllMain этой библиотеки с DLL_THREAD_DETACH/DLL_PROCESS_DETACH раз эдак по 10? Если она есть в наличии, может её проще дизассемблировать и покурочить потом в рантайме или просто ret'ов понаставить на её функциях, условно говоря? Или даже LoadLibrary в "своей" kernel32.dll перехватить?
|
30.04.2008, 15:42 | #3 |
Участник клуба
Регистрация: 30.04.2007
Сообщений: 1,307
|
Если только "FreeLibrary" вызвать из самой DLL, если подействует, то как узнать HandleLibrary не используя LoadLibrary, потому что DLL загружает Windows, я могу в DLL написать процедуру выгрузки, но для этого надо знать HandleLibrary на момент её запуска.
P.S. нужно что-то вроде GetHandleLibrary.
Всё гениальное - просто!
|
30.04.2008, 16:28 | #4 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
|
30.04.2008, 22:24 | #5 | |
Участник клуба
Регистрация: 30.04.2007
Сообщений: 1,307
|
"GetModuleHandle" как бы это сказать - не выгружает...
Вся проблема в том, что если DLL загружена, то её нельзя удалить. Мне надо принудительно её выгрузить, что бы удалить. Цитата:
Такой вопрос, DLL может сама себя выгрузить?
Всё гениальное - просто!
|
|
30.04.2008, 22:56 | #6 |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,239
|
Если ваше, то таким способом попробывать:
Код:
|
30.04.2008, 23:07 | #7 | |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Разумеется. Вы же спрашивали как хэндл получить....
Цитата:
Код:
|
|
01.05.2008, 00:06 | #8 | |
Участник клуба
Регистрация: 30.04.2007
Сообщений: 1,307
|
"Alter" попробовал, понял что сама себя DLL выгрузить не может, как не старайся, "Access Violation" говорит, а вот если из той проги что её загрузила - работает.
Цитата:
Код:
А я без понятия "кто" из всех программ Windows грузит DLL, так или иначе DLL начинает работать когда пользователь пароль вводит. (на стадии приветствия). P.S. возможно WinLogon или Lsass. Пока что выход один, переименовывать DLL (это все что можно с ней делать) и ставить новую, вместо старой и пускать комп на Reset.
Всё гениальное - просто!
Последний раз редактировалось Air; 01.05.2008 в 00:09. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как выгрузить сайт в интернет | steck | Свободное общение | 18 | 22.02.2011 13:47 |
Помогите советом! Как выгрузить форму из памяти? | Bezdar | Microsoft Office Excel | 18 | 08.05.2009 13:06 |
не могу выгрузить сайт, pагружаю через filezilla | alexxxx | Помощь студентам | 2 | 07.06.2008 17:39 |
как выгрузить базу данных из MySQL в Access??? | TRANE | Помощь студентам | 5 | 03.12.2007 13:22 |