![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как выгрузить чужую DLL из памяти программным путем [Win95/98, WinME]
DSKalugin © (2004-11-02 17:26:00)Наблюдается глюк при установке фокспрошной программы. Она пишет несовпадение файла ресурсов/версий и подыхает. В памяти остаются невысвобожденные библиотеки. Я не могу удалить их с диска т.к. они заняты системой. Не хочется по 3 раза перегружаться пока установишь каждому программу.
Как выгрузить чужую DLL из памяти по имени файла?
ssergey (2004-11-05 14:25:00) [1]Удалено модератором
ssergey (2004-11-05 14:16:00) [2]Удалено модератором
ssergey (2004-11-05 14:12:00) [3]Удалено модератором
Игорь Шевченко (2004-11-05 14:09:00) [4]kaZaNoVa © (05.11.04 13:45) [21]
Завязывай с оффтопиком. "Просто потрепаться вы можете в соответствующей конференции" (с)
kaZaNoVa (2004-11-05 13:45:00) [5]VMcL © (05.11.04 12:05) [20]
ясно .. про 98 слыхал ещё много на старых компах юзают .. но NT4 разве лучше 98 ?
VMcL (2004-11-05 12:05:00) [6]>> kaZaNoVa © (05.11.04 11:24) [19]
Зря смайлы ставишь. Еще и как пользуются. Ну да ладно, моё дело предупредить...
kaZaNoVa (2004-11-05 11:24:00) [7]VMcL © (05.11.04 10:48) [18]
> Зато пользователи твоего софта могут юзать и будут
> неприятно удивлены, когда увидят сообщение о том, что
> функция такая-то не найдена в библиотеке такой-то.
NT 4 по моему всё-таки так устарела, что уже почти негде не юзается .. :)
VMcL (2004-11-05 10:48:00) [8]>> kaZaNoVa © (05.11.04 10:30) [17]
> извиняюсь .. :)
Сам себя можешь извинять сколько хочешь :-)
> NT 4 ничего не знаю, так как не юзал
Зато пользователи твоего софта могут юзать и будут неприятно удивлены, когда увидят сообщение о том, что функция такая-то не найдена в библиотеке такой-то.
А на NT 3.5, по-моему, Win32-программы вообще не запустятся.
kaZaNoVa (2004-11-05 10:30:00) [9]VMcL © (04.11.04 20:47) [16]
извиняюсь .. :)
я имел ввиду на 98,2000,XP,2003 ;)
про NT 3.5 , NT 4 ничего не знаю, так как не юзал ..
VMcL (2004-11-04 20:47:00) [10]>> kaZaNoVa © (04.11.04 18:38) [15]
> так как Toolhelp везде работает
AFAIR, на NT 4 не работает.
kaZaNoVa (2004-11-04 18:38:00) [11]Игорь Шевченко © (04.11.04 18:34) [14]
а .. кажется понял - перебор длл - да ?
ps я всегда Toolhelp юзаю .. на PSApi у меня "аллергия" так как Toolhelp везде работает :))
Игорь Шевченко (2004-11-04 18:34:00) [12]kaZaNoVa © (04.11.04 18:10) [13]
PSApi, Toolhelp
kaZaNoVa (2004-11-04 18:10:00) [13]Digitman © (04.11.04 17:56) [12]
для НТ - в какую стороны рыть ? (какую юзать функцию ?)
Digitman (2004-11-04 17:56:00) [14]
> kaZaNoVa © (04.11.04 17:41) [11]
на НТ-платформе - свободно.
куча способов - и документированных, и не очень)
а за маздай не скажу, не рассматривал вообще.
kaZaNoVa (2004-11-04 17:41:00) [15]VMcL © (03.11.04 21:59) [3]
самый главный вопрос, как сделать:
> 1. Узнаёшь HInstance нужной DLL в чужом ВАП.
я когда экспериментировал - пробовал выгружать свою библиотеку (которую сам до этого загрузил) а как узнать Hinstance чужойDLL ?
Cobalt (2004-11-04 16:21:00) [16]Проще запустить ProcessXP
DSKalugin (2004-11-04 13:31:00) [17]Вобщем я так понимаю проще перегрузиться ;-))
VMcL (2004-11-04 07:49:00) [18]>> kaZaNoVa © (03.11.04 22:02) [4]
> а методом CreateRemoteThread можно ?
Можно, но только в WinNT; в Win9x CreateRemoteThread не имплементирована.
P.S.
Почитать, от том, как "подмазываться" к чужим процессам, можно здесь:
http://www.podgoretsky.com/ftp/Docs/Classics/Richter/
Игорь Шевченко (2004-11-03 23:41:00) [19]Извиняюсь, про 9x не прочел. Ищи в google/Яндекс по словам DLL Unloader
Cobalt (2004-11-03 23:39:00) [20]2 DSKalugin © (03.11.04 13:43) [2]
> Каждый человек имеет то, что сам заслуживает.
В качестве жеста доброй воли рекомендую прочесть мой пост ещё раз ;)