String Formatting

This section explains the simple string formatter built into x64dbg.

The basic syntax is {?:expression} where ? is the optional type of the expression. The default type is x. To output { or } in the result, escape them as {{ or }}.

Types

  • d signed decimal: -3
  • u unsigned decimal: 57329171
  • p zero prefixed pointer: 0000000410007683
  • s string pointer: this is a string
  • x hex: 3C28A
  • a address info: 00401010 <module.EntryPoint>
  • i instruction text: jmp 0x77ac3c87

Examples

  • rax: {rax} formats to rax: 4C76
  • password: {s:4*ecx+0x402000} formats to password: L"s3cret"

Plugins

Plugins can use _plugin_registerformatfunction to register custom string formatting functions. The syntax is {@type;arg1;arg2;argN@expression} where type is the name of the registered function, argN is any string (these are passed to the formatting function as arguments) and expression is any valid expression. An example (built-in): {@mem;10@cip} will print the 10 bytes starting at cip in hex.