Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.12.15;
Скачать: CL | DM;

Вниз

Получить имена модулей дочерних потоком   Найти похожие ветки 

 
Денис-Редис   (2013-02-28 13:06) [0]

Добрый день! Стоит задача получить все дочерние потоки определённого процесса (их порождают подключенные dll-ки) и выяснить, какая именно из dll какие потоки создала.

Потоки получаю так:

var
 ThreadSnapshotHandle: THandle;
 ThreadFound: Boolean;
 ThreadEntry: tagTHREADENTRY32;
begin
 aStrings.Clear;
 ThreadSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);
 try
   ThreadEntry.dwSize := SizeOf(ThreadEntry);
   ThreadFound := Thread32First(ThreadSnapshotHandle, ThreadEntry);
   if ThreadFound then
   repeat
     if ThreadEntry.th32OwnerProcessID = AProcessID then
       aStrings.Add("ID потока = " + IntToStr(ThreadEntry.th32ThreadID));
   until not Thread32Next(ThreadSnapshotHandle, ThreadEntry);
 finally
   CloseHandle(ThreadSnapshotHandle);
 end;
end;


тут я добавляю ThreadEntry.th32ThreadID в TMemo. Вот как узнать, к какой либе имеет отношение каждый дочерний поток? Извините, если сумбурно выразился.


 
RWolf ©   (2013-02-28 13:09) [1]

а если основной поток вызвал функцию из dll, к какой либе он относится?


 
Денис-Редис   (2013-02-28 13:16) [2]

Я понял твою мысль. Понятно, что к главному. Мне нужно сделать что-то вроде как у процесс хакера, если видел. Пример по ссылке: http://gyazo.com/c497606b4468ccbe2abfc3f9409744a7
В колонке start address и есть то, что мне нужно.


 
RWolf ©   (2013-02-28 13:21) [3]

http://stackoverflow.com/questions/10159516/get-thread-start-address


 
RWolf ©   (2013-02-28 13:24) [4]

а привязка к имени модуля — просто перебор загруженных в память модулей и проверка вхождения адреса в диапазон адресов, ими занятых.


 
clickmaker ©   (2013-02-28 13:34) [5]

GetModuleFileNameEx ?


 
Денис-Редис   (2013-02-28 20:47) [6]

Во! Спасибо, дружище! или дружищи :) Выручили, это то что нужно. Сам бы не нашёл эту инфу. Пойду попробую, вопросы будут, напишу



Страницы: 1 вся ветка

Текущий архив: 2013.12.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.007 c
1-1319444356
de_guta
2011-10-24 12:19
2013.12.15
не выполняется обработчик OnClose формы


1-1319804031
teanick
2011-10-28 16:13
2013.12.15
ApplicationEvents в dll, не работает OnIdle


15-1371846602
Юрий
2013-06-22 00:30
2013.12.15
С днем рождения ! 22 июня 2013 суббота


2-1362144032
alexdn
2013-03-01 17:20
2013.12.15
Библиотека Fastlib, изменеие размеров изобр.


15-1372105803
Юрий
2013-06-25 00:30
2013.12.15
С днем рождения ! 25 июня 2013 вторник