Skip to content

Repository files navigation

OmniScan

OmniScan is a lightweight, efficient C++ memory scanner for Windows. It allows you to search for, filter, and modify memory values in target processes.

Use OmniScan only with processes and systems you own or are authorized to inspect.

Screenshot

OmniScan scanner workspace showing results and saved addresses

Features

  • Multi-Type Scanning: Searches signed and unsigned 32-bit and 64-bit integers, Float, Double, String, and UTF-16 automatically. Equivalent signed/unsigned results are grouped in the GUI to reduce duplicate rows.
  • Filtering System: Narrow down results by exact value or by scan modes such as changed, unchanged, increased, and decreased.
  • Candidate Recommendations: Rank narrowed-down matches by type, writability, current value, and filter history.
  • Memory Injection: Write new values back into the process memory, or lock values until you stop them.
  • Saved Address Workspace: Keep selected addresses available while starting new scans, then write, restore, or lock selected saved rows independently.
  • Address Profiles: Label saved addresses and reload local .oscan profiles using module-relative locations, pointer chains, or an automatic memory-signature fallback.
  • Automatic Profile Recovery: Load a profile while detached and OmniScan will attach to the matching process when it becomes available, then recover its saved addresses in the background.
  • Persistent GUI Settings: Saves font size, scan-thread count, lock interval, and window size locally.
  • Fast Search: Scans committed and readable memory regions efficiently.

Requirements

  • Windows OS
  • Administrator privileges may be required when the target process is elevated or otherwise protected.
  • C++17 Compatible Compiler.

Building the Project

Configure and build from the repository root:

cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build

The default build downloads the pinned Dear ImGui dependency and produces:

  • build\OmniScan.exe: GUI scanner

Usage

  1. Run OmniScan.exe. Restart it as Administrator if Windows denies access to the target process.
  2. Search for and attach to a process by name or PID.
  3. Enter a value and run the first scan.
  4. Change the target value and search again to narrow the results.
  5. Select matching rows before writing, restoring, locking, or saving addresses for later use.

Project Information

OmniScan is available under the MIT License.

About

An open-source Windows memory scanner with a Dear ImGui interface for authorized debugging, value scanning, filtering, and process-memory editing.

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages