debugging 如何获取进程主线程的句柄?

mwyxok5s  于 2022-11-14  发布在  其他
关注(0)|答案(1)|浏览(162)

我想使用GetThreadContext函数,它需要一个threadHandle作为第一个参数。我搜索了几个小时,我遍历了程序中的所有线程来找到主线程,但似乎没有什么真正起作用。所以我不需要关于如何使用GetThreadContext的答案,而是需要关于如何获得正确的线程句柄来正确调用函数的答案。顺便说一句,我想读取并设置EIP来调试我的程序。请不要开始推荐x64dbg或ida...

lnlaulya

lnlaulya1#

如果程序有一个窗口,你很可能会把它当作“主”线程,即使Windows进程实际上没有主线程。
呼叫FindWindow + GetWindowThreadProcessId + OpenThread + GetThreadContext
如果行程序没有视窗,您可以使用ToolHelp API枚举执行绪,并呼叫GetThreadTimes来寻找最旧的执行绪,并将其视为“主”执行绪。

相关问题