All Projects → HyperDbg → Hyperdbg

HyperDbg / Hyperdbg

Licence: gpl-3.0
The Source Code of HyperDbg Debugger 🐞

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Hyperdbg

nxdk-rdt
Remote Dev Tool is a tool to remote control an Xbox using memory access and RPC
Stars: ✭ 23 (-96.5%)
Mutual labels:  debugger, hook
Unidbg
Allows you to emulate an Android ARM32 and/or ARM64 native library, and an experimental iOS emulation
Stars: ✭ 1,168 (+77.51%)
Mutual labels:  debugger, hypervisor
Xanalyzer
xAnalyzer plugin for x64dbg
Stars: ✭ 553 (-15.96%)
Mutual labels:  debugger
Frakti
The hypervisor-based container runtime for Kubernetes.
Stars: ✭ 630 (-4.26%)
Mutual labels:  hypervisor
Spector.js
Explore and Troubleshoot your WebGL scenes with ease.
Stars: ✭ 599 (-8.97%)
Mutual labels:  debugger
Dbgshell
A PowerShell front-end for the Windows debugger engine.
Stars: ✭ 566 (-13.98%)
Mutual labels:  debugger
Bit Slicer
Universal game trainer for macOS
Stars: ✭ 602 (-8.51%)
Mutual labels:  debugger
Remake
Enhanced GNU Make - tracing, error reporting, debugging, profiling and more
Stars: ✭ 538 (-18.24%)
Mutual labels:  debugger
Erlyberly
erlang tracing for the masses
Stars: ✭ 642 (-2.43%)
Mutual labels:  debugger
Renderdoc
RenderDoc is a stand-alone graphics debugging tool.
Stars: ✭ 5,969 (+807.14%)
Mutual labels:  debugger
Voltron
A hacky debugger UI for hackers
Stars: ✭ 5,599 (+750.91%)
Mutual labels:  debugger
React Illustration Series
图解react源码, 用大量配图的方式, 致力于将react原理表述清楚.
Stars: ✭ 588 (-10.64%)
Mutual labels:  hook
React Laag
Hooks to build things like tooltips, dropdown menu's and popovers in React
Stars: ✭ 568 (-13.68%)
Mutual labels:  hook
Sandvxposed
Xposed environment without root (OS 5.0 - 10.0)
Stars: ✭ 604 (-8.21%)
Mutual labels:  hook
Memleax
debugs memory leak of running process. Not maintained anymore, try `libleak` please.
Stars: ✭ 564 (-14.29%)
Mutual labels:  debugger
Hvpp
hvpp is a lightweight Intel x64/VT-x hypervisor written in C++ focused primarily on virtualization of already running operating system
Stars: ✭ 637 (-3.19%)
Mutual labels:  hypervisor
Vardbg
A simple Python debugger and profiler that generates animated visualizations of program flow, useful for algorithm learning.
Stars: ✭ 543 (-17.48%)
Mutual labels:  debugger
Pyscripter
Pyscripter is a feature-rich but lightweight Python IDE
Stars: ✭ 584 (-11.25%)
Mutual labels:  debugger
Python Hunter
Hunter is a flexible code tracing toolkit.
Stars: ✭ 599 (-8.97%)
Mutual labels:  debugger
Solo5
A sandboxed execution environment for unikernels
Stars: ✭ 659 (+0.15%)
Mutual labels:  hypervisor

Website Documentation Doxygen License Twitter

HyperDbg Debugger

HyperDbg Debugger

(HyperDbg is NOT in a WORKING STATE - YOU SHOULD NOT USE IT, but you can observe codes, please wait for first release in late April 2021)

We planned for first-release in late April 2021

HyperDbg debugger is an open-source, hypervisor-assisted user-mode, and kernel-mode Windows debugger with a focus on using modern hardware technologies. It is a debugger designed for analyzing, fuzzing and reversing.

Follow HyperDbg on Twitter to get notified about new releases !

(https://twitter.com/HyperDbg)

Description

HyperDbg is designed with a focus on using modern hardware technologies to provide new features to the reverse engineering world. It operates on top of Windows by virtualizing an already running system using Intel VT-x and Intel PT. This debugger aims not to use any APIs and software debugging mechanisms, but instead, it uses Second Layer Page Table (a.k.a. Extended Page Table or EPT) extensively to monitor both kernel and user executions.

HyperDbg Debugger

HyperDbg comes with features like hidden hooks, which is as fast as old inline hooks, but also stealth. It mimics hardware debug registers for (read & write) to a specific location, but this time entirely invisible for both Windows kernel and the programs, and of course without any limitation in size or count!

Using TLB-splitting, and having features such as measuring code coverage and monitoring all mov(s) to/from memory by a function, makes HyperDbg a unique debugger.

Although it has novel features, HyperDbg tries to be as stealth as possible. It doesn’t use any debugging APIs to debug Windows or any application, so classic anti-debugging methods won’t detect it. Also, it resists the exploitation of time delta methods (e.g., RDTSC/RDTSCP) to detect the presence of hypervisors, therefore making it much harder for applications, packers, protectors, malware, anti-cheat engines, etc. to discover the debugger.

Unique Features

First Release (v0.1.0.0)

  • Classic EPT Hook (Hidden Breakpoint) [link][link]
  • Inline EPT Hook (Inline Hook) [link][link]
  • Monitor Memory For R/W (Emulating Hardware Debug Registers Without Limitation) [link][link]
  • SYSCALL Hook (Disable EFER & Handle #UD) [link][link]
  • SYSRET Hook (Disable EFER & Handle #UD) [link][link]
  • CPUID Hook & Monitor [link]
  • RDMSR Hook & Monitor [link]
  • WRMSR Hook & Monitor [link]
  • RDTSC/RDTSCP Hook & Monitor [link]
  • RDPMC Hook & Monitor [link]
  • VMCALL Hook & Monitor [link]
  • Debug Registers Hook & Monitor [link]
  • I/O Port (In Instruction) Hook & Monitor [link]
  • I/O Port (Out Instruction) Hook & Monitor [link]
  • MMIO Monitor
  • Exception (IDT < 32) Monitor [link][link]
  • External-Interrupt (IDT > 32) Monitor [link][link]
  • Running Automated Scripts [link]
  • Transparent-mode (Anti-debugging and Anti-hypervisor Resistance) [link][link]
  • Running Custom Assembly In Both VMX-root, VMX non-root (Kernel & User) [link]
  • Checking For Custom Conditions [link][link]
  • VMX-root Compatible Message Tracing [link]
  • Powerful Kernel Side Scripting Engine [link][link]
  • Event Forwarding (#DFIR) [link][link]
  • Transparent Breakpoint Handler
  • Various Custom Scripts [link]

Second Release (v0.2.0.0)

(not released yet !)

Build & Installation

If you want to build HyperDbg, you should clone HyperDbg with --recursive flag.

git clone --recursive https://github.com/HyperDbg/HyperDbg.git

Please visit Build & Install and Quick Start for a detailed explanation of how to start with HyperDbg. You can also see FAQ for more information.

How does it work?

We explained about how HyperDbg internally works and how we designed its features in details, take a look at :

(https://docs.hyperdbg.com/design)

Here's a diagram that shows how HyperDbg works !

HyperDbg Design

Plugins

The plugin framework is not ready for the current version of HyperDbg. Future versions will support plugins.

Donations to charity

We spent thousands of hours on HyperDbg and it's free and open-source for you, If you want to help to develop HyperDbg, please donate to children in Africa and send a picture of your donation to us, this makes all HyperDbg developers, super happy! Don't hesitate to send us the pictures, this way we know that we're doing something useful.

(https://www.compassion.com/donate/donate-to-children-in-africa.htm)

Credits

Contributing

Contributing in HyperDbg is super appreciated.

If you want to create a pull request or contribute in HyperDbg please read Contribution Guide.

License

Dependencies are licensed by their own licenses.

HyperDbg is under GPLv3 LICENSE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].