I’ve tried injecting using QueueUserAPC. It works, but the target process crashes sometimes.
Is there any way I can get the details (like the Stack) of the enumerated threads of a target process? I was hoping that we can target better which threads we can inject if we have some useful info about the thread.
And, what information can I extract from the CONTEXT of a thread?
In the Process Explorer, we can see the threads of a process, and also the stack of the thread, that shows which DLL functions are associated with which thread.
E.g., thread no. 6068 has its start address at WINMM.dll!timeEndPeriod+0x147
Is it possible to get this data from inside Visual Studio? I believe it is possible because Process Explorer is doing it. But how? How do we get the start address associated with a ThreadId?