前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Clairvoyance:一款Windows进程内存地址空间可视化工具

Clairvoyance:一款Windows进程内存地址空间可视化工具

作者头像
FB客服
发布2023-04-26 20:42:14
5550
发布2023-04-26 20:42:14
举报
文章被收录于专栏:FreeBufFreeBuf

工具概述

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

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

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

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

工具下载

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

工具使用

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

代码语言:javascript
复制
.dump /f

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

枸橘构建

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

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

代码语言:javascript
复制
(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:

https://github.com/0vercl0k/clairvoyance

精彩推荐

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-01-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 工具概述
  • 工具下载
  • 工具使用
  • 枸橘构建
  • 工具使用截图
    • 页面堆内存:
      • 内核栈:
        • 系统缓存:
        • 项目地址
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档