taibeihacker
Moderator
Windiff是一种基于开源Web的工具,可允许浏览和比较符号,类型和SYSCALL信息在操作系统的不同版本上的Microsoft Windows二进制文件的信息。二进制数据库会自动更新,以包含来自最新Windows更新(包括Insider Preview)的信息。
它的灵感来自NTDIFF,并在Winbindex的帮助下成为可能。
How It Works
Windiff由两部分制成:制成的CLI工具,用Rust和Web Frontend用TypeScript编写的Web Frontend使用Next.js Framework编写。CLI工具用于从配置文件中生成压缩JSON数据库,并依靠WinbIndex查找和下载所需的PES(和PDB)。使用Resym重建类型。 CLI工具背后的想法是能够轻松更新并重新生成数据库,因为发布了新版本的Windows版本。 CLI工具的代码位于Windiff_Cli目录中。
前端用于以用户友好的方式可视化CLI工具生成的数据。前端遵循与NTDIFF相同的原理,因为它允许从Microsoft PES和PDB中提取的某些版本的Microsoft Windows提取浏览器信息,并且还允许在版本之间比较此信息。前端代码在Windiff_frontend目录中。
计划的GitHub Action每天从WinbIndex获取新的更新,并更新用于生成实时版Windiff的配置文件。目前,由于(免费计划)存储和计算限制,实时版本only KBand Insider Preview updates less than one year old are kept。当然,您可以自己重建当地版Windiff,如果需要的话,就无需这些限制。请参阅下一节。
Note: WinbIndex没有为100%的索引文件提供唯一的下载链接,因此可能会在Windiff中无法提供某些PES的信息。但是,一旦这些PES在Virustotal上,WinbIndex就可以为它们提供唯一的下载链接,然后将它们自动集成到Windiff中。
How to Build
Prerequisites
生锈1.68或Superior Node.js 16.8或SuperiorCommand-Line
Windiff的完整构建在CI/build_frontend.sh中是“自我记载的”,这是用于构建Windiff的构建脚本。这是内部:#解决项目的根文件夹
project_root=$(git rev-parse -show-toplevel)
#生成数据库
CD'$ project_root/windiff_cli'
货物运行- 释放'$ project_root/ci/db_configuration.json''$ project_root/windiff_frontend/public/'
#建立前端
CD'$ project_root/windiff_frontend'
NPM CI
NPM RUN构建用于生成Windiff实时版本的数据的配置文件位于此处: CI/DB_CONFIGURATION.JSON,但是您可以自定义或使用自己的。欢迎旨在添加新的二进制文件以在实时配置中跟踪的PRS。