|
|
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
Возможно ли с помощью C# .NET, C++, API выгрузить определенный DLL файл из всех процессов, которыми он используется. Если да, то каким способом это можно сделать? Модератор: Тема перенесена из форума "C++". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2009, 00:17:09 |
|
||
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
Вряд ли это стоит делать. Может какое-то специальное API и есть, но вообще ты должен в каждом процессе, в который подгружена эта DLL, вызвать FreeLibrary, но вот проблема -- код этой DLL может выполняться, и данные могут использоваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2009, 00:23:59 |
|
||
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
То есть если код DLL исполняется и используются данные, то FreeLibrary не сработает? Значит каким то способом нужно остановить исполнение кода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2009, 18:26:37 |
|
||
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
PoMyCbТо есть если код DLL исполняется и используются данные, то FreeLibrary не сработает? Значит каким то способом нужно остановить исполнение кода? убить процесс. и FreeLibrary не потребуется. Исходную задачу излагайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2009, 19:34:54 |
|
||
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
Для меня поставили задачу: выгрузить определенный DLL из всех процессов, которыми он используется, без убийства этих процессов. У меня возникло сомнение возможно ли это сделать вообще? Если да, то я думаю неважно как эти процессы будут работать после выгрузки DLL, главное, чтобы DLL была выгружена... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2009, 20:15:04 |
|
||
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
Если тебе всё равно, что будет с процессами после выгрузки DLL, т.е. главное, чтобы выгрузить, просто найди все процессы с этой DLL и убей их. Для "убийства" процесса пользователь, под которым запущен убивающий процесс, должен обладать правами администратора данной машины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2009, 21:58:49 |
|
||
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
PoMyCb пишет: > То есть если код DLL исполняется и используются данные, то FreeLibrary > не сработает? Сработает, почему не сработает ? Но код, который выполнялся, тут же грохнится по защите памяти. > Значит каким то способом нужно остановить исполнение кода? Никаким ты способом не остановишь. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2009, 22:03:08 |
|
||
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
PoMyCbДля меня поставили задачу: выгрузить определенный DLL из всех процессов, которыми он используется, без убийства этих процессов. Я думаю, что в общем случае это невозможно. И чревато выпадением в "Синий экран" и "kernel panic". И тот человек который ставил такую задачу перед вами должен был осознавать все возможные последствия. Если сама ТЕХНОЛОГИЯ которую вы используете ПРЕДУСМАТРИВАЛА изначально возможность выгрузки части своего кода из рабочих процессов - это другое дело. Но это частные случаи которые надо рассматривать отдельно. И это не С++. И это вообще не DLL а нечто иное... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2009, 22:09:04 |
|
||
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
MasterZiv, В том то и дело, что задание акцентировалось именно на ВЫГРУЗКЕ DLL, а не в убийстве процесса. Убить процесс намного легче, чем выгрузить DLL... Может возможно как то одновременно выгрузить из всех процессов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2009, 00:12:09 |
|
||
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
PoMyCb, Думаю, что одновременно из всех процессов не получится. Нужно перебрать процессы, найти те, которые используют эту длл, внедрить в эти процессы код, который будет выгружать библиотеку (через обычный FreeLibrary). В случае, если процесс использует функции этой длл, он грохнется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2009, 02:25:19 |
|
||
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
x1ca4064В случае, если процесс использует функции этой длл, он грохнется. Возможно грохнется не сразу, а в момент обращения к коду/ресурсам dll А если не грохнется, то накойхер эту вообще загружали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2009, 10:17:28 |
|
||
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
mayton пишет: > Я думаю, что в общем случае это невозможно. И чревато выпадением в > "Синий экран" и "kernel panic". И тот человек который ставил такую > задачу перед вами должен был осознавать все возможные последствия. Да почему же в синий ? Он же не драйвер собирается выгружать. DLL-и все в адресном пространстве процесса работают, только процесс (как максимум) грохнется. Хотя , конечно, задача странная, и в Win32 труднорешаемая традиционно. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2009, 14:44:00 |
|
||
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
PoMyCb пишет: > В том то и дело, что задание акцентировалось именно на ВЫГРУЗКЕ DLL, а > не в убийстве процесса. Убить процесс намного легче, чем выгрузить DLL... > > Может возможно как то одновременно выгрузить из всех процессов? У тебя очень странное задание. На грани невозможного. Я бы перед тем, кто его тебе дал, повертел пальцем ему у виска и послал бы его подальше. И занялся чем-то более интересным. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2009, 14:45:49 |
|
||
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
Мне это задание дали при трудоустройстве на работу, проверить мои навыки. Видимо поэтому оно такое и странное. Теперь вот я думаю, стоит ли мне парится по этой части программы - с выгрузкой DLL или просто аргументировать тем, к чему это может привести..? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2009, 14:59:07 |
|
||
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
Изопропил Возможно грохнется не сразу, а в момент обращения к коду/ресурсам dll Да, скорее всего. А если не грохнется, то накойхер эту вообще загружали? Ну, например, через параметр hklm\...\AppInit_Dlls можно грузить трояны, средства наблюдения за АП процесса и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2009, 19:11:53 |
|
||
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
PoMyCb, Если задание учебное - см ответ x1ca4064 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2009, 19:16:08 |
|
||
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
PoMyCb пишет: > Мне это задание дали при трудоустройстве на работу, проверить мои > навыки. Видимо поэтому оно такое и странное. ЧТобы так вот дали невыполнимое задание -- это как -то странно очень. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2009, 21:23:01 |
|
||
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
MasterZiv, а что странного - посмотреть на подход к решению, оценку постановки задачи, владение WinAPI в конце концов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2009, 22:51:45 |
|
||
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
MasterZiv ЧТобы так вот дали невыполнимое задание -- это как -то странно очень. Задание вполне выполнимо (с админскими правами, по крайней мере). Просто тяжело придумать, зачем это делать... (м.б. антивирусы, отладчики?). В качестве тестового очень хорошее - готовые решения найти будет трудно: часто решают обратную задачу - загрузка своего кода в чужой процесс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2009, 04:45:11 |
|
||
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
Буду пробовать реализовать... Может че получиться. Спасибо всем за мнения и ответы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2009, 09:15:23 |
|
||
|
Выгрузка определенного DLL файла из всех процессовб которыми он используется
|
|||
|---|---|---|---|
|
#18+
Если задание - тестовое, то настрогаешь 2- 3 тестовые программки, использующие одну тестовую DLL. Затем внесешь в реестр ключик - признак того, что нужно выгрузить dll из всех использующих ее программ. Перед вызовом любой функции из DLL - программы обязаны проверять этот ключик. Нечто типа механизма автоподключения и выгрузки плагинов. Т.е. крути-верти как хочешь, фантазируй. Удачи ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2009, 11:48:35 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=36192500&tid=1344256]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
201ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 472ms |

| 0 / 0 |
