专栏首页Eureka伽罗的技术时光轴x64 gs寄存器的一点资料

x64 gs寄存器的一点资料

gs:[0x20] prcb gs:[0x30] TEB gs:[0x40] Pid gs:[0x48] Tid gs:[0x60] PEB gs:[0x68] LastError

gs:[0x188]     _ethread

值得一提的是,虽然gs:[0x60] 直接存放的PEB,但是由于vista/7后的地址随机化机制,还是从TEB获取比较靠谱. 0:009> dt 000007fffff98000 _TEB ntdll!_TEB +0×000 NtTib : _NT_TIB +0×038 EnvironmentPointer : (null) +0×040 ClientId : _CLIENT_ID +0×050 ActiveRpcHandle : (null) +0×058 ThreadLocalStoragePointer : (null) +0×060 ProcessEnvironmentBlock : 0x000007ff`fffd5000 _PEB //这里即是PEB //用c语言描述就是 #define x64_GetPeb() ( (LONG64*)(*((LONG64*)((BYTE*)x64_GetTeb()+0×060))) ) 得到了PEB,剩下的就和x86下一样了.只是偏移不一样了 0:009> dt 0x000007ff`fffd5000 _PEB ntdll!_PEB +0×000 InheritedAddressSpace : 0 ” +0×001 ReadImageFileExecOptions : 0 ” +0×002 BeingDebugged : 0×1 ” +0×003 BitField : 0×8 ” +0×003 ImageUsesLargePages : 0y0 +0×003 IsProtectedProcess : 0y0 +0×003 IsLegacyProcess : 0y0 +0×003 IsImageDynamicallyRelocated : 0y1 +0×003 SkipPatchingUser32Forwarders : 0y0 +0×003 SpareBits : 0y000 +0×008 Mutant : 0xffffffff`ffffffff Void +0×010 ImageBaseAddress : 0×00000000`ff310000 Void +0×018 Ldr : 0×00000000`77222640 _PEB_LDR_DATA 0:009> dt 0×00000000`77222640 _PEB_LDR_DATA ntdll!_PEB_LDR_DATA +0×000 Length : 0×58 +0×004 Initialized : 0×1 ” +0×008 SsHandle : (null) +0×010 InLoadOrderModuleList : _LIST_ENTRY [ 0x00000000`00202780 - 0x2421b0 ] +0×020 InMemoryOrderModuleList : _LIST_ENTRY [ 0x00000000`00202790 - 0x2421c0 ] +0×030 InInitializationOrderModuleList : _LIST_ENTRY [ 0x00000000`00202890 - 0x2421d0 ] 同样的,搜索InInitializationOrderModuleList 即可得到Kernel32的基址. 由于x64下vs2005没法直接使用内联汇编,所以只把必须使用汇编来做的事情写成单独的asm x64下.指针的长度已经是8个字节,所以偏移不一样了. 0:009> dt _LDR_DATA_TABLE_ENTRY ntdll!_LDR_DATA_TABLE_ENTRY +0×000 InLoadOrderLinks : _LIST_ENTRY +0×010 InMemoryOrderLinks : _LIST_ENTRY +0×020 InInitializationOrderLinks : _LIST_ENTRY +0×030 DllBase : Ptr64 Void +0×038 EntryPoint : Ptr64 Void +0×040 SizeOfImage : Uint4B +0×048 FullDllName : _UNICODE_STRING

https://blog.csdn.net/cosmoslife/article/details/52851788

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android 二维码 生成和识别(附Demo源码)

    今天讲一下目前移动领域很常用的技术——二维码。现在大街小巷、各大网站都有二维码的踪迹,不管是IOS、Android、WP都有相关支持的软件。之前我就想了解二维码...

    战神伽罗
  • Win32 Thread Information Block

    In computing, the Win32 Thread Information Block (TIB) is a data structure in Wi...

    战神伽罗
  • c使用汇编的变量

    C文件中的变量和函数名 name, 对应于 汇编语言中的 _name,即在变量或者函数名前加一个"_". 由于C++ 支持重载,即可以定义函数名相同,...

    战神伽罗
  • 挖洞经验 | HackerOne平台ImageMagick漏洞导致服务器内存信息泄露

    大家好,今天我要分享的是关于HackerOne平台GIF图像处理的ImageMagick漏洞(CVE-2017–15277),漏洞很简单,最终也获得了Hacke...

    FB客服
  • SwiftUI:创建底部导航栏 tabBar

    导航视图非常适合让我们创建分层的视图堆栈,以使用户能够向下获取数据,但对于显示不相关的数据而言效果不佳。为此,我们需要使用SwiftUI的 TabView,它会...

    韦弦zhy
  • 工程之道,深度学习推理性能业界最佳优化实践

    MegEngine「训练推理一体化」的独特范式,通过静态图优化保证模型精度与训练时一致,无缝导入推理侧,再借助工业验证的高效卷积优化技术,打造深度学习推理侧极致...

    AI科技评论
  • ​机器学习模型生产环境部署的四种系统架构总结

    一旦数据科学家对模型的性能感到满意,下一步便是“模型生产环境部署”, 没有系统的合理配置,您的Kaggle Top1模型可能只是垃圾。

    deephub
  • R Tricks: 如何巧为观测标记序号

    本期大猫课堂将会开始一个新的系列:你不知道的R Tricks。这个系列将搬运stackoverflow.com(以后简称SO)上关于R数据处理的一些经典问答。大...

    用户7652506
  • 人工智能平台Gastrograph:利用数据探测口感,让食物更符合你的口味

    虽然各种科幻剧集中的机器人看起来还有很长的路要走,但人工智能技术已经在食品和餐饮领域大量应用:从制作餐厅推荐,减少食物浪费,到识别顾客的面部,确保披萨配料均匀分...

    AiTechYun
  • LayUI switch 开关监听 获取属性值、更改状态

    泥豆芽儿 MT

扫码关注云+社区

领取腾讯云代金券