郁金香 fs寄存器
2024-09-07 03:39:34
为什么我们在追eax要挂主线程呢,这是因为它的数据来源在fs中
004D1000 为什么是这个呢
$ ==> 0392FFDC 指向SEH链表指针
$+4 03930000 线程堆栈顶部(地址最小) esp
$+8 038E6000 程堆栈底部(地址最大) ebp
$+C 00000000 SubSystemTib
$+10 0134F3A0 FiberData
$+14 00000000 ArbitraryUserPointer
$+18 7EFDD000 FS段寄存器在内存中的映射地址
$+1C 00000000 EnvironmentPointer : Ptr32 Void
$+20 00002298 进程ID _CLIENT_ID={tid,pid}
$+24 00002AC4 线程ID
$+28 00000000 RpcHandle
$+2C 01282D80 指向线程局部存储的指针 004D4DB3 | 64:8B0D 2C000000 | mov ecx,dword ptr fs:[2C]
$+30 7EFDE000 PEB结构地址(进程结构)
$+34 00000000 上一个错误(LastError) GetLastError
从FS寄存器获取当前进程ID
int GetCurrentProcessId()
{
int iProcess = 0;
_asm{
xor esi , esi
mov eax, fs:[esi+18h]//获取TEB
mov ecx, [eax+ 20h] ///获取进程ID
mov dword ptr[iProcess ], ecx///传递进程
}
return iProcess ;
}
最新文章
- 前端自动化开发之grunt
- Head中的标签
- intellij中编译报错: The packaging for this project did not assign a file to the build artifact
- 小程序 - c字符串表示大整数
- centOS 6.x 版本安装 node.js 4.x 以上版本的方法
- Git工作流指南:Gitflow工作流 Comparing Workflows
- JavaScript:exec()方法的用法及说明
- Linux内核Radix Tree(一)
- usbmanger android 底下USB的工作模式
- [CSS3]学习笔记-CSS基本样式讲解
- 架构师之路——单一职责原则SRP (我单纯,我快乐)
- 【开发技术】refactor 重构----实现文件改名
- SQL解决数值间隔问题
- Vue簡介
- spring okhttp3
- sqlalchemy操作----多表关联
- JAVA List合并集合
- git .gitignore未生效
- 【Spring学习笔记-5.1】Spring容器-父子容器
- SmartRaiden 和 Lighting Network 进行去中心化跨链原子资产交换
热门文章
- (C++) C++ template笔记 -- template关键字及typename关键字
- 学习ASP.NET Core Blazor编程系列十三——路由(完)
- Zabbix与乐维监控对比分析(一)——架构、性能篇
- Django框架:1、手撸web框架、Django框架简介、安装与使用和小白必会三板斧
- jQuery中each与data
- 去哪儿是如何做到大规模故障演练的?|TakinTalks
- 搭建漏洞环境及实战——搭建XSS测试平台
- python 之将xmind转为excel用例文件
- 来自一位十年.net研发老人的吐血整理:.Net技术栈-网址导航
- [python] 基于matplotlib实现圆环图的绘制