|
|
|
Определение создателя потока
|
|||
|---|---|---|---|
|
#18+
Есть процесс, в нем загружена куча dll, эти dll запускают разные потоки. Вопрос, как по ThreadID определить какой модуль его запустил? Мои мысли 1) Получить список загруженных модулей процесса. HMODULE будет указывать на адрес загрузки модуля 2) Получить все потоки процесса 3) Для каждого потока получить некую область памяти, которая выделялась для этого потока 4) Посмотреть в какой модуль попала память. Проблема с третьим пунктом. Что бы такое и как получить? Мне нравится идея получить адрес процедуры потока. Но как? Может, сам алгоритм неверен, тогда пните в нужном направлении. Задача успешно решена в ProcessExplorer С уважением, Vasilisk ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 16:35 |
|
||
|
Определение создателя потока
|
|||
|---|---|---|---|
|
#18+
Здесь исполняемый файл и исходники, где можно подглядеть http://processhacker.sourceforge.net/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 16:49 |
|
||
|
Определение создателя потока
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, CreateToolhelp32Snapshot TThreadEntry32 TProcessEntry32 (у TThreadEntry32 есть th32OwnerProcessID) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 17:00 |
|
||
|
Определение создателя потока
|
|||
|---|---|---|---|
|
#18+
Ghost Writer(у TThreadEntry32 есть th32OwnerProcessID)_Vasilisk_как по ThreadID определить какой модуль его запустил?Мне не нужен процесс, мне нужен модуль (dll) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 17:33 |
|
||
|
Определение создателя потока
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_> 3) Для каждого потока получить некую область _Vasilisk_> памяти, которая выделялась для этого потока _Vasilisk_> Проблема с третьим пунктом. Что бы такое и как получить? _Vasilisk_> Мне нравится идея получить адрес процедуры потока. Но как? NtQueryInformationThread Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 17:56 |
|
||
|
Определение создателя потока
|
|||
|---|---|---|---|
|
#18+
Функция потока может не находится в том модуле, который запустил поток. Если нужен именно создатель - можно хук на CreateThread. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 18:27 |
|
||
|
Определение создателя потока
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамNtQueryInformationThreadВот она одна из кандидатов на пощупывание GunSmokerФункция потока может не находится в том модуле, который запустил потокДа. Но для моих задач я могу этим пренебречь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 18:50 |
|
||
|
Определение создателя потока
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_> Вот она одна из кандидатов на пощупывание Там и щупать-то нечего, всё довольно просто. Правда, IIRC, в MSDN было примечание про негарантированность под некоторые версии ОС. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 19:21 |
|
||
|
Определение создателя потока
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамТам и щупать-то нечего,Смотрел еще на Код: pascal 1. Но она возвращает инфу сразу по всем процессам системы Гаджимурадов Рустамнегарантированность под некоторые версии ОС.Видел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 20:40 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39565288&tid=2041466]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
169ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 418ms |

| 0 / 0 |
