printf
Description of the 'printf' function in HyperDbg Scripts
Function
printf
Syntax
printf( Format, Expressions [...] );
Parameters
[Format-string]
A printf-like format string.
[Expression] [...]
MASM-like expression(s) to evaluate, you can choose multiple expressions based on the format string.
Description
Evaluates and prints a printf-like format string with MASM expression(s).
All the format specifiers should be in a lower-case format.
Supported Format Specifiers
%d
Decimal signed integer
%i
Decimal signed integer
%u
Decimal unsigned integer
%o
Octal integer
%x
Hex integer
%c
Character (char)
%p
Pointer (void *)
%s
String
%ws
Wide-String
%ls
Wide-String
Integer Format Specifiers (Long)
%ld
Long decimal signed integer
%li
Long decimal signed integer
%lu
Long decimal unsigned integer
%lo
Long octal integer
%lx
Long hex integer
Integer Format Specifiers (Long Long)
%lld
Long long (64-bit) decimal signed integer
%lli
Long long (64-bit) decimal signed integer
%llu
Long long (64-bit) decimal unsigned integer
%llo
Long long (64-bit) octal integer
%llx
Long long (64-bit) hex integer
Integer Format Specifiers (Short)
%hd
Short decimal signed integer
%hi
Short decimal signed integer
%hu
Short decimal unsigned integer
%ho
Short octal integer
%hx
Short hex integer
Examples
printf("Result is %s", @rcx);
Print data as an ASCII string pointed by rcx register.
print("The value is %llx and the string is : %ws "dq(@rcx), poi(rax));
Print and evaluate the above expressions. Note that %ws is a wide-string pointed by rax register. Also, the value of rcx register is also dereferenced and showed in quad-hex format.
You can see more examples here.
Remarks
You should consider avoiding "unsafe" behavior in your expressions and strings.
Related
Last updated