Сейчас на форуме: rmn, Magister Yoda, vasilevradislav, tyns777, zombi-vadim (+6 невидимых) |
![]() |
eXeL@B —› Программирование —› Узнать имя exe-файла в который внедрена dll |
Посл.ответ | Сообщение |
|
Создано: 22 августа 2008 06:53 · Личное сообщение · #1 Внедряю dll во все процессы с окнами. Вопрос в том, как узнать имя очередного exe-файла в который внедрена длл, и полный путь к этому ехе на диске...Единственное что пока получилось, это GetModuleHandle(nil) - который возвращает хендл модуля в который внедрились.....а вот что дальше делать, чёто я не допру...может не проснулся ещё ![]() Подскажите какие API покурить и в какую сторону вообще копать PS: Пишу на Дельфях ----- бессмысленные манипуляции не становятся более разумными если их повторять ![]() |
|
Создано: 22 августа 2008 06:56 · Личное сообщение · #2 |
|
Создано: 22 августа 2008 07:48 · Личное сообщение · #3 |
|
Создано: 22 августа 2008 09:56 · Личное сообщение · #4 Спасибо, с этим разобрался...но появилась другая проблема: Вобщем внедряю ДЛЛ, после чего запускаю в треде во внедренном exe файле функцию из ДЛЛ. Так вот, если в этой функции вызвать мессагу то откроется куча сообщений с именами приложений в которые внедрена ДЛЛ...если все их закрыть, а потом снять хуки, то всё нормально, если же их не закрывать, и снять хуки, то все приложения улетят в трубу....более того, если в функции не использовать мессаги, а напрямую писать результат в текстовый файл, то опять получаем кучу рантайм ерроров и все приложения аварийно завершаются.... Ткните носом, что я не так делаю.... Вот собственно исходники инжектора и самой длл: (1.57Кб) ![]() ----- бессмысленные манипуляции не становятся более разумными если их повторять ![]() |
|
Создано: 22 августа 2008 11:48 · Личное сообщение · #5 |
|
Создано: 22 августа 2008 13:01 · Личное сообщение · #6 |
|
Создано: 22 августа 2008 13:03 · Личное сообщение · #7 |
|
Создано: 22 августа 2008 23:18 · Личное сообщение · #8 SecurAdmin пишет: А может быть лучше вообще использовать отправку этих данных через сокеты....только вот с сокетами на чистом WinAPI я тоже не работал... Если кто даст примерчик, буду очень признателен.. уже гдето поднималась тема по передаче данных меджу приложениями и на чистом WinApi проще всего заюзать WM_COPYDATA ![]() |
|
Создано: 23 августа 2008 00:23 · Личное сообщение · #9 Я думаю так: 1. Как ты себе представляешь запись в один и тот же открытый файл данных несколькими процессами, если у файла предварительно не выставлены расшаренные атрибуты? Уж если решил работать с API, так с ним и работай (CreateFile), а не AssignFile, явные тонкости которого я не знаю т.к. в делфях не силен. 2. MessageBox(0,szFileName,'Hook_DLL',MB_OK); - первый параметр - желательно хендл окна приложения; Хотя тема левая...кури доки. ----- продавец резиновых утёнков ![]() |
|
Создано: 27 августа 2008 06:12 · Личное сообщение · #10 |
![]() |
eXeL@B —› Программирование —› Узнать имя exe-файла в который внедрена dll |
Эта тема закрыта. Ответы больше не принимаются. |