如何使用WinDiff浏览和对比Windows源代码中的符号和系统调用信息

这篇具有很好参考价值的文章主要介绍了如何使用WinDiff浏览和对比Windows源代码中的符号和系统调用信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于WinDiff

WinDiff是一款功能强大的Windows二进制源代码安全分析与调试工具,该工具完全开源,基于Web实现其功能,可以帮助广大研究人员在不同版本的操作系统中浏览和对比Microsoft Windows二进制文件的符号、类型和系统调用信息。其中,WinDiff的二进制源码数据库支持自动更新,以包含来自最新Windows更新升级(包括Insider Preview)的信息。

该工具受到了ntdiff项目的启发,并使用了Winbindex项目的部分功能。

工具运行机制

WinDiff主要由两部分组成,即一个使用Rust编写的CLI工具,和一个使用TypeScript和Next.js框架开发的Web前端。

CLI工具用于从配置文件中生成压缩的JSON数据库,并依赖于Winbindex来查找和下载所需的PE(和PDB)。CLI工具的主要目的是能够在发布新版本的Windows时轻松更新和重新生成数据库。CLI工具的代码位于项目的windiff_CLI目录中。

Web前端用于以用户友好的方式可视化CLI工具生成的数据。前端遵循与ntdiff相同的原理,因为它允许浏览从某些版本的Microsoft Windows的官方Microsoft PE和PDB中提取的信息,并允许在不同版本之间比较这些信息。前端的代码位于项目的windiff_frontend目录中。

与此同时,该工具还会设置一个GitHub Action计划任务,用来每天从Winbindex获取新的更新数据,并更新用于生成WinDiff实时版本的配置文件。

工具要求

Rust 1.68+

Node.js 16.8+

工具下载

广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/ergrelet/windiff.git

代码构建

我们可以直接切换到项目目录中,并寻找到“ci/build_frontend.sh”脚本。该脚本可以帮助我们完全自动化完成实时版本的WinDiff构建,脚本代码如下:

# 解析项目根目录

PROJECT_ROOT=$(git rev-parse --show-toplevel)

 

# 生成数据库

cd "$PROJECT_ROOT/windiff_cli"

cargo run --release "$PROJECT_ROOT/ci/db_configuration.json" "$PROJECT_ROOT/windiff_frontend/public/"

 

# 构建前端

cd "$PROJECT_ROOT/windiff_frontend"

npm ci

npm run build

用于为实时版本WinDiff生成数据所使用的配置文件路径为“ci/db_configuration.json”,但是我们可以根据自己的需求对其进行自定义修改和配置。

工具运行截图

如何使用WinDiff浏览和对比Windows源代码中的符号和系统调用信息,windows

许可证协议

本项目的开发与发布遵循GPL-3.0开源许可证协议。

项目地址

WinDiff:【GitHub传送门】

参考资料

GitHub - ntdiff/ntdiff

GitHub - m417z/winbindex: An index of Windows binaries, including download links for executables such as exe, dll and sys files文章来源地址https://www.toymoban.com/news/detail-809406.html

到了这里,关于如何使用WinDiff浏览和对比Windows源代码中的符号和系统调用信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何选择源代码加密软件

    比较内容 安全容器(SDC沙盒) DLP 文档加密 云桌面 代表厂家 *信达 卖咖啡、赛门贴科 亿*通、IP噶德、*盾、*途 四杰、深*服 设计理念 以隔离容器加准入技术为基础,构建只进不出,要出需走审批的数据安全环境,环境内数据一视同仁,不区分文件格式,一律保护。 以内容识别

    2024年02月07日
    浏览(63)
  • 如何在IDEA上运行Fess源代码

    说明 本文讲述的是如何将Fess源码在IDEA上运行起来,方便我们的研究 前提, 你已经在GitHub上下载了源码包 并且已经下载完了Maven的相关依赖 与Fess版本匹配的ES节点也已经启动了,并且做好了与Fess连接的适配 第三点可以参考我的另一篇博文elasticsearch节点需要做哪些工作才能

    2023年04月26日
    浏览(51)
  • Java源代码是如何编译,加载到内存中的?

    相信许多开发同学看过《深入理解java虚拟机》,也阅读过java虚拟机规范,书籍和文档给人的感觉不够直观,本文从一个简单的例子来看看jvm是如何工作的吧。 本文所有操作均在mac上进行。 示例代码采用最常见的双重检索单例模式: 经过编译后,我们得到class文件,然后用

    2024年02月13日
    浏览(47)
  • VS 如何取消git源代码管理,如何取消将解决方案添加到代码管理,如何取消签入?

    Visual Studio 不小心在解决方案中勾选“将解决方案添加到源代码管理”,在侧栏中显示蓝色小锁的图标, 并产生“已签入”的字样,如何取消代码管理呢? 首先,在 “工具 - 选项” 中找到 “源代码管理 - 插件选择”,再将下拉框中的“Git”改为“无”。 此时,源代码管理

    2024年02月13日
    浏览(58)
  • 【计算机视觉】如何利用 CLIP 做简单的人脸任务?(含源代码)

    CELEBA 数据集( CelebFaces Attributes Dataset )是一个大规模的人脸图像数据集,旨在用于训练和评估人脸相关的计算机视觉模型。该数据集由众多名人的脸部图像组成,提供了丰富的人脸属性标注信息。 以下是 CELEBA 数据集的一些详细信息: 规模: CELEBA 数据集包含超过 20 万张名

    2024年02月04日
    浏览(54)
  • 【计算机视觉】如何利用 CLIP 做简单的图像分类任务?(含源代码)

    要使用 CLIP 模型进行预测,您可以按照以下步骤进行操作: 安装依赖:首先,您需要安装相应的依赖项。您可以使用 Python 包管理器(如 pip )安装 OpenAI 的 CLIP 库。 导入所需的库,包括 clip (用于加载和使用 CLIP 模型)、 torch ( PyTorch 框架)和 PIL (用于图像处理)。 设置

    2024年02月16日
    浏览(47)
  • 使用 Python3 获取网页源代码

            爬虫的数据爬取量非常大,显然不可能对每个页面都手动复制源代码,因此就有必要使用自动化的方式来获取网页源代码。requests是Python的一个第三方HTTP(Hypertext Transfer Protocol,超文本传输协议)库,它比Python自带的网络库urllib更加简单、方便和人性化。使用re

    2023年04月16日
    浏览(54)
  • 使用Python绘制圣诞树教程(附源代码)

    🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 又是一年一度的圣诞节快到了,作为程序猿那必须露一手,最终效果图如下: 目录 1.turtle库

    2024年02月04日
    浏览(77)
  • vscode源代码管理简单使用(默认上传github)

    在vscode中的插件管理输入如下后下载 点击文件--首选项--设置 点击右上角设置小图标   首先仓库文件一定是要git init是git所管理的 1.在代码文件夹下使用git init创建仓库 2.打开vscode的git管理  3.点击添加暂存区,再点击提交,可以输入提交内容 单个提交 全部提交到暂存区  

    2024年01月19日
    浏览(47)
  • 如何重新发布修改后的 Apache License, Version 2.0 协议下的源代码(二)

    2022-02-22 周二 接着“如何重新发布修改后的 Apache License, Version 2.0 协议下的源代码(一)”中的内容,在那里提到的是:将源文件拷贝过来修改再发布的处理方式,但是如果想借用并修改了其它开源协议下的某个函数呢?我想我可以参考:“GraphicsMagick Copyrights and Licenses”的做

    2024年01月17日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包