You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在64位Windows系统运行的32位二进制中解析FS寄存器与Win32ThreadInfo地址

64位Windows下32位二进制汇编代码解析验证

提取到的32位汇编代码:

mov eax,dword ptr fs:[18]
mov ecx,dword ptr [eax+F70]
mov eax,dword ptr [ecx+78]
ret

你的解读内容:

mov eax,dword ptr fs:[18]    => eax = TIB地址 (32位视角)
mov ecx,dword ptr [eax+F70]  => F70偏移在公开TIB文档中未定义?
mov eax,dword ptr [ecx+78]   => eax = win32threadinfo (64位视角)

解读验证结论:

你的解读完全正确,具体拆解如下:

  • 第一行mov eax,dword ptr fs:[18]:在32位进程中(包括WoW64环境下的32位进程),fs:[18]确实指向32位TIB(线程信息块)的起始地址,这部分和原生32位系统的行为一致。
  • 第二行mov ecx,dword ptr [eax+0xF70]:这个0xF70属于WoW64环境下32位TIB的未公开内部偏移,公开的TIB结构文档中不会提及它。该偏移指向WoW64内部维护的线程关联结构,用来衔接32位进程与64位系统的线程数据。
  • 第三行mov eax,dword ptr [ecx+0x78]:这个0x78偏移对应的正是64位线程结构中Win32ThreadInfo的地址,通过这条指令,32位进程就能拿到目标结构的指针。

本质上这段代码是WoW64环境下,32位进程通过未公开的TIB内部字段,跨位获取系统级线程信息的典型逻辑。

内容的提问来源于stack exchange,提问作者Nerios

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 19:38:15