为什么我们在追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 ;
}

最新文章

  1. 前端自动化开发之grunt
  2. Head中的标签
  3. intellij中编译报错: The packaging for this project did not assign a file to the build artifact
  4. 小程序 - c字符串表示大整数
  5. centOS 6.x 版本安装 node.js 4.x 以上版本的方法
  6. Git工作流指南:Gitflow工作流 Comparing Workflows
  7. JavaScript:exec()方法的用法及说明
  8. Linux内核Radix Tree(一)
  9. usbmanger android 底下USB的工作模式
  10. [CSS3]学习笔记-CSS基本样式讲解
  11. 架构师之路——单一职责原则SRP (我单纯,我快乐)
  12. 【开发技术】refactor 重构----实现文件改名
  13. SQL解决数值间隔问题
  14. Vue簡介
  15. spring okhttp3
  16. sqlalchemy操作----多表关联
  17. JAVA List合并集合
  18. git .gitignore未生效
  19. 【Spring学习笔记-5.1】Spring容器-父子容器
  20. SmartRaiden 和 Lighting Network 进行去中心化跨链原子资产交换

热门文章

  1. (C++) C++ template笔记 -- template关键字及typename关键字
  2. 学习ASP.NET Core Blazor编程系列十三——路由(完)
  3. Zabbix与乐维监控对比分析(一)——架构、性能篇
  4. Django框架:1、手撸web框架、Django框架简介、安装与使用和小白必会三板斧
  5. jQuery中each与data
  6. 去哪儿是如何做到大规模故障演练的?|TakinTalks
  7. 搭建漏洞环境及实战——搭建XSS测试平台
  8. python 之将xmind转为excel用例文件
  9. 来自一位十年.net研发老人的吐血整理:.Net技术栈-网址导航
  10. [python] 基于matplotlib实现圆环图的绘制