> For the complete documentation index, see [llms.txt](https://docs.hyperdbg.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hyperdbg.org/commands/scripting-language.md).

# Scripting Language

- [Assumptions & Evaluations](https://docs.hyperdbg.org/commands/scripting-language/assumptions-and-evaluations.md): Description of keywords, operators, pseudo-registers, number prefixes, and pre-defined functions
- [Variables & Assignments](https://docs.hyperdbg.org/commands/scripting-language/variables-and-assignments.md): Description of variables and assignments
- [Casting & Inclusion](https://docs.hyperdbg.org/commands/scripting-language/casting-and-inclusion.md): Description of casting (type-awareness) and file (library) inclusion
- [Conditionals & Loops](https://docs.hyperdbg.org/commands/scripting-language/conditionals-and-loops.md): Description of conditional statements and loops
- [Constants & Functions](https://docs.hyperdbg.org/commands/scripting-language/constants-and-functions.md): Description of constants and functions
- [Debugger Script (DS)](https://docs.hyperdbg.org/commands/scripting-language/debugger-script.md): Description of HyperDbg Debugger Scripts
- [Examples](https://docs.hyperdbg.org/commands/scripting-language/examples.md)
- [view system state (registers, memory, variables)](https://docs.hyperdbg.org/commands/scripting-language/examples/view-system-state.md): An example of valid expressions to read the state of the system
- [change system state (registers, memory, variables)](https://docs.hyperdbg.org/commands/scripting-language/examples/change-system-state-registers-memory-variables.md): An example of changing system state
- [trace function calls](https://docs.hyperdbg.org/commands/scripting-language/examples/trace-function-calls.md): An example of creating logs from NtOpenFile
- [pause the debugger conditionally](https://docs.hyperdbg.org/commands/scripting-language/examples/pause-the-debugger-conditionally.md): An example of pausing system while a special path is passed to the NtCreateFile
- [conditional breakpoints and events](https://docs.hyperdbg.org/commands/scripting-language/examples/conditional-breakpoints-and-events.md): An example of using conditional breakpoint (events)
- [patch the normal sequence of execution](https://docs.hyperdbg.org/commands/scripting-language/examples/patch-the-normal-sequence-of-execution.md): An example of patching eflags of the target program
- [access to a shared variable from different cores](https://docs.hyperdbg.org/commands/scripting-language/examples/access-to-a-shared-variable-from-different-cores.md): An example of sharing global variables between different cores
- [count occurrences of events](https://docs.hyperdbg.org/commands/scripting-language/examples/count-occurrences-of-events.md): An example of counting the occurrence of page-faults
- [Functions](https://docs.hyperdbg.org/commands/scripting-language/functions.md): List of HyperDbg functions
- [debugger](https://docs.hyperdbg.org/commands/scripting-language/functions/debugger.md): Functions related to the debugger
- [pause](https://docs.hyperdbg.org/commands/scripting-language/functions/debugger/pause.md): Description of the 'pause' function in HyperDbg Scripts
- [events](https://docs.hyperdbg.org/commands/scripting-language/functions/events.md): Functions related to events
- [event\_enable](https://docs.hyperdbg.org/commands/scripting-language/functions/events/event_enable.md): Description of the 'event\_enable' function in HyperDbg Scripts
- [event\_disable](https://docs.hyperdbg.org/commands/scripting-language/functions/events/event_disable.md): Description of the 'event\_disable' function in HyperDbg Scripts
- [event\_clear](https://docs.hyperdbg.org/commands/scripting-language/functions/events/event_clear.md): Description of the 'event\_clear' function in HyperDbg Scripts
- [event\_sc](https://docs.hyperdbg.org/commands/scripting-language/functions/events/event_sc.md): Description of the 'event\_enable' function in HyperDbg Scripts
- [event\_inject](https://docs.hyperdbg.org/commands/scripting-language/functions/events/event_inject.md): Description of the 'event\_inject' function in HyperDbg Scripts
- [event\_inject\_error\_code](https://docs.hyperdbg.org/commands/scripting-language/functions/events/event_inject_error_code.md): Description of the 'event\_inject\_error\_code' function in HyperDbg Scripts
- [flush](https://docs.hyperdbg.org/commands/scripting-language/functions/events/flush.md): Description of the 'flush' function in HyperDbg Scripts
- [exports](https://docs.hyperdbg.org/commands/scripting-language/functions/exports.md): Functions for exporting and printing messages
- [print](https://docs.hyperdbg.org/commands/scripting-language/functions/exports/print.md): Description of the 'print' function in HyperDbg Scripts
- [printf](https://docs.hyperdbg.org/commands/scripting-language/functions/exports/printf.md): Description of the 'printf' function in HyperDbg Scripts
- [interlocked](https://docs.hyperdbg.org/commands/scripting-language/functions/interlocked.md): Interlocked and atomic functions
- [interlocked\_compare\_exchange](https://docs.hyperdbg.org/commands/scripting-language/functions/interlocked/interlocked_compare_exchange.md): Description of the 'interlocked\_compare\_exchange' function in HyperDbg Scripts
- [interlocked\_decrement](https://docs.hyperdbg.org/commands/scripting-language/functions/interlocked/interlocked_decrement.md): Description of the 'interlocked\_decrement' function in HyperDbg Scripts
- [interlocked\_exchange](https://docs.hyperdbg.org/commands/scripting-language/functions/interlocked/interlocked_exchange.md): Description of the 'interlocked\_exchange' function in HyperDbg Scripts
- [interlocked\_exchange\_add](https://docs.hyperdbg.org/commands/scripting-language/functions/interlocked/interlocked_exchange_add.md): Description of the 'interlocked\_exchange\_add' function in HyperDbg Scripts
- [interlocked\_increment](https://docs.hyperdbg.org/commands/scripting-language/functions/interlocked/interlocked_increment.md): Description of the 'interlocked\_increment' function in HyperDbg Scripts
- [memory](https://docs.hyperdbg.org/commands/scripting-language/functions/memory.md): Functions related to the memory
- [check\_address](https://docs.hyperdbg.org/commands/scripting-language/functions/memory/check_address.md): Description of the 'check\_address' function in HyperDbg Scripts
- [eb, ed, eq](https://docs.hyperdbg.org/commands/scripting-language/functions/memory/eb-ed-eq.md): Description of 'eb', 'ed', and 'eq' functions in HyperDbg Scripts
- [eb\_pa, ed\_pa, eq\_pa](https://docs.hyperdbg.org/commands/scripting-language/functions/memory/eb_pa-ed_pa-eq_pa.md): Description of 'eb\_pa', 'ed\_pa', and 'eq\_pa' functions in HyperDbg Scripts
- [memcpy](https://docs.hyperdbg.org/commands/scripting-language/functions/memory/memcpy.md): Description of the 'memcpy' function in HyperDbg Scripts
- [memcpy\_pa](https://docs.hyperdbg.org/commands/scripting-language/functions/memory/memcpy_pa.md): Description of the 'memcpy\_pa' function in HyperDbg Scripts
- [memcmp](https://docs.hyperdbg.org/commands/scripting-language/functions/memory/memcmp.md): Description of the 'memcmp' function in HyperDbg Scripts
- [virtual\_to\_physical](https://docs.hyperdbg.org/commands/scripting-language/functions/memory/virtual_to_physical.md): Description of the 'virtual\_to\_physical' function in HyperDbg Scripts
- [physical\_to\_virtual](https://docs.hyperdbg.org/commands/scripting-language/functions/memory/physical_to_virtual.md): Description of the 'physical\_to\_virtual' function in HyperDbg Scripts
- [strings](https://docs.hyperdbg.org/commands/scripting-language/functions/strings.md): Functions related to strings
- [strlen](https://docs.hyperdbg.org/commands/scripting-language/functions/strings/strlen.md): Description of the 'strlen' function in HyperDbg Scripts
- [wcslen](https://docs.hyperdbg.org/commands/scripting-language/functions/strings/wcslen.md): Description of the 'wcslen' function in HyperDbg Scripts
- [strcmp](https://docs.hyperdbg.org/commands/scripting-language/functions/strings/strcmp.md): Description of the 'strcmp' function in HyperDbg Scripts
- [strncmp](https://docs.hyperdbg.org/commands/scripting-language/functions/strings/strncmp.md): Description of the 'strncmp' function in HyperDbg Scripts
- [wcscmp](https://docs.hyperdbg.org/commands/scripting-language/functions/strings/wcscmp.md): Description of the 'wcscmp' function in HyperDbg Scripts
- [wcsncmp](https://docs.hyperdbg.org/commands/scripting-language/functions/strings/wcsncmp.md): Description of the 'wcsncmp' function in HyperDbg Scripts
- [diassembler](https://docs.hyperdbg.org/commands/scripting-language/functions/diassembler.md)
- [disassemble\_len](https://docs.hyperdbg.org/commands/scripting-language/functions/diassembler/disassemble_len.md): Description of the 'disassemble\_len' function in HyperDbg Scripts
- [disassemble\_len32](https://docs.hyperdbg.org/commands/scripting-language/functions/diassembler/disassemble_len32.md): Description of the 'disassemble\_len32' function in HyperDbg Scripts
- [spinlocks](https://docs.hyperdbg.org/commands/scripting-language/functions/spinlocks.md): Functions related to spinlocks
- [spinlock\_lock](https://docs.hyperdbg.org/commands/scripting-language/functions/spinlocks/spinlock_lock.md): Description of the 'spinlock\_lock' function in HyperDbg Scripts
- [spinlock\_lock\_custom\_wait](https://docs.hyperdbg.org/commands/scripting-language/functions/spinlocks/spinlock_lock_custom_wait.md): Description of the 'spinlock\_lock\_custom\_wait' function in HyperDbg Scripts
- [spinlock\_unlock](https://docs.hyperdbg.org/commands/scripting-language/functions/spinlocks/spinlock_unlock.md): Description of the 'spinlock\_unlock' function in HyperDbg Scripts
- [tracing](https://docs.hyperdbg.org/commands/scripting-language/functions/tracing.md): Functions related to tracing mechanisms (HyperTrace)
- [Last Branch Record (LBR)](https://docs.hyperdbg.org/commands/scripting-language/functions/tracing/lbr.md): Functions related to LBR mechanisms
- [lbr\_save](https://docs.hyperdbg.org/commands/scripting-language/functions/tracing/lbr/lbr_save.md): Description of the 'lbr\_save' function in HyperDbg Scripts
- [lbr\_print](https://docs.hyperdbg.org/commands/scripting-language/functions/tracing/lbr/lbr_print.md): Description of the 'lbr\_print' function in HyperDbg Scripts
- [lbr\_check](https://docs.hyperdbg.org/commands/scripting-language/functions/tracing/lbr/lbr_check.md): Description of the 'lbr\_check' function in HyperDbg Scripts
- [lbr\_restore](https://docs.hyperdbg.org/commands/scripting-language/functions/tracing/lbr/lbr_restore.md): Description of the 'lbr\_restore' function in HyperDbg Scripts
- [lbr\_restore\_by\_filter](https://docs.hyperdbg.org/commands/scripting-language/functions/tracing/lbr/lbr_restore_by_filter.md): Description of the 'lbr\_restore\_by\_filter' function in HyperDbg Scripts
- [timings](https://docs.hyperdbg.org/commands/scripting-language/functions/timings.md)
- [rdtsc](https://docs.hyperdbg.org/commands/scripting-language/functions/timings/rdtsc.md): Description of the 'rdtsc' function in HyperDbg Scripts
- [rdtscp](https://docs.hyperdbg.org/commands/scripting-language/functions/timings/rdtscp.md): Description of the 'rdtscp' function in HyperDbg Scripts
- [microsleep](https://docs.hyperdbg.org/commands/scripting-language/functions/timings/microsleep.md): Description of the 'microsleep' function in HyperDbg Scripts
