2011-11-21 119 views

回答

2

我發現的最好方法是獲取32位上下文(不是通過GetThreadContext,而是Wow64GetThreadContext)並使用Wow64GetThreadSelectorEntry獲取FS [0]的地址,然後使用ReadProcessMemory。但最大的問題是,這需要Win7/Windows2008服務器R2)

1

您是否使用Windows調試接口連接到進程?如果是這樣,當創建新線程時,您應該能夠使用事件CREATE_THREAD_DEBUG_INFO和CREATE_PROCESS_DEBUG_INFO的lpThreadLocalBase字段來獲取TEB基地址。

但我認爲這隻適用於如果您的調試器已經從其創建過程控制過程。這將無助於附加到現有的流程。

+0

是的,這是對現有的流程,但是這是一個很好的點。其他人可能會覺得滿意。 – Dan