线程环境块(PEB)的地址在哪里??

better0332 2007-01-01 10:30:26
线程环境块(PEB)的地址是不是fs的值,fs:[18h],fs:[30h]又是什么地方?
...全文
586 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
OOPhaisky 2007-01-03
  • 打赏
  • 举报
回复
什么操作系统?
thinkSJ 2007-01-03
  • 打赏
  • 举报
回复
线程环境块应该是TEB,一般存储在[FS:0]。
TEB是是一个结构体,fs:[18h]又是一个TEB的指针,
fs:[30h]指向了PEB(进程环境块)
具体的可以参考“www.pediy.com"出版的“加密与解密”及“软件加密技术”两书,里面有详细的介绍。
pilixuanke 2007-01-03
  • 打赏
  • 举报
回复
线程环境块应该是TEB,一般存储在[FS:0]。
TEB是是一个结构体,fs:[18h],fs:[30h]当然是结构体中的成员啦!
具体的可以参考“www.pediy.com"出版的“加密与解密”及“软件加密技术”两书,里面有详细的介绍。
better0332 2007-01-03
  • 打赏
  • 举报
回复
windows 2000
fs指向PEB
fs:[30h]指向TEB
caocheng8230 2007-01-02
  • 打赏
  • 举报
回复
better0332 2007-01-02
  • 打赏
  • 举报
回复
资源下载链接为: https://pan.quark.cn/s/1f639ce7a216 Unicorn学习笔记:基于Unicorn封装PE分析环境 Unicorn是一款强大的CPU仿真引擎,能够模拟CPU的运行环境,为PE(Portable Executable,可移植可执行文件)分析提供了新的思路。与传统操作系统概念不同,仿真环境下的代码运行需要在虚拟内存中构造所需的资源和数据。这包括但不限于PEB(Process Environment Block,进程环境)、TEB(Thread Environment Block,线程环境)、Ldr(加载器)、线程管理、堆管理、句柄管理、文件管理、多线程、异步同步以及API模拟等功能模。经过几周的实践和探索,我成功搭建了一个基础的轮子demo,初步实现了PE分析环境的封装。 该环境的搭建主要涉及以下几个关键模: 进程空间栈和堆空间:为程序运行提供必要的内存空间,模拟真实操作系统中的栈和堆的分配与管理。 GDT(Global Descriptor Table,全局描述符表)和代码映射:用于模拟CPU的内存分段管理和代码的加载映射。 初始化PEB、TEB和PEBLDR_DATA:这些模是Windows操作系统中进程和线程运行的基础数据结构,通过初始化它们,为PE文件的运行提供必要的上下文环境。 加载System DLL并修复IAT(Import Address Table,导入地址表)重定位:模拟操作系统加载系统DLL的过程,并修复PE文件的IAT,确保程序能够正确调用所需的API函数。 样本自身的IAT和重定位:对PE文件自身的IAT和重定位信息进行处理,使其能够在仿真环境中正确解析和运行。 设置函数回调,处理API执行:通过设置回调函数,模拟API的执行过程,实现对程序行为的监控和分析。 异常处理:模拟操作系统中的异常处

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧