首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Windbg中读取进程环境块成员的值

在Windbg中读取进程环境块(PEB)成员的值,可以通过以下步骤实现:

  1. 打开Windbg调试工具,并加载目标进程。可以使用以下命令加载进程:
  2. 打开Windbg调试工具,并加载目标进程。可以使用以下命令加载进程:
  3. 在Windbg命令行中,使用以下命令获取进程环境块的地址:
  4. 在Windbg命令行中,使用以下命令获取进程环境块的地址:
  5. 根据上一步获取的进程环境块地址,使用以下命令读取特定成员的值。例如,要读取进程环境块中的ImageBaseAddress成员的值,可以使用以下命令:
  6. 根据上一步获取的进程环境块地址,使用以下命令读取特定成员的值。例如,要读取进程环境块中的ImageBaseAddress成员的值,可以使用以下命令:
  7. 注意:根据具体的成员偏移量进行调整。

以上步骤可以帮助你在Windbg中读取进程环境块成员的值。进程环境块是一个重要的数据结构,包含了进程的各种信息,如模块加载信息、命令行参数、环境变量等。通过读取进程环境块成员的值,可以获取进程的相关信息,用于调试和分析。

推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云调试工具(Cloud Debugger)。腾讯云服务器提供高性能、可靠的云服务器实例,可用于部署和运行各种应用程序。腾讯云调试工具是一款基于云端的调试工具,可帮助开发人员在云服务器上进行远程调试和故障排查。

腾讯云服务器产品介绍链接地址:https://cloud.tencent.com/product/cvm 腾讯云调试工具产品介绍链接地址:https://cloud.tencent.com/product/cdbugger

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

何在进程读取子(外部)进程标准输出和标准错误输出结果

最近接手一个小项目,要求使用谷歌aapt.exe获取apk软件包信息。依稀记得去年年中时,有个同事也问过我如何获取被调用进程输出结果,当时还研究了一番,只是没有做整理。...这个API参数非常多,我想我们工程对CreateProcess调用可能就关注于程序路径(lpApplicationName),或者命令行(lpCommandLine)。...它是我们启动子进程时,控制子进程启动方式参数。...我们之后将hWrite交给我们创建进程,让它去将信息写入管道。而我们父进程,则使用hRead去读取进程写入管道内容。...我想应该有人借用过网上相似的代码,但是却发现一个问题,就是读取出来信息是不全。这个问题关键就在读取方法上,其实没什么玄妙,只要控制好读取起始位置就行了。

3.8K10

Hells Gate一次尝试入门

2.前置知识 2.1 PEB数据结构 PEB地址: ​ 在x86进程线程进程(TEB)FS寄存器0x30偏移处找到。 ​...在x64进程线程进程(TEB)GS寄存器0x60偏移处找到。...进程环境是一个从内核中分配给每个进程用户模式结构,每一个进程都会有从Ring0层分配给该进程进程环境,在这里,我们主要需要了解_PEB_LDR_DATA以及其他子结构 在Crispr师傅博客处找到一个示意图...图片 使用windbg进行调试,可以看到TEB结构体是存在PEB进程环境,此处使用是x64程序进行演示。...,我们可以利InMemoryOrderLinks成员,来查看下一个_LDR_DATA_TABLE_ENTRY模块信息,并由于是双向链表结构,当循环回到第一个_LDR_DATA_TABLE_ENTRY

98220

1.5 编写自定位ShellCode弹窗

动态查找Kernel32.dll地址可总结为如下:1.首先通过段选择子FS在内存中找到当前进程线程环境结构体指针TEB。...2.线程环境偏移位置为fs:[0x30]位置处存放着指向进程环境PEB结构指针。3.进程环境PEB偏移为0x0c地址处存放着指向PEB_LDR_DATA结构体指针。...图片如上线程环境偏移位置为0x30地方存放着指向进程环境PEB指针。...2.在进程环境偏移位置为0x0c地方存放着指向PEB_LDR_DATA结构体指针,其中存放着已经被进程装载动态链接库信息,如下图所示;图片3.接着PEB_LDR_DATA结构体偏移位置为0x1c...通过PEB/TEB找到自身进程所有载入模块数据,首先获取TEB线程环境。在编程时候,TEB始终保存在寄存器FS

23020

1.5 编写自定位ShellCode弹窗

动态查找Kernel32.dll地址可总结为如下: 1.首先通过段选择子FS在内存中找到当前进程线程环境结构体指针TEB。...2.线程环境偏移位置为fs:[0x30]位置处存放着指向进程环境PEB结构指针。 3.进程环境PEB偏移为0x0c地址处存放着指向PEB_LDR_DATA结构体指针。...如上线程环境偏移位置为0x30地方存放着指向进程环境PEB指针。...2.在进程环境偏移位置为0x0c地方存放着指向PEB_LDR_DATA结构体指针,其中存放着已经被进程装载动态链接库信息,如下图所示; 3.接着PEB_LDR_DATA结构体偏移位置为0x1c...通过PEB/TEB找到自身进程所有载入模块数据,首先获取TEB线程环境。在编程时候,TEB始终保存在寄存器FS

35130

1.5 编写自定位ShellCode弹窗

动态查找Kernel32.dll地址可总结为如下:1.首先通过段选择子FS在内存中找到当前进程线程环境结构体指针TEB。...2.线程环境偏移位置为fs:[0x30]位置处存放着指向进程环境PEB结构指针。3.进程环境PEB偏移为0x0c地址处存放着指向PEB_LDR_DATA结构体指针。...图片如上线程环境偏移位置为0x30地方存放着指向进程环境PEB指针。...2.在进程环境偏移位置为0x0c地方存放着指向PEB_LDR_DATA结构体指针,其中存放着已经被进程装载动态链接库信息,如下图所示;图片3.接着PEB_LDR_DATA结构体偏移位置为0x1c...通过PEB/TEB找到自身进程所有载入模块数据,首先获取TEB线程环境。在编程时候,TEB始终保存在寄存器FS

30520

0x000000fc (ATTEMPTED EXECUTE OF NOEXECUTE MEMORY)

k* 显示模块kernerl32所有以k开头函数 dv 显示局部变量值 dv /i/t/v 显示局部变量类型,相关信息。 x !* / ?...该命令可显示内核用来代表一个进程EPROCESS结构(该结构并没有正式说明文档)成员及其偏移量。 尽管该命令仅列出了成员偏移量,但你也能很容易猜出其正确类型。...内存访问断点 6、下内存访问断点 WinDbg,ba命令代表Break On Access,即访问时中断。...断点之于调试当然是非常重要 常用命令: bp [Address]or[Symbol] 在指定地址下断 可以使用地址或符号, bp 80561259(Windbg默认使用16进制) bp...NtTerminateProcess,但是只想在某一进程触发此断点时才断下来,那就加上这个参数吧,因为内核代码是各个进程共用,所以此 命令很实用 bp [Address] /t ethread

1.3K10

CC++ 编写并提取通用 ShellCode

这里有一个公式,可以动态查找到 Kernel32.dll 地址,如下: 通过段选择字FS在内存中找到当前线程环境TEB。...线程环境偏移位置为0x30地方存放着指向进程环境PEB指针。 进程环境偏移为 0x0c 存放着指向 PEB_LDR_DATA 结构体指针。...---- 既然有了固定公式,接下我们就使用WinDBG调试器来手工完成对 Kernel32.dll 地址定位: 1.首先我们运行 WinDBG调试器,然后按下【Ctrl + K】选择文件(File)...2.通过段选择字FS在内存中找到当前线程环境TEB。这里可以利用本地调试,输入!teb 指令: 线程环境偏移位置为 0x30 地方存放着指向进程环境PEB指针。...结合上图可见,PEB地址为0x7ffd7000。 3.进程环境偏移位置为 0x0c 地方存放着指向 PEB_LDR_DATA 结构体指针,其中存放着已经被进程装载动态链接库信息。

44920

使用WinDbg查看保护模式分页机制下物理地址

我们知道,当今主流x86/x64 Intel处理器默认都使用了保护模式,不同于8086时代实模式机制,保护模式和分页机制实现了内核层与用户层隔离,进程间执行环境隔离。...才能找到映射该内存地址物理地址,下面让我们使用WinDbg工具来看一下系统如何通过虚拟地址找到真正物理地址: 首先要构建一个双机调试环境(见另一篇文章看,本文使用虚拟机为Win7 x86...sp1),我使用WinDbg和virtualKD,将virtualKD插件装到虚拟机,然后重启虚拟机: ?...可以看出记事本进程进程起始地址为882e4030 因为当前是在系统进程断下,所以此时我们要切换到记事本进程 使用.process -i 882e4030(进程地址)命令,在输入 g 命令将WinDbg...通过 r cr3命令查看cr3寄存器,得到cr3=7eaf6540,即为页目录基址(注意,cr3保存是物理地址,用WinDbg查看物理地址时要在最前面加上!

1.8K10

从 CVE-2016-0165 说起:分析、利用和检测(下)

显示 EPROCESS 结构 根据获取各个成员偏移,通过 ActiveProcessLinks 成员获取下一个进程 EPROCESS 对象 ActiveProcessLinks 成员域首地址就可以计算出...判断当前遍历到 EPROCESS 对象 UniqueProcessId 成员是否和当前进程进程 ID 相等,如果相等就定位到了当前进程 EPROCESS 节点。...数据替换成 System 进程拥有的 Token 数据。...Token 结构数据 在这里由于在提权完成后会将 Token 替换回去,所以暂不关注 Token 指针引用计数增减。...该漏洞利用检测逻辑相对比较简单,编写内核驱动程序并对在漏洞触发关键位置插入陷阱帧,将相关寄存器以参数形式传入陷阱帧处理函数,并在处理函数判断寄存器是否满足漏洞触发条件。

39020

Windbg来分析.Net程序dump

WinDbg是微软很重要诊断调试工具: 可以查看源代码、设置断点、查看变量, 查看调用堆栈及内存情况。 Dump文件是进程内存镜像, 可以把程序执行状态通过调试器保存到dump文件 2....Windbg可以解决以下问题 ◆ 内存高 ◆ CPU高 ◆ 程序异常 ◆ 程序Hang死 3. 使用windbg进行调试分析两种方式 使用windbg调试器attach到需要调试进程。...(会暂停进程运行) 抓取进程dump文件,使用windbg分析dump 一.准备 1.下载 官网地址: https://developer.microsoft.com/zh-cn/windows/hardware...获取命令提示 D 查看内存信息 K 观察栈 ~ 显示和控制线程 ~number s number为线程id :~1s为获取1号线程上下文 Q 退出 !...【读取文件代码】 ? 【在代码执行过程抓取dump文件打开,并加载sos.dll】 ? ? 【运行!dumpheap –stat获取最高内存占用地址】 ? 【!

2.6K60

WinDbg 漏洞分析调试(一)

这里我们先打开IE浏览器,可以知道对每个选项卡IE都会创建一个子进程来处理,接着我们打开WinDbg并附加到当前IE页面进程,“|”和“~”命令可用于查看进程和线程状态,注意前面有个小点是此时所处进程和线程...当然,如果需要WinDbg也是可以同时调试多个进程,更详细内容我们可以通过“!peb”和“!...、导入表、重定位表等数据,通过“!...图0 Internet Explorer主要组件 2、漏洞成因 用到分析环境为Win7 x86 - IE 8.0.7601.17514,装完系统后默认就是此IE版本,后面的分析都是在此环境下进行...,最开始创建时span属性为6,而后通过jsover_trigger()函数将其动态更新为666,当然,更新后可以是任意,只要能保证溢出就可以了。

1.4K40

驱动开发:运用VAD隐藏R3内存思路

进程_EPROCESS中有一个_RTL_AVL_TREE类型VadRoot成员,它是一个存放进程内存二叉树结构,如果我们找到了这个二叉树我们想要隐藏内存,直接将这个内存在二叉树抹去,其实是让上一个节点...EndingVpn指向下个节点EndingVpn,类似于摘链隐藏进程,就可以达到隐藏效果。...process 0 0枚举所有进程,并得到我们所需进程EProcess地址。 检查进程!...process ffffe28fbb451080得到VAD地址ffffe28fbe0b7e40 此处以0xf00000为例,这里我们看到windbg进程中分配内存地址并不完全一样,这是因为x86...所以计算结果刚好等于0xf00000 而隐藏进程内特定内存段核心代码在于p1->EndingVpn = p2->EndingVpn;将VAD前后节点连接。

40210

搭建一个自动化分析 DUMP 平台

另一个是通过 WinDbg 进行稍微自动化自动读取 DUMP 信息导出工作,以及通过这些导出内容再次做处理工作 敲黑板,如果是 .NET 应用, WPF 或 WinForms 应用,还请优先搭建日志模块...来分析 我推荐你在自动分析服务器上,先使用 WinDbg 手动分析一个 DUMP 用来确定你本地环境,以及让本地缓存足够符号文件。...WinDbg ,让 WinDbg 执行,然后输出为本地文件。...如我所在团队,只需要处理甩锅就可以了,我只需要了解到当前 DUMP 大概原因,通过分类算法处理 WinDbg 输出文件,然后分为不同其他团队就可以了 在 WinDbg ,可以使用 -c 命令,...边学边记attach 进程和open dump两个方式查看线程占用cpu资源 core/portable_pdb.md at main · dotnet/core ----

1.6K10

dotnet 使用 windbg 运行脚本方式自动批量调试处理 dump 文件

其次环境问题是比较杂项第三方注入问题、输入法带崩问题、某些系统组件坏掉。...,或者是考虑跨进程调用了 通过分析用户问题,根据时间加入分析,可以了解到趋势信息。...本文介绍自动化分析方法比较适合用在有大量 dump 文件,人工调试不过来情况,如果本身团队规模比较小,那就只能用于满足领导们汇报需求了,比如用于吹质量设计 在 windbg 工具,可以使用 -...clrstack 命令输出信息。完成以上步骤,接下来就是按照自己喜好,编写一些 C# 逻辑,让 WinDbg 跑起来,自动分析 dump 文件。然后读取分析结果日志文件,分析日志文件里面的内容。...额外,在现实使用,可能还会带上 -y 参数,用于指定符号文件夹,减少加载符号时,拉取符号耗时,参数是 -y [符号文件夹] 格式

23410

恶意代码分析实战总结

反虚拟机技术->漏洞指令sidt,根据返回idtr不同,在多核处理器上无效 (5)No Pill技术->漏洞指令sldt,主机系统上LDTR为0,虚拟机不为0 (6)查看查询I/O通信端口...IMAGE_FILE_HEADER 文件属性字段 普通EXE文件这个字段一般是010fh,DLL文件这个字段是0210h 注意:当磁盘文件一旦被装入内存,磁盘上数据结构布局和内存数据结构布局是一致...:IsDebuggerPresent->查询进程环境(PEB)IsDebugged标志 CheckRemoteDebuggerPresent和上面类似,也是检查查询进程环境(PEB)IsDebugged...,如果在调试,错误码不变 手动检测数据结构:PEB结构BeingDebugged、ProcessHeap(进程分配第一个堆位置)Flags属性字段 windbg使用禁用调试堆栈来启动进程 调试和正常模式下启动进程...,svch0st.exe,winlogin.exe等; (4) 注入进系统进程svchost.exe,explorer.exe,iexplore.exe等; (5) 创建服务,服务执行路径为病毒文件

2.3K20

驱动开发:运用VAD隐藏R3内存思路

进程_EPROCESS中有一个_RTL_AVL_TREE类型VadRoot成员,它是一个存放进程内存二叉树结构,如果我们找到了这个二叉树我们想要隐藏内存,直接将这个内存在二叉树抹去,其实是让上一个节点...EndingVpn指向下个节点EndingVpn,类似于摘链隐藏进程,就可以达到隐藏效果。...process 0 0枚举所有进程,并得到我们所需进程EProcess地址。图片检查进程!...process ffffe28fbb451080得到VAD地址ffffe28fbe0b7e40图片此处以0xf00000为例,这里我们看到windbg进程中分配内存地址并不完全一样,这是因为x86...图片所以计算结果刚好等于0xf00000图片而隐藏进程内特定内存段核心代码在于p1->EndingVpn = p2->EndingVpn;将VAD前后节点连接。

40430

内核漏洞利用:通过WARBIRD在Windows 10上提升权限

搭建实验环境 为了能搭建实验环境,我们需要一些虚拟机: Windows 10 Creators Update x86 - 这是靶机 带有WinDBGWindows系统 - 这个供调试使用 在靶机上,我们需要使用以下命令启用...完成之后,我们就移步到exploit使用重要概念—进程注入 进程注入 如果参考所公开信息,那么将看到以下内容: 如果我们创建一个16位程序(debug.exe),并将利用代码注入ntvdm,那么就可以防止系统在尝试写入...Windows进程注入通常使用许多Win32 API(出于练习目的,我们会忽略其他技术,Atom Bombing),具体为: OpenProcess VirtualAllocEx WriteProcessMemory...如果我们将这段代码添加到一个DLL,并将其注入到NTVDM进程,我们发现WinDBG会触发以下断点: ?...这是由于我们方法只是跳过内核释放锁获取过程。为了让我们退出syscall,我们需要更新shellcode,通过将我们线程清零来从线程删除锁定: ?

1.5K80
领券