freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Clairvoyance:一款功能强大的Windows进程内存地址空间可视化工具
2021-01-06 13:46:56

工具概述

Clairvoyance是一款功能强大的Windows进程内存地址空间可视化工具,它可以针对一个Windows 64位内核中运行的整个64位进程地址空间(用户和内核)创建一个丰富多彩的页面保护可视化界面。

该工具利用hilbert空间填充曲线将一维空间即地址空间转化为二维可视化界面。上图中的每个彩色像素表示虚拟内存中4KB页的页保护(UserRead、UserReadWrite等)。

地址空间是通过从使用WindDbg生成的内核崩溃转储中手动解析与进程相关联的四级页表层次结构来直接计算的。

最后,该工具将输出一个文件,其中包含在二维画布上显示该文件所需的元数据,并且能够计算与特定高亮显示像素相对应的虚拟地址。

工具下载

广大研究人员可以直接访问该项目的【Releases页面】来下载对应操作系统平台的预编译版本。

工具使用

为了生成内核崩溃导出信息,我们建议大家使用WinDbgKDNet,并使用下列命令:

.dump /f

获取到导出信息之后,我们可以将其路径传递给Clairvoyance,接下来Clairvoyance便会在浏览器中以可视化的形式将数据显示出来:

枸橘构建

我们可以使用clang++-11在Linux上构建Clairvoyance,或使用微软的Visual Studio 2019在Windows上构建Clairvoyance。

如需自行动手构建Clairvoyance,可以使用项目目录build/下的脚本来实现:

(base) clairvoyance\build>build-msvc.bat

(base) clairvoyance\build>cmake ..

-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042.

-- Configuring done

-- Generating done

-- Build files have been written to: clairvoyance/build

 

(base) clairvoyance\build>cmake --build . --config RelWithDebInfo

Microsoft (R) Build Engine version 16.8.2+25e4d540b for .NET Framework

Copyright (C) Microsoft Corporation. All rights reserved.

 

  clairvoyance.vcxproj -> clairvoyance\build\RelWithDebInfo\clairvoyance.exe

  Building Custom Rule clairvoyance/CMakeLists.txt

工具使用截图

页面堆内存:

内核栈:

系统缓存:

项目地址

Clairvoyance:【GitHub传送门

# 内存提取 # 内存安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录