# 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
- [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
- [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
- [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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hyperdbg.org/commands/scripting-language.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
