首页 > 其他分享 >【技术研究】线程环境块TEB

【技术研究】线程环境块TEB

时间:2023-09-22 23:24:16浏览次数:40  
标签:FS 0x18 TEB 环境 这个 线程 TIB

今天继续看逆向工程核心原理,今天看到了TEB,这个部分之前看加密与解密的时候基本上就没看明白,这次打算把环境配置完备,全部都实践一次。
首先看到的是TEB结构体

TEB结构体成员




里面的重要成员有两个

  • _NT_TIB
  • ProcessEnvironmentalBlock
    第二个是个指向结构体的指针
    第一个是NT_TIB结构体 这个TIB是线程信息块

    第一个是一个意外报错项
    其他重要的就是self,这是一个自引用指针
    还有一个是刚刚的ProcessEnvironmentBlock成员
    在虚拟机里面实践一下
    用OD打开一个进程,比如这个notepad,在查找所有模块名称里面找到这个API

    点进去

    可以看到这里是把fs:【0x18】,根据信息框的信息,是7EFDD018的内容,也就是7EFDD000给了EAX,然后传了出去
    所以这里返回的其实是7EFDD000。
    然后后面要研究一下FS这个是干什么用的。

    根据另外的一些资料,计算机系统当中不止这一个段寄存器,在线程分配过来的时候,FS分到了。然后FS分配到了notepad所需要的内存空间。
    而FS作为16位,无法表示4G虚拟内存,所以这个FS其实并非直接指向地址,而是一个SDT的索引,类似于一个表,这个SDT有TEB地址,所以是FS【0x18】指向这个表的0x18位,然后0x18位有个TEB位置。
    他需要GDTR共同作用。

    后续继续学习,今天先睡了

标签:FS,0x18,TEB,环境,这个,线程,TIB
From: https://www.cnblogs.com/Corax0o0/p/17723671.html

相关文章

  • maven和nodejs环境安装
    1.maven安装  wgethttps://dlcdn.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz--no-check-certificate  参考连接:https://blog.csdn.net/yao583224426/article/details/1317396842.Node安装  nodejs官方:http://nodejs.cn/  cd/opt#......
  • 进程与线程
    目录进程定义特点线程定义特点进程与线程的联系与区别联系区别扩展并行与并发相关参考开始前先看一组非常传神的图例,相信可以帮助你更好理解进程与线程的概念:进程定义什么是进程?进程是一个具有一定独立功能的程序在一个数据集合上依次动态执行的过程。进程是计算机中正在......
  • 环境准备
         ......
  • 假设 a 是一个由线程 1 和线程 2 共享的初始值为 0 的全局变量,则线程 1 和线程 2 同时
    假设a是一个由线程1和线程2共享的初始值为0的全局变量,则线程1和线程2同时执行下面的代码,最终a的结果不可能是()booleanisOdd=false;for(inti=1;i<=2;++i){if(i%2==1)isOdd=true;elseisOdd=false;a+=i*(isOdd?1:-1);}A:-1B:-2C:0D:1......
  • VMware vCenter Server 8.0U2 发布 - 集中式管理 vSphere 环境
    VMwarevCenterServer8.0U2发布-集中式管理vSphere环境2023-09-21,北京时间22日凌晨vSphere8.0Update2正式发布。请访问原文链接:https://sysin.org/blog/vmware-vcenter-8-u2/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgvSphere8.0U2新增功能,请......
  • C# 指定物理目录下载文件,Response.End导致“正在中止线程”异常的问题
    https://blog.51cto.com/u_15116285/5964873https://blog.csdn.net/phphot/article/details/4211921https://www.codenong.com/20988445/https://www.dbmng.com/art-2500.html现象:通过浏览器下载pdf文件,下载可以正常下载,可是却会抛出异常,提示正在中止线程。查了资料,能看懂的......
  • conda 创建/删除/重命名 环境
    创建新环境condacreate-nrcnnpython=3.6删除环境condaremove-nrcnn--all重命名环境conda其实没有重命名指令,实现重命名是通过clone完成的,分两步:先clone一份newname的环境删除oldname的环境比如,想把环境rcnn重命名成tf第1步condacreate-ntf--clonercnnSo......
  • 记一个多线程调用同一个函数引发的数据冲突问题
    main.py负责接收请求,异步起线程调用高度离散的B(a、b、c...).py类文件,B(a、b、c...).py类文件在执行结束后会统一调用C.py文件中的一个函数规范处理结果,C.py本来的用途是解耦提高代码复用,但在高并发情况下出现了数据冲突的问题。即只有B(a).py才会产生的结果给写进了只会调用B(b).......
  • 深入浅出线程池 | 京东云技术团队
    一、线程1、什么是线程线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。2、如何创建线程2.1、JAVA中创建线程/***继承Thread......
  • 支付宝一面:多线程事务怎么回滚?说用 @Transactional 可以回去等通知了!
    背景介绍1,最近有一个大数据量插入的操作入库的业务场景,需要先做一些其他修改操作,然后在执行插入操作,由于插入数据可能会很多,用到多线程去拆分数据并行处理来提高响应时间,如果有一个线程执行失败,则全部回滚。2,在spring中可以使用@Transactional注解去控制事务,使出现异常时会进行......