warpedatom/OffsetInspect

GitHub: warpedatom/OffsetInspect

OffsetInspect 是一款终端原生的 PowerShell 工具,用于将文件字节偏移量映射回源代码行号并提供十六进制上下文,帮助安全分析人员快速定位和理解静态检测报告引用的具体内容。

Stars: 35 | Forks: 5

Dread Host Banner

Release License PowerShell Support Platform Repo Size Last Commit CI Status Security Policy Use Case

# Offset 检查 **基于 PowerShell 的偏移量检查工具,适用于恶意软件分析、检测工程、逆向工程和红队研究。** OffsetInspect 可将原始字节偏移量映射回有意义的源代码和二进制上下文,帮助分析人员快速确定报告的检测位置存在的内容。 ## 截图 ![OffsetInspect 截图](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/2626d8f81f115031.png) ## 概述 OffsetInspect 是一款轻量级的基于 PowerShell 的十六进制上下文检查工具,专为红队操作人员、恶意软件分析师、检测工程师和需要精确洞察文件偏移量的安全研究人员设计。 它作为一个原生于终端、受 HxD 启发的查看器,具有以下功能: * 高亮显示指定偏移量处的字节 * 显示周围的上下文字节 * 将原始偏移量映射回文件行号 * 显示对齐的 ASCII 表示 * 定位光标,指示在源代码行内的近似字符位置 * 提供可配置的上下文窗口大小 * 支持跨多个文件的检查 OffsetInspect 旨在用于在攻击性安全操作、恶意软件分析和检测研究期间,快速、准确地验证静态指标。 ## 为什么开发 OffsetInspect 在红队操作和检测工程期间,分析人员经常会遇到引用原始字节偏移量而不是可读源上下文的检测。 GUI 十六进制编辑器提供了可视化,但它们通常缺乏: * 可脚本化 * 可重复性 * 终端优先的工作流 * 快速的偏移量到行号的关联 OffsetInspect 弥补了这一差距,使操作人员能够快速回答一个关键问题: 该工具特意将范围限定为检查和验证,允许分析人员将字节级指标关联回有意义的源代码结构,而不会产生抽象或副作用。 ## 真实安全工作流 OffsetInspect 通常在以下情况使用: * Microsoft Defender 报告字节偏移量 * YARA 规则在二进制文件上触发 * 静态 AV 检测引用特定位置 * 混淆更改改变了偏移量 * payload 在修改后需要验证 * 检测工程师需要确切了解触发警报的原因 OffsetInspect 提供原生于终端的检查和源关联,无需手动打开十六进制编辑器并搜索位置。 ## 功能 * 用户指定偏移量处的精确字节高亮 * 将原始偏移量映射到文件行号 * 多文件检查支持 * 可配置的字节窗口大小 * 结构化的十六进制 + ASCII 输出 * 颜色编码的终端渲染 * 只读操作 * 无外部依赖 * 支持 Windows PowerShell 5.1 * 支持 PowerShell 7.x ## 安装 ### 克隆仓库 ``` git clone https://github.com/warpedatom/OffsetInspect.git cd OffsetInspect ``` ### 最新版本 在此处下载最新版本: [最新版本](https://github.com/warpedatom/OffsetInspect/releases/latest) ## 完整性验证 所有版本都包含自动生成的校验和文件。 使用以下命令验证下载的版本: ``` Get-FileHash -Algorithm SHA256 .\OffsetInspect.ps1 ``` ## PowerShell 脚本用法 基本示例: ``` .\OffsetInspect.ps1 C:\AD\PowerView.ps1 0xE1AB1 ``` 十进制偏移量示例: ``` .\OffsetInspect.ps1 payload.bin 1024 ``` 调整字节窗口大小: ``` .\OffsetInspect.ps1 file.bin 0x200 -ByteWindow 64 ``` 检查多个文件: ``` .\OffsetInspect.ps1 ` -FilePaths file1.bin,file2.bin ` -OffsetInputs 0x100 ``` ## PowerShell 模块用法 导入模块: ``` Import-Module ./module/OffsetInspect.psm1 ``` 通过模块运行检查: ``` Invoke-OffsetInspect ` -FilePaths C:\AD\PowerView.ps1 ` -OffsetInputs 0xE1AB1 ``` ## 输出说明 ### 文件信息 ``` File: C:\AD\PowerView.ps1 Offset (input): 0xE1AB1 Offset (decimal): 924337 File Size: 924339 bytes Line Number: 24810 ``` 显示: * 文件元数据 * 规范化的偏移量值 * 十进制转换 * 文件大小 * 源代码行关联 ### 行内容预览 ``` Line 24810: Set-Alias Get-DomainPolicy Get-DomainPolicyData ^ ``` 显示: * 包含目标字节的源代码行 * 近似的字节到字符位置 * 直接的源上下文 ### 十六进制转储 ``` 000E1A91 6F 6D 61 69 6E 50 6F 6C 69 63 79 20 47 65 74 2D omainPolicy Get- 000E1AA1 44 6F 6D 61 69 6E 50 6F 6C 69 63 79 44 61 74 61 DomainPolicyData 000E1AB1 0D 0A .. ``` 显示: * 以目标偏移量为中心的上下文十六进制转储 * 八位十六进制地址 * 高亮显示的目标字节 * ASCII 表示 * 对齐的终端输出 ## 检测工程与研究 OffsetInspect 支持注重精度而非自动化的工作流。 常见场景包括: * 调查引用字节偏移量的静态检测 * 验证混淆或打包后的偏移量漂移 * 识别触发检测的语义结构 * 执行针对性修改而非盲目变异 * 比较跨 payload 修订版本的检测行为 这使操作人员能够在测试检测弹性的同时保留功能。 ## 工作流参考 有关完整的静态检测和混淆工作流: [PowerView 静态检测与混淆工作流](./docs/PowerView-Static-Detection-Analysis-and-Obfuscation-Workflow.pdf) ## 设计理念 OffsetInspect 刻意设计为: * 原生于终端 * 只读 * 无依赖 * 轻量级 * 可脚本化 * 注重准确性而非抽象 它旨在补充现有工具,例如: * YARA * 静态 AV/EDR 检测 * 混淆器 * 打包器 * 逆向工程工作流 ## 未来路线图 正在考虑的增强功能: * JSON 输出模式 * CSV 导出支持 * 改进的 Unicode 处理 * 二进制差异对比支持 * 偏移范围分析 * 对 pipeline 友好的结构化输出 * 发布到 PowerShell Gallery ## 测试 从仓库根目录运行 Pester 测试套件: ``` Invoke-Pester ./tests/OffsetInspect.Tests.ps1 ``` ## 项目状态 OffsetInspect 正在积极维护,旨在用于授权的安全研究、恶意软件分析、检测工程和红队操作。 欢迎社区反馈、错误报告和拉取请求。 ## 免责声明 本工具仅供授权的安全测试、研究和教育目的使用。 作者对滥用、未经授权的活动或违反策略的行为不承担任何责任。 ## 许可证 OffsetInspect 在 MIT 许可证下发布。 感谢但非必须注明出处。

© 2026 Velkris — 教育性红队研究 | 采用 MIT 许可
所有测试均在独立的实验室环境中进行,仅供研究和培训目的使用。

标签:AI合规, DAST, DNS 反向解析, IPv6, Libemu, OpenCanary, PowerShell, 二进制分析, 云安全运维, 云资产清单, 十六进制查看器, 恶意软件分析, 网络信息收集, 逆向工程