For the complete documentation index, see llms.txt. This page is also available as Markdown.

dl (traverse through linked list using virtual address)

Description of the 'dl' command in HyperDbg.

Command

dl

Syntax

dl [Address (hex)] [o Offset (hex)] [l Count (hex)] [pid ProcessId (hex)]

Description

Walks a linked list starting at the specified virtual address and shows each node.

Parameters

[Address (hex)]

The virtual address of the head of the linked list.

[o Offset (hex)] (optional)

The offset (in bytes) within each node structure where the pointer to the next node is stored. (default: 0)

[l Count (hex)] (optional)

The maximum number of nodes to walk. (default: 100)

[pid ProcessId (hex)] (optional)

The Process ID (in the hex format) that we want to read memory from its context (cr3).

If you don't specify the pid, then the default pid is the current process (HyperDbg) process layout of memory.

Examples

The following command walks the nt!PsActiveProcessHead linked list from its virtual address.

The following command walks the linked list starting at @rax with an offset of 8 bytes to the next pointer.

The following command walks the linked list at fffff8077356f010 with an offset of 8, a maximum of 0x20 nodes, from the memory layout of process 4.

SDK

To walk a linked list in the target debuggee, you need to use the following function in libhyperdbg:

Remarks

  • If you don't specify the offset, the default offset is 0, meaning the next-pointer is at the very start of the node.

  • If you don't specify the count, HyperDbg walks at most 0x100 nodes by default.

  • For circular lists (e.g., Windows LIST_ENTRY-based lists), HyperDbg automatically detects when the walk returns to the head and stops.

This command is guaranteed to keep debuggee in a halt state (in Debugger Mode); thus, nothing will change during its execution.

Requirements

None

!dl (traverse through linked list using physical address)

db, dc, dd, dq (read virtual memory)

dt (display and map virtual memory to structures)

Last updated