Nodasys/Inspectra

GitHub: Nodasys/Inspectra

Inspectra 是一套基于 Rust 的高性能原生内存分析与操纵框架,为研究人员提供进程内省、内存扫描、指针分析和运行时补丁能力。

Stars: 3 | Forks: 0

# Inspectra 现代化的内存分析、检查与操纵框架。 **Inspectra** 是一套专业工具集,专为底层进程内省、内存扫描、指针分析、实时补丁与自动化而设计。它的目标受众是需要一个健壮、可扩展且达到生产级质量的内存分析平台的研究人员、逆向工程师、QA 工程师和开发者。

Inspectra Screenshot

## 🚀 功能特性 - **进程管理**:列出、附加并检查运行中的进程 - **内存操作**:通过细粒度控制读取、写入和查询进程内存 - **高级扫描**:支持所有数据类型的多线程内存扫描器 - **模式匹配**:支持通配符的 AOB (Array of Bytes) 扫描 - **指针分析**:多级指针链的发现与解析 - **代码补丁**:运行时代码修改、NOP 补丁与 shellcode 注入 - **跨平台**:Windows (完全支持)、Linux (通过 /proc)、macOS (有限支持) - **Python 绑定**:通过 PyO3 提供完整的 Python API - **安全且快速**:使用 Rust 编写,确保内存安全与卓越性能 ## 📦 安装说明 ### Rust 添加至您的 `Cargo.toml`: ``` [dependencies] inspectra-core = "0.1.0" ``` ### Python ``` pip install inspectra ``` ## 🎯 快速入门 ### Rust ``` use inspectra_core::*; fn main() -> Result<()> { init()?; // List all processes let manager = process::get_process_manager(); let processes = manager.list_processes()?; // Find and attach to a process let target = manager.find_by_name("target_app")?; let handle = manager.attach(target[0].pid)?; // Create memory accessor let mem = memory::create_memory(&handle)?; // Scan for a value let mut scanner = scanner::Scanner::new( mem, scanner::ScanConfig::default() ); let results = scanner.scan(&42i32.to_le_bytes())?; println!("Found {} results", results.len()); Ok(()) } ``` ### Python ``` import inspectra # 初始化 inspectra.init() # 列出进程 manager = inspectra.ProcessManager() processes = manager.list_processes() for proc in processes: print(f"{proc.pid}: {proc.name}") # 查找并扫描 chrome = manager.find_by_name("chrome") if chrome: scanner = inspectra.Scanner(chrome[0].pid) results = scanner.scan_i32(12345) print(f"Found {len(results)} matches") ``` ## 📚 文档 - **[API 文档](docs/API.md)**:完整的 API 参考 - **[架构](docs/ARCHITECTURE.md)**:系统设计与架构 - **[开发指南](docs/DEVELOPMENT.md)**:贡献与开发工作流 - **[路线图](docs/ROADMAP.md)**:未来计划与功能 ## 🏗️ 项目结构 ``` inspectra/ ├── core/ # Rust core engine │ ├── src/ # Source code │ └── examples/ # Usage examples ├── bindings/ │ └── python/ # Python bindings ├── tests/ # Integration tests ├── docs/ # Documentation └── scripts/ # Build & utility scripts ``` ## 🛠️ 从源码构建 ### 前置条件 - Rust 1.70+ (从 [rustup.rs](https://rustup.rs) 安装) - Python 3.8+ (用于绑定) - Git ### 构建 ``` # 克隆仓库 git clone https://github.com/nodasys/inspectra.git cd inspectra # 构建 core cargo build --release # 运行测试 cargo test # 运行示例 cargo run --example list_processes # 构建 Python bindings cd bindings/python pip install maturin maturin develop ``` ## 🧪 示例 ### 列出进程 ``` cargo run --example list_processes ``` ### 内存扫描器 ``` cargo run --example memory_scanner ``` ### 模式扫描 ``` cargo run --example pattern_scan ``` ### Python 示例 ``` python bindings/python/examples/list_processes.py python bindings/python/examples/memory_scanner.py ``` ## 🎨 架构 Inspectra 采用模块化架构: 1. **核心引擎** (Rust):高性能内存操作 2. **脚本层** (Python/Lua):自动化与可扩展性 3. **平台层**:针对特定操作系统的实现 4. **UI 层** (未来规划):跨平台界面 详情请参阅 [ARCHITECTURE.md](docs/ARCHITECTURE.md)。 ## 🗺️ 路线图 - **v0.1**:核心引擎,基础扫描 ✅ - **v0.2**:通过 SIMD 增强扫描 - **v0.3**:高级指针分析 - **v0.4**:完整的调试器集成 - **v0.5**:脚本引擎 (Python/Lua) - **v0.6**:GUI (基于 Tauri) - **v1.0**:生产就绪版本 完整路线图请参阅 [ROADMAP.md](docs/ROADMAP.md)。 ## 📋 环境要求 ### 运行时 - Windows 10+ / Linux (内核 3.10+) / macOS 10.15+ - 需要管理员/root 权限以执行内存操作 ### 开发环境 - Rust 1.70+ - Python 3.8+ (用于绑定) - CMake 或 Cargo ## 🔒 安全 Inspectra 是一个功能强大且需要提升权限的工具。请负责任地使用,并仅限于您拥有或获得授权进行分析的系统上。 - 安全政策请参阅 [SECURITY.md](SECURITY.md) - 私下报告漏洞至:kevin.gregoire@nodasys.com ## 📄 许可证 本项目基于 MIT 许可证授权 - 详情请参阅 [LICENSE](LICENSE)。 ## 🏢 关于 **Inspectra** 由 [Nodasys](https://nodasys.com) 开发,是一个新一代的内存分析框架。 - **代码库**:[github.com/nodasys/inspectra](https://github.com/nodasys/inspectra) - **联系方式**:kevin.gregoire@nodasys.com - **网站**:https://nodasys.com ## 📈 状态 ![Build Status](https://github.com/nodasys/inspectra/workflows/CI/badge.svg) ![License](https://img.shields.io/badge/license-MIT-blue.svg) ![Rust](https://img.shields.io/badge/rust-1.70%2B-orange.svg) ![Python](https://img.shields.io/badge/python-3.8%2B-blue.svg) **免责声明**:本工具仅供研究、开发及经授权的安全测试使用。用户需自行负责遵守适用的法律与法规。 有关私下的安全报告和敏感问题,请联系:kevin.gregoire@nodasys.com 对于常规问题,待代码库公开后,请使用 GitHub Issues。
标签:JARM, Python绑定, Rust, 云资产清单, 内存分析, 内存操作, 可视化界面, 网络流量审计, 逆向工具, 逆向工程, 通知系统