Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.12.15;
Скачать: [xml.tar.bz2];

Вниз

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

 
Денис-Редис   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.002 c
3-1294523297
den945
2011-01-09 00:48
2013.12.15
Обработка Excel в Delphi


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


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


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


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский