1 Commits
Author SHA1 Message Date
Duncan Ogilvie 058ba20083 replace recommonmark with m2r
blocked on https://github.com/miyakogi/m2r/pull/16
2018-06-11 02:06:52 +02:00
204 changed files with 1019 additions and 3796 deletions

No files matched your search

+1 -2
View File
@@ -1,3 +1,2 @@
_build*/
*.chm
python-2.7.18.amd64.portable/
*.chm
-23
View File
@@ -1,23 +0,0 @@
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
# Required
version: 2
# Set the version of Python and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "2.7"
# Build documentation in the docs/ directory with Sphinx
sphinx:
builder: html
configuration: conf.py
fail_on_warning: false
# We recommend specifying your dependencies to enable reproducible builds:
# https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
python:
install:
- requirements: requirements.txt
+2 -8
View File
@@ -1,15 +1,9 @@
# This repository was moved to https://github.com/x64dbg/x64dbg/tree/development/docs
# docs
Documentation repository for [x64dbg](http://x64dbg.com) at [Read the Docs](https://readthedocs.org/projects/x64dbg).
## Building
1. Download https://github.com/x64dbg/docs/releases/download/python27-portable/python-2.7.18.amd64.portable.7z
2. Extract to the `python-2.7.18.amd64.portable` folder
1. `pip install sphinx m2r sphinx_rtd_theme`
2. Add `relpath = relpath.replace(os.path.sep, '/')` to `C:\Python27\Lib\site-packages\recommonmark\transform.py` line `69`
3. run `makechm.bat`. It will build the .CHM help file.
Note: The following patch was applied:
Add `relpath = relpath.replace(os.path.sep, '/')` after `C:\Python27\Lib\site-packages\recommonmark\transform.py` line `63`
-2
View File
@@ -16,8 +16,6 @@ This section contains commands that are used for analysis.
analadv
virtualmod
symdownload
symload
symunload
imageinfo
GetRelocSize
exhandlers
+1 -1
View File
@@ -4,7 +4,7 @@ Attempt to download a symbol from a Symbol Store.
## arguments
`[arg1]` Module name (with or without extension) to attempt to download symbols for. When not specified, an attempt will be done to download symbols for all loaded modules.
`[arg1]` Module name (with or without extension) to attept to download symbols for. When not specified, an attempt will be done to download symbols for all loaded modules.
`[arg2]` Symbol Store URL. When not specified, the default store will be used.
-15
View File
@@ -1,15 +0,0 @@
# symload/loadsym
Attempt to load a symbol from disk.
## arguments
`arg1` Module name (with or without extension) to attempt to load symbols for.
`arg2` Path to the symbol file.
`[arg3]` Force load. Set to `1` to skip symbol validation.
## result
This command does not set any result variables.
-11
View File
@@ -1,11 +0,0 @@
# symunload/unloadsym
Unload a symbol.
## arguments
`arg1` Module name (with or without extension) to unload symbols from.
## result
This command does not set any result variables.
@@ -6,9 +6,9 @@ Set a singleshoot breakpoint on DLL load/unload.
`arg1` DLL Name to break on.
`[arg2]` `a` means on load and unload, `l` means on load, `u` means on unload. When not specified, x64dbg will break on both load and unload.
`[arg2]` 'l' means on load, 'u' means on unload. When not specified, x64dbg will break on both load and unload.
`[arg3]` When specified, the breakpoint will be singleshoot. When not specified the breakpoint will not be removed after it has been hit.
`[arg3]` When specified, the breakpoint will not be singleshoot. When not specified the breakpoint will be removed after it has been hit.
## result
+1 -1
View File
@@ -6,7 +6,7 @@ Set a memory breakpoint (GUARD_PAGE) on the whole memory region the provided add
`arg1` Address of or inside a memory region that will be watched.
`[arg2]` 1/0 restore the memory breakpoint once it's hit? When this value is not equal to '1' or '0', it's assumed to be arg3. This means "bpm eax,r" would be the same command as: "bpm eax,0,r".
`[arg2]` 1/0 restore the memory breakpoint once it's hit? When this value is not equal to '1' or '3', it's assumed to be arg3. This means "bpm eax,r" would be the same command as: "bpm eax,0,r".
`[arg3]` Breakpoint type, it can be 'a' (read+write+execute) 'r' (read), 'w' (write) or 'x' (execute). Per default, it's 'a' (read+write+execute)
@@ -1,15 +0,0 @@
# SetMemoryRangeBPX/memrangebp/bpmrange
Set a memory breakpoint (GUARD_PAGE) on a specific memory range.
## arguments
`start` Start of the memory range.
`size` Size of the memory range.
`[type]` Breakpoint type, it can be 'a' (read+write+execute) 'r' (read), 'w' (write) or 'x' (execute). Per default, it's 'a' (read+write+execute). Append `ss` for a singleshot breakpoint (you can also use [`SetMemoryBreakpointSingleshoot`](../conditional-breakpoint-control/SetMemoryBreakpointSingleshoot.md) to do this).
## result
This command does not set any result variables.
-1
View File
@@ -17,7 +17,6 @@ This section contains breakpoint control (set/delete/enable/disable) commands.
EnableHardwareBreakpoint
DisableHardwareBreakpoint
SetMemoryBPX
SetMemoryRangeBPX
DeleteMemoryBPX
EnableMemoryBreakpoint
DisableMemoryBreakpoint
+1 -1
View File
@@ -8,7 +8,7 @@ Initializes the debugger. This command will load the executable (do some basic c
`[arg2]` Commandline to create the process with.
`[arg3]` Current folder (passed to the `CreateProcess` API) (this is also sometimes called 'working directory' or 'current directory')
`[arg3]` Current folder (passed to the `CreateProcess` API).
## result
-11
View File
@@ -1,11 +0,0 @@
# StepSystem/StepSystemInto
Step into until reaching a system module.
## arguments
This command has no arguments.
## results
This command does not set any result variables.
-11
View File
@@ -1,11 +0,0 @@
# StepUser/StepUserInto
Step into until reaching a user module.
## arguments
This command has no arguments.
## results
This command does not set any result variables.
+1 -3
View File
@@ -24,6 +24,4 @@ Debug Control
StepOut
eStepOut
skip
InstrUndo
StepUser
StepSystem
InstrUndo
+1 -1
View File
@@ -1,6 +1,6 @@
# bswap
Perform a `bswap` operation: The byte order of the destination is inverted, so the last byte becomes the first.
Perform a `bswap` operation.
## arguments
+2 -2
View File
@@ -1,4 +1,4 @@
# dec
# dec
Decrease a value.
@@ -8,4 +8,4 @@ Decrease a value.
## result
This command does not set any result variables.
This command does not set any result variables.
-6
View File
@@ -12,7 +12,6 @@ This section contains various commands that are used for calculations etc.
add
sub
mul
mulhi
div
and
or
@@ -25,13 +24,8 @@ This section contains various commands that are used for calculations etc.
shl
shr
sar
popcnt
lzcnt
push
pop
test
cmp
mov
movdqu
vmovdqu
kmovd
-20
View File
@@ -1,20 +0,0 @@
# kmovd/kmovq
The `kmovd`/`kmovq` commands are used to access AVX-512 opmask registers `K0`-`K7`. These commands are only available when the computer and x64dbg version supports AVX-512.
The `kmovd` command copies a 32-bit value from an expression to an AVX-512 opmask register, or from an AVX-512 opmask register to a memory location, a general purpose register, or an opmask register.
If the destination is a 64-bit register, for example, an opmask register, then the 32-bit value is zero-extended to 64 bits.
The `kmovq` command copies a 64-bit value from an expression to an AVX-512 opmask register, or from an AVX-512 opmask register to a memory location, a general purpose register, or an opmask register.
If executed in 32-bit environment, then only memory locations in the form of `[address]` or opmask registers are supported as operands.
In 64-bit environment, all valid expressions can be used to calculate the value to be copied into the destination opmask register.
## arguments
`arg1` The destination operand.
`arg2` The source operand.
## result
This command does not set any result variables.
-11
View File
@@ -1,11 +0,0 @@
# lzcnt
Count the number of leading zeros of a value. If the value is 0, then the result is 64 on 64-bit platform and 32 on 32-bit platform.
## arguments
`arg1` Value.
## result
`arg1` is set to the number of leading zeros. Additionaly, the internal variable `$_EZ_FLAG` is set to 1 if `arg1` is 0, and set to 0 otherwise. The internal variable `$_BS_FLAG` is set to 0.
+1 -1
View File
@@ -4,7 +4,7 @@ Set a variable.
## arguments
`arg1` Variable name (optionally prefixed with a $) to set. When the variable does not exist, it will be created. Note that SSE registers are not supported (Instead use [movdqu](movdqu.md) for SSE registers).
`arg1` Variable name (optionally prefixed with a $) to set. When the variable does not exist, it will be created.
`arg2` Value to store in the variable. If you use `#11 22 33#` it will write the bytes `11 22 33` in the process memory at `arg1`.
-13
View File
@@ -1,13 +0,0 @@
# movdqu/movups/movupd
Read/write an XMM register. The source and destination operands can be either an XMM register, or a memory location. The value of destination operand will be set to source operand. When using a memory location, only the syntax `[addr]` is supported, where `addr` is an expression of the memory address. Unlike other commands, the size of operands are 16 bytes. MM/YMM/ZMM registers are not supported by this command, to access YMM/ZMM registers, use [`vmovdqu`](vmovdqu.md) command.
## arguments
`arg1` The destination operand.
`arg2` The source operand.
## result
This command does not set any result variables.
+1 -1
View File
@@ -1,6 +1,6 @@
# mul
Multiply two values and store the lower part of result into `arg1`.
Multiply two values.
## arguments
-13
View File
@@ -1,13 +0,0 @@
# mulhi
Multiply two unsigned values and store the upper part of result into `arg1`.
## arguments
`arg1` Destination.
`arg2` Source.
## result
This command does not set any result variables.
-11
View File
@@ -1,11 +0,0 @@
# popcnt
Evaluate the population count of a value, that is, number of bits set to 1.
## arguments
`arg1` Value.
## result
`arg1` is set to the population count. Additionaly, the internal variable `$_EZ_FLAG` is set to 1 if `arg1` is 0, and set to 0 otherwise. The internal variable `$_BS_FLAG` is set to 0.
+1 -1
View File
@@ -1,6 +1,6 @@
# rol
Binary ROL (rotate left) a value.
Binary ROL a value.
## arguments
+1 -1
View File
@@ -1,6 +1,6 @@
# ror
Binary ROR (rotate right) a value.
Binary ROR a value.
## arguments
-13
View File
@@ -1,13 +0,0 @@
# vmovdqu/vmovups/vmovupd
Read/write a YMM/ZMM register. The source and destination operands can be either an YMM/ZMM register, or a memory location. The value of destination operand will be set to source operand. When using a memory location, only the syntax `[addr]` is supported, where `addr` is an expression of the memory address. Unlike other commands, the size of operands are 32 bytes for YMM registers and 64 bytes for ZMM registers. To access ZMM registers, the computer and x64dbg version must support AVX-512. To access XMM registers, use [`movdqu`](movdqu.md) command.
## arguments
`arg1` The destination operand.
`arg2` The source operand.
## result
This command does not set any result variables.
+1 -1
View File
@@ -6,7 +6,7 @@ Add an entry to the reference view. You need to call 'refinit' before using refa
`arg1` Address to put in the reference view.
`arg2` Text to put after the address. You can use [String Formatting](../../introduction/Formatting.md) here.
`arg2` Text to put after the address. You can use [String Formatting](../../introduction/Formatting.rst) here.
## result
+1 -1
View File
@@ -1,4 +1,4 @@
# refget
# reget
Retrieve the address of a reference.
+1 -1
View File
@@ -4,7 +4,7 @@ Initialize reference view for command usage.
## arguments
`[arg1]` The title of the new reference view. You can use [String Formatting](../../introduction/Formatting.md) here.
`[arg1]` The title of the new reference view. You can use [String Formatting](../../introduction/Formatting.rst) here.
## result
+1 -1
View File
@@ -1,6 +1,6 @@
# sdump
Dump the stack at a certain position.
Dump the at a certain position.
## arguments
+1 -11
View File
@@ -1,17 +1,7 @@
Commands
========
Commands have the following format (notice the arguments are **comma separated**):
``command arg1, arg2, argN``
FAQ:
- Please note that all integer constants are represented in hex. For example, after executing the following command, ``$i`` will be 256 (0x100): ``mov $i, 100`` . This also means a variable cannot begin with letters from A to F.
- Throughout this documentation, ``[arg1]`` (argument with a square bracket) represents an optional argument. ``arg1`` (argument without a square bracket) represents an mandatory argument. "[" and "]" represent memory reference operation in expression evaluation for the argument. If you don't want to refer to the content in the memory pointer, don't add "[" and "]".
- For commands with two or more arguments, a comma (,) is used to separate these arguments. Do not use a space to separate the arguments.
- x64dbg only supports integer in expressions. Strings, Floating point numbers and SSE/AVX data is not supported. Therefore you cannot use ``[eax]=="abcd"`` operator to compare strings. Instead, you can compare the first DWORD/QWORD of the string, or use an appropriate plugin which provides such feature.
- The "==" operator is used to test if both operands are equal. The "=" operator is used to transfer the value of the expression to the destination.
This is the documentation of x64dbg commands.
**Contents:**
+1 -3
View File
@@ -9,9 +9,7 @@ This section contains commands to manipulate memory inside the debuggee.
alloc
Fill
memcpy
free
getpagerights
setpagerights
savedata
minidump
savedata
-15
View File
@@ -1,15 +0,0 @@
# memcpy
Copy memory in the context of the debuggee, without applying patches.
## arguments
`arg1` Destination address.
`arg2` Source address.
`arg3` Size to copy.
## result
This command sets `$result` to the total amount of bytes written at the destination. The condition `$result == arg3` is true if all memory was copied.
-11
View File
@@ -1,11 +0,0 @@
# minidump
Create a [minidump](https://learn.microsoft.com/en-us/windows/win32/debug/minidump-files) with full memory and handle information from the debuggee.
## arguments
`arg1` The filename of the `.dmp`.
## results
This command does not set any result variables.
+1 -1
View File
@@ -4,7 +4,7 @@ Save a memory region to disk.
## arguments
`arg1` The filename. If you use `:memdump:` as name it will save a file as `memdump_pid_addr_size.bin` in the x64dbg directory. You can use [String Formatting](../../introduction/Formatting.md) here.
`arg1` The filename. If you use `:memdump:` as name it will save a file as `memdump_pid_addr_size.bin` in the x64dbg directory. You can use [String Formatting](../../introduction/Formatting.rst) here.
`arg2` The address of the memory region.
+1 -1
View File
@@ -1,6 +1,6 @@
# HideDebugger/dbh/hide
Hide the debugger from (very) simple detection methods. The PEB will be modified so that `IsDebuggerPresent()` will return false.
Hide the debugger from (very) simple detection methods.
## arguments
+1 -1
View File
@@ -6,7 +6,7 @@ Assemble an instruction.
`arg1` Address to place the assembled instruction at.
`arg2` Instruction text. You can use [String Formatting](../../introduction/Formatting.md) here.
`arg2` Instruction text. You can use [String Formatting](../../introduction/Formatting.rst) here.
`[arg3]` When specified the remainder of the previous instruction will be filled with NOPs.
+1 -1
View File
@@ -10,4 +10,4 @@ Get the address of an export inside a DLL.
## result
The $result variable is set to the export address. When the export is not found, $result will be set to 0.
The $resultvariable is set to the export address. When the export is not found, $resultwill be set to 0.
+3 -4
View File
@@ -3,13 +3,12 @@ Jxx/IFxx
There are various branches that can react on the flags set by the `cmp` (and maybe other) command(s):
* unconditional branch - `jmp`/`goto`
* branch if not equal - `jne`/`ifne(q)`/`jnz`/`ifnz`
* unconditional branch - `jmp`/`goto`* branch if not equal - `jne`/`ifne(q)`/`jnz`/`ifnz`
* branch if equal - `je`/`ife(q)`/`jz`/`ifz`
* branch if smaller - `jb`/`ifb`/`jl`/`ifl`
* branch if bigger - `ja`/`ifa`/`jg`/`ifg`
* branch if smaller/equal - `jbe`/`ifbe(q)`/`jle`/`ifle(q)`
* branch if bigger/equal - `jae`/`ifae(q)`/`jge`/`ifge(q)`
* branch if bigger/equal - `jbe`/`ifbe(q)`/`jle`/`ifle(q)`
* branch if smaller/equal - `jae`/`ifae(q)`/`jge`/`ifge(q)`
arguments
---------
+1 -2
View File
@@ -18,5 +18,4 @@ This section contains various commands that are only used or available in a scri
printstack
ret
scriptload
scriptdll
scriptcmd
scriptdll
+1 -1
View File
@@ -6,7 +6,7 @@ Put information in the log.
arguments
---------
``[arg1]`` Format string (see :doc:`../../introduction/Formatting`). When not specified, a newline will be logged. When using a format string it is recommended to use quotes to avoid ambiguity with the ``;`` (command separator): ``log "{mem;8@rax}"``.
``[arg1]`` Format string (see :doc:`../../introduction/Formatting`). When not specified, a newline will be logged.
result
------
+1 -1
View File
@@ -4,7 +4,7 @@ Display a message box.
## arguments
`arg1` Message box text. You can use [String Formatting](../../introduction/Formatting.md) here.
`arg1` Message box text. You can use [String Formatting](../../introduction/Formatting.rst) here.
## result
+1 -1
View File
@@ -4,7 +4,7 @@ Display a message box, asking the user to answer yes or no.
## arguments
`arg1` Message box text. You can use [String Formatting](../../introduction/Formatting.md) here.
`arg1` Message box text. You can use [String Formatting](../../introduction/Formatting.rst) here.
## result
-29
View File
@@ -1,29 +0,0 @@
# scriptcmd
Execute a command in the context of a running script.
## arguments
Unlike other commands this command forwards everything after `scriptcmd ` directly to the command processor.
For example `scriptcmd add rax, 0x1245` will execute the command `add rax, 0x1234`.
## result
This command does not set any result variables.
## example
This command can be used in combination with [SetBreakpointCommand](../conditional-breakpoint-control/SetBreakpointCommand.md) to execute scripts on breakpoint callbacks:
```
fn_addr = module.dll:$0x1234 // module.dll RVA 0x1234
bp fn_addr
SetBreakpointCommand fn_addr, "scriptcmd call mycallback"
// make sure the script is not unloaded
mycallback:
log "fn({arg.get(0)}, {arg.get(1)})"
ret
```
+5 -4
View File
@@ -1,15 +1,16 @@
# find
Find a pattern in a memory page. If you want to find all occurrences of a pattern in a memory page use [findall](./findall.md).
Find a pattern.
## arguments
`arg1` The address to start searching from. Notice that the searching will stop when the end of the memory page this address resides in has been reached. This means you cannot search the complete process memory without enumerating the memory pages first. If you want to find all occurrences of a pattern in the entire memory map use [findallmem](./findallmem.md).
`arg1` The address to start searching from. Notice that the searching will stop when the end of the memory page this address resides in has been reached. This means you cannot search the complete process memory without enumerating the memory pages first.
`arg2` The byte pattern to search for. This byte pattern can contain wildcards (?) for example: `EB0?90??8D`. You can use [String Formatting](../../introduction/Formatting.md) here.
`arg2` The byte pattern to search for. This byte pattern can contain wildcards (?) for example: `EB0?90??8D`.
`[arg3]` The size of the data to search in. Default is the size of the memory region.
## result
The `$result` variable is set to the virtual address of the address that matches the byte pattern. `$result` will be 0 when the pattern could not be matched.
The $result variable is set to the virtual address of the address that matches the byte pattern. $result will be 0 when the pattern could not be matched.
+3 -31
View File
@@ -1,43 +1,15 @@
# findall
Find all occurrences of a pattern in a memory page.
Find all occurrences of a pattern.
## arguments
`arg1` The address to start searching from. Notice that the searching will stop when the end of the memory page this address resides in has been reached. This means you cannot search the complete process memory without enumerating the memory pages first. You can use [findallmem](./findallmem.md) to search for a pattern in the whole memory.
`arg1` The address to start searching from. Notice that the searching will stop when the end of the memory page this address resides in has been reached. This means you cannot search the complete process memory without enumerating the memory pages first.
`arg2` The byte pattern to search for. This byte pattern can contain wildcards (?) for example: `EB0?90??8D`. You can use [String Formatting](../../introduction/Formatting.md) here.
`arg2` The byte pattern to search for. This byte pattern can contain wildcards (?) for example: `EB0?90??8D`.
`[arg3]` The size of the data to search in. Default is the size of the memory region.
## result
`$result` is set to the number of occurrences.
## examples
Search for all occurrences a pattern in the memory page CIP is residing:
```
findall mem.base(cip), "0FA2 E8 ???????? C3"
```
Search for all occurences of the value of cax in the stack memory page:
```
findall mem.base(csp), "{bswap@cax}"
```
## remarks
The contents of the reference view can be iterated in a script with the `ref.addr` [expression function](../../introduction/Expression-functions.md):
```
i = 0
loop:
addr = ref.addr(i)
log "reference {d:i} = {p:addr}"
i++
cmp i, ref.count()
jne loop
```
+2 -18
View File
@@ -6,26 +6,10 @@ Find all occurrences of a pattern in the entire memory map.
`arg1` The address to start searching from.
`arg2` The byte pattern to search for. This byte pattern can contain wildcards (?) for example: `EB0?90??8D`. You can use [String Formatting](../../introduction/Formatting.md) here.
`arg2` The byte pattern to search for. This byte pattern can contain wildcards (?) for example: `EB0?90??8D`.
`[arg3]` The size of the data to search in. Default is the entire memory map (`-1`).
`[arg4]` Set to `user`/`system`/`module` to only include (user/system) modules in the search.
`[arg3]` The size of the data to search in. Default is the entire memory map.
## result
`$result` is set to the number of occurrences.
## remarks
The contents of the reference view can be iterated in a script with the `ref.addr` [expression function](../../introduction/Expression-functions.md):
```
i = 0
loop:
addr = ref.addr(i)
log "reference {d:i} = {p:addr}"
i++
cmp i, ref.count()
jne loop
```
+2 -16
View File
@@ -4,7 +4,7 @@ Find assembled instruction.
## arguments
`arg1` Instruction to look for (make sure to use quoted "mov eax, ebx" to ensure you actually search for that instruction). You can use [String Formatting](../../introduction/Formatting.md) here.
`arg1` Instruction to look for (make sure to use quoted "mov eax, ebx" to ensure you actually search for that instruction). You can use [String Formatting](../../introduction/Formatting.rst) here.
`[arg2]` Address of/inside a memory page to look in. When not specified CIP will be used.
@@ -12,18 +12,4 @@ Find assembled instruction.
## result
The `$result` variable is set to the number of references found.
## remarks
The contents of the reference view can be iterated in a script with the `ref.addr` [expression function](../../introduction/Expression-functions.md):
```
i = 0
loop:
addr = ref.addr(i)
log "reference {d:i} = {p:addr}"
i++
cmp i, ref.count()
jne loop
```
The $result variable is set to the number of references found.
+1 -15
View File
@@ -12,18 +12,4 @@ Find references to GUID. The referenced GUID must be registered in the system, o
## results
Set `$result` to `1` if any GUID is found, `0` otherwise.
## remarks
The contents of the reference view can be iterated in a script with the `ref.addr` [expression function](../../introduction/Expression-functions.md):
```
i = 0
loop:
addr = ref.addr(i)
log "reference {d:i} = {p:addr}"
i++
cmp i, ref.count()
jne loop
```
Set `$result` to `1` if any GUID is found, `0` otherwise.
+2
View File
@@ -17,4 +17,6 @@ This section contains commands that are used to search data.
reffindrange
refstr
modcallfind
yara
yaramod
setmaxfindresult
-14
View File
@@ -11,17 +11,3 @@ Find all inter-modular calls.
## result
The `$result` variable is set to the number of inter-modular calls found.
## remarks
The contents of the reference view can be iterated in a script with the `ref.addr` [expression function](../../introduction/Expression-functions.md):
```
i = 0
loop:
addr = ref.addr(i)
log "reference {d:i} = {p:addr}"
i++
cmp i, ref.count()
jne loop
```
+1 -15
View File
@@ -12,18 +12,4 @@ Find references to a certain value.
## result
The `$result` variable is set to the number of references found.
## remarks
The contents of the reference view can be iterated in a script with the `ref.addr` [expression function](../../introduction/Expression-functions.md):
```
i = 0
loop:
addr = ref.addr(i)
log "reference {d:i} = {p:addr}"
i++
cmp i, ref.count()
jne loop
```
The $result variable is set to the number of references found.
-14
View File
@@ -15,17 +15,3 @@ Find references to a certain range of values.
## result
The `$result` variable is set to the number of references found.
## remarks
The contents of the reference view can be iterated in a script with the `ref.addr` [expression function](../../introduction/Expression-functions.md):
```
i = 0
loop:
addr = ref.addr(i)
log "reference {d:i} = {p:addr}"
i++
cmp i, ref.count()
jne loop
```
+1 -15
View File
@@ -10,18 +10,4 @@ Find referenced text strings.
## result
The `$result` variable is set to the number of string references found.
## remarks
The contents of the reference view can be iterated in a script with the `ref.addr` [expression function](../../introduction/Expression-functions.md):
```
i = 0
loop:
addr = ref.addr(i)
log "reference {d:i} = {p:addr}"
i++
cmp i, ref.count()
jne loop
```
The $result variable is set to the number of string references found.
+19
View File
@@ -0,0 +1,19 @@
# yara
Apply Yara rules to a memory range.
YARA is a tool aimed at (but not limited to) helping malware researchers to identify and classify malware samples. With YARA you can create descriptions of malware families (or whatever you want to describe) based on textual or binary patterns. Each description, a.k.a rule, consists of a set of strings and a boolean expression which determine its logic.
Yara is a separate project. You can view its documentation at [http://yara.readthedocs.io](http://yara.readthedocs.io). x64dbg also maintains a list of Yara signatures at [https://github.com/x64dbg/yarasigs](https://github.com/x64dbg/yarasigs).
## arguments
`arg1` Rules file to apply. This should be a full path.
`[arg2]` Start address of the range to apply the rules to. If not specified, the disassembly selection will be used.
`[arg3]` Size of the range to apply the rules to. When not specified, the whole page will be used.
## result
This command does not set any result variables.
+17
View File
@@ -0,0 +1,17 @@
# yaramod
Apply Yara rules to a module.
YARA is a tool aimed at (but not limited to) helping malware researchers to identify and classify malware samples. With YARA you can create descriptions of malware families (or whatever you want to describe) based on textual or binary patterns. Each description, a.k.a rule, consists of a set of strings and a boolean expression which determine its logic.
Yara is a separate project. You can view its documentation at [http://yara.readthedocs.io](http://yara.readthedocs.io). x64dbg also maintains a list of Yara signatures at [https://github.com/x64dbg/yarasigs](https://github.com/x64dbg/yarasigs).
## arguments
`arg1` Rules file to apply. This should be a full path.
`arg2` Name of the module to apply the rules to.
## result
This command does not set any result variables.
+1 -5
View File
@@ -4,12 +4,8 @@ Run the program until the program reaches somewhere belonging to the party numbe
## arguments
`arg1` The party number. This value cannot be an expression. Note: `0` is user module, `1` is system module.
`arg1` The party number. This value cannot be an expression.
## results
This command does not set any result variables.
## see also
[RunToUserCode](RunToUserCode.md)
-2
View File
@@ -2,8 +2,6 @@
Run until user code is reached. It is equivallent to `RunToParty 0`.
This command sets temporary memory breakpoints on all user code pages, rather than single stepping. It fails when another RunToUserCode command is already executing, because the temporary memory breakpoints are already set.
## arguments
This command has no arguments.
+2 -2
View File
@@ -1,6 +1,6 @@
# StartTraceRecording/StartRunTrace/opentrace
# StartRunTrace/opentrace
Start recording a trace to the specified file. The file will also be opened in the trace view. Note you need to use [TraceIntoConditional](./TraceIntoConditional.md) or other command to actually trace the program and record instructions.
Start recording a run trace with a specified file. The file will also be opened in the trace view. Note you need to use [TraceIntoConditional](./TraceIntoConditional.md) or other command to actually trace the program.
## arguments
+2 -2
View File
@@ -1,6 +1,6 @@
# StopTraceRecording/StopRunTrace/tc
# StopRunTrace/tc
Stops trace recording and closes the file.
Stops recording a run trace and closes file.
## arguments
@@ -1,9 +1,6 @@
# TraceIntoBeyondTraceCoverage/TraceIntoBeyondTraceRecord/tibt
# TraceIntoBeyondTraceRecord/tibt
Perform [StepInto](StepInto.md) until the program reaches somewhere outside the trace coverage. This is similar to `ticnd tr.hitcount(cip)==0&&arg1, arg2` except that it achieves higher performance by avoiding the expression function invocation.
Usage example: If you want to find out the forking point of the program when different inputs are provided, first enable or re-enable trace coverage to clean trace coverage data.
Then you trace while input A is provided. Finally you provide input B and execute `TraceIntoBeyondTraceRecord` command. The program will be paused where the instruction is never executed before.
Perform [StepInto](StepInto.md) until the program reaches somewhere outside the trace record.
## arguments
+2 -2
View File
@@ -1,6 +1,6 @@
# TraceIntoIntoTraceCoverage/TraceIntoIntoTraceRecord/tiit
# TraceIntoIntoTraceRecord/tiit
Perform StepInto until the program reaches somewhere inside the trace coverage.
Perform StepInto until the program reaches somewhere inside the trace record.
## arguments
@@ -1,6 +1,6 @@
# TraceOverBeyondTraceCoverage,TraceOverBeyondTraceRecord/tobt
# TraceOverBeyondTraceRecord/tobt
Perform StepOver until the program reaches somewhere outside the trace coverage.
Perform StepOver until the program reaches somewhere outside the trace record.
## arguments
+2 -2
View File
@@ -1,6 +1,6 @@
# TraceOverIntoTraceCoverage/TraceOverIntoTraceRecord/toit
# TraceOverIntoTraceRecord/toit
Perform StepOver until the program reaches somewhere inside the trace coverage.
Perform StepOver until the program reaches somewhere inside the trace record.
## arguments
+4 -6
View File
@@ -1,16 +1,14 @@
# VisitType/DisplayType/dt
# VisitType
Display a type and print its members in the struct view.
Visit a type and print its members.
## arguments
`arg1` The type to display.
`arg1` The type to visit.
`[arg2]` Address to print from. If not specified (or zero) the type will be printed without values.
`[arg3]` Maximum pointer resolution depth. This can be used to also display structures (and values) pointed to by members of the type you are visiting. If not specified or negative, it will default to 2 (configurable with `[Engine].DefaultTypePtrDepth`).
`[arg4]` Name of the variable. If not specified it will default to an empty string.
`[arg3]` Maximum pointer resolution depth (default is 0). This can be used to also display structures (and values) pointed to by members of the type you are visiting.
## result
+1 -15
View File
@@ -8,18 +8,4 @@ This command has no arguments.
## result
`$result` will be set to the number of user-defined arguments.
## remarks
The contents of the reference view can be iterated in a script with the `ref.addr` [expression function](../../introduction/Expression-functions.md):
```
i = 0
loop:
addr = ref.addr(i)
log "reference {d:i} = {p:addr}"
i++
cmp i, ref.count()
jne loop
```
$resultwill be set to the number of user-defined arguments.
+1 -15
View File
@@ -8,18 +8,4 @@ This command has no arguments.
## result
`$result` will be set to the number of user-defined bookmarks.
## remarks
The contents of the reference view can be iterated in a script with the `ref.addr` [expression function](../../introduction/Expression-functions.md):
```
i = 0
loop:
addr = ref.addr(i)
log "reference {d:i} = {p:addr}"
i++
cmp i, ref.count()
jne loop
```
$resultwill be set to the number of user-defined bookmarks.
+1 -15
View File
@@ -8,18 +8,4 @@ This command has no arguments.
## result
`$result` will be set to the number of user-defined comments.
## remarks
The contents of the reference view can be iterated in a script with the `ref.addr` [expression function](../../introduction/Expression-functions.md):
```
i = 0
loop:
addr = ref.addr(i)
log "reference {d:i} = {p:addr}"
i++
cmp i, ref.count()
jne loop
```
$resultwill be set to the number of user-defined comments.
+1 -15
View File
@@ -8,18 +8,4 @@ This command has no arguments.
## result
`$result` will be set to the number of user-defined functions.
## remarks
The contents of the reference view can be iterated in a script with the `ref.addr` [expression function](../../introduction/Expression-functions.md):
```
i = 0
loop:
addr = ref.addr(i)
log "reference {d:i} = {p:addr}"
i++
cmp i, ref.count()
jne loop
```
$resultwill be set to the number of user-defined functions.
+1 -15
View File
@@ -8,18 +8,4 @@ This command has no arguments.
## result
`$result` will be set to the number of user-defined labels.
## remarks
The contents of the reference view can be iterated in a script with the `ref.addr` [expression function](../../introduction/Expression-functions.md):
```
i = 0
loop:
addr = ref.addr(i)
log "reference {d:i} = {p:addr}"
i++
cmp i, ref.count()
jne loop
```
$resultwill be set to the number of user-defined labels.
+1 -1
View File
@@ -6,7 +6,7 @@ Set a label.
`arg1` Address to set the label at (preferably inside a module).
`arg2` Label text. You can use [String Formatting](../../introduction/Formatting.md) here.
`arg2` Label text. You can use [String Formatting](../../introduction/Formatting.rst) here.
## result
-2
View File
@@ -2,8 +2,6 @@
Declare a new variable.
**Note**: You should not use this command under normal circumstances. If you want to create a variable you can do so with `myvar = 42`.
## arguments
`arg1` Variable name (will be prefixed with '$' if not done).
+2 -2
View File
@@ -8,7 +8,7 @@ Set the watchdog mode of a watch item.
`[arg2]` The watchdog mode. Possible values:
* disabled : Watchdog is disabled.
* disabled : Watchdog is disableed.
* changed : Watchdog is triggered when the value is changed.
* unchanged : Watchdog is triggered when the value is not changed.
* istrue : Watchdog is triggered when the value is not 0.
@@ -18,4 +18,4 @@ When this argument is not specified, the mode will be set to "changed" if the cu
## results
This command does not set any result variables.
This command does not set any result variables.
+3 -14
View File
@@ -31,18 +31,12 @@
# ones.
extensions = [
'sphinx.ext.todo',
'm2r'
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
from recommonmark.parser import CommonMarkParser
from recommonmark.transform import AutoStructify
source_parsers = {
'.md': CommonMarkParser,
}
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
@@ -89,7 +83,7 @@ language = None
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This patterns also effect to html_static_path and html_extra_path
exclude_patterns = ['_build*', 'Thumbs.db', '.DS_Store', 'README.md', '.git', 'python-2.7.18.amd64.portable']
exclude_patterns = ['_build*', 'Thumbs.db', '.DS_Store', 'README.md', '.git']
# The reST default role (used for this markup: `text`) to use for all
# documents.
@@ -346,9 +340,4 @@ texinfo_documents = [
# texinfo_no_detailmenu = False
def setup(app):
app.add_config_value('recommonmark_config', {
'enable_auto_doc_ref': True,
'enable_inline_math': False,
'enable_auto_toc_tree': False
}, True)
app.add_transform(AutoStructify)
pass
+6 -6
View File
@@ -1,25 +1,25 @@
# DbgCmdExec
Execute the command on the command processing thread.
Function description.
```c++
bool DbgCmdExec(const char* cmd);
Function definition.
```
## Parameters
`cmd` The command string in UTF-8 encoding
`param1` Parameter description.
## Return Value
`true` if the command is sent to the command processing thread for asynchronous execution, `false` otherwise.
Return value description.
## Example
```c++
DbgCmdExec("run");
Example code.
```
## Related functions
- [DbgCmdExecDirect](./DbgCmdExecDirect.md)
- List of related functions
@@ -1,25 +1,25 @@
# DbgCmdExecDirect
Execute the command on the calling thread.
Function description.
```c++
bool DbgCmdExecDirect(const char* cmd)
Function definition.
```
## Parameters
`cmd` The command string in UTF-8 encoding
`param1` Parameter description.
## Return Value
`true` if the command is executed successfully, `false` otherwise.
Return value description.
## Example
```c++
DbgCmdExecDirect("run");
Example code.
```
## Related functions
- [DbgCmdExec](./DbgCmdExec.md)
- List of related functions
+4 -4
View File
@@ -1,18 +1,18 @@
# DbgExit
Used by x64dbg GUI to send exit signal to debugger and close the debugger.
Function description.
```c++
void DbgExit()
Function definition.
```
## Parameters
No parameters
`param1` Parameter description.
## Return Value
No return value.
Return value description.
## Example
@@ -1,23 +1,18 @@
# DbgMemFindBaseAddr
Returns the baseaddress and size of a specific module
Function description.
```c++
duint DbgMemFindBaseAddr(
duint addr,
duint* size
);
Function definition.
```
## Parameters
`addr` Virtual address which is in a specific module. <br>
`size` Pointer, which will, on success, hold the module size.
`param1` Parameter description.
## Return Value
On success, returns the virtual address of a specific module. <br>
On failure, it will return 0.
Return value description.
## Example
@@ -27,4 +22,4 @@ Example code.
## Related functions
- [DbgMemGetPageSize](./DbgMemGetPageSize.md)
- List of related functions
+25 -30
View File
@@ -1,30 +1,25 @@
# DbgMemGetPageSize
Function description.
```c++
Function definition.
```
## Parameters
`param1` Parameter description.
## Return Value
Return value description.
## Example
Get page base and size of selected instruction.
```c++
SELECTIONDATA sel; // Define Address the slected line in the Disassembly window ( begin , End )
GuiSelectionGet(GUI_DISASSEMBLY, &sel); // Get the value of sel(begin addr , End addr )
duint pagesize = DbgMemGetPageSize(sel.start); // get the page size of the section from the selected memory addr
//Or use the following statement to get page base and size in one call.
duint sctionbase = DbgMemFindBaseAddr(sel.start, &pagesize); // get the base of this section ( begin addr of the section )
```
## Related functions
- List of related functions
# DbgMemGetPageSize
Function description.
```c++
Function definition.
```
## Parameters
`param1` Parameter description.
## Return Value
Return value description.
## Example
```c++
Example code.
```
## Related functions
- List of related functions
+5 -17
View File
@@ -3,35 +3,23 @@
Function description.
```c++
bool DbgMemRead(
duint va,
void* dest,
duint size
);
Function definition.
```
## Parameters
`va` Virtual address to source<br>
`dest` Pointer to pre allocated buffer of size `size`<br>
`size` Number of bytes that should be read
`param1` Parameter description.
## Return Value
Returns true on success.
Return value description.
## Example
```c++
// read user selected data from disassembly window
SELECTIONDATA sel;
GuiSelectionGet(GUI_DISASSEMBLY, &sel);
uint16_t size = sel.end - sel.start + 1;
uint8_t* dest = new uint8_t[size];
bool success = DbgMemRead(sel.start, dest, size);
// on success, the selected data is stored in dest
Example code.
```
## Related functions
- List of related functions
- List of related functions
@@ -1,31 +1,25 @@
# DbgSetAutoCommentAt
Set an auto comment at the given address.
Function description.
```c++
bool DbgSetAutoCommentAt(duint addr, const char* text)
Function definition.
```
## Parameters
`addr` The address to comment.
`text` The auto comment in UTF-8 encoding.
`param1` Parameter description.
## Return Value
`true` if the function is successful, `false` otherwise.
Return value description.
## Example
```c++
DbgSetAutoCommentAt(DbgValFromString("dis.sel()"), "This is the currently selected instruction");
Example code.
```
## Related functions
- [DbgSetCommentAt](./DbgSetCommentAt.md)
- [DbgSetAutoLabelAt](./DbgSetAutoLabelAt.md)
- [DbgSetAutoBookmarkAt](./DbgSetAutoBookmarkAt.md)
- [DbgSetLabelAt](./DbgSetLabelAt.md)
- [DbgSetBookmarkAt](./DbgSetBookmarkAt.md)
- List of related functions
+6 -12
View File
@@ -1,31 +1,25 @@
# DbgSetCommentAt
Set a comment at the given address.
Function description.
```c++
bool DbgSetCommentAt(duint addr, const char* text)
Function definition.
```
## Parameters
`addr` The address to comment.
`text` The comment in UTF-8 encoding.
`param1` Parameter description.
## Return Value
`true` if the function is successful, `false` otherwise.
Return value description.
## Example
```c++
DbgSetCommentAt(DbgValFromString("dis.sel()"), "This is the currently selected instruction");
Example code.
```
## Related functions
- [DbgSetAutoCommentAt](./DbgSetAutoCommentAt.md)
- [DbgSetAutoLabelAt](./DbgSetAutoLabelAt.md)
- [DbgSetAutoBookmarkAt](./DbgSetAutoBookmarkAt.md)
- [DbgSetLabelAt](./DbgSetLabelAt.md)
- [DbgSetBookmarkAt](./DbgSetBookmarkAt.md)
- List of related functions
@@ -1,25 +1,25 @@
# DbgValFromString
Evaluate the expression.
Function description.
```c++
duint DbgValFromString(const char* string);
Function definition.
```
## Parameters
`string` The [expression](../../../introduction/Expressions.md) to evaluate in UTF-8 encoding.
`param1` Parameter description.
## Return Value
The value of the expression.
Return value description.
## Example
```c++
eip = DbgValFromString("cip");
Example code.
```
## Related functions
- [DbgValToString](./DbgValToString.md)
- List of related functions
+6 -8
View File
@@ -1,27 +1,25 @@
# DbgValToString
Set the variable to the value.
Function description.
```c++
bool DbgValToString(const char* string, duint value);
Function definition.
```
## Parameters
`string` The name of the thing to set in UTF-8 encoding.
`value` The value to set.
`param1` Parameter description.
## Return Value
`true` if the value was set successfully, `false` otherwise.
Return value description.
## Example
```c++
DbgValToString("eax", 1);
Example code.
```
## Related functions
- [DbgValFromString](./DbgValFromString.md)
- List of related functions
+2 -3
View File
@@ -1,6 +1,6 @@
# GuiAddLogMessage
Adds a message to the log. The message will be shown in the log window and on the status bar at the bottom of x64dbg.
Function description.
```c++
void GuiAddLogMessage(
@@ -32,5 +32,4 @@ Invoke GuiAddLogMessage, Addr szMsg
## Related functions
- [GuiLogClear](./GuiLogClear.md)
- [GuiAddStatusBarMessage](./GuiAddStatusBarMessage.md)
- [GuiLogClear](./GuiLogClear.md)
@@ -1,25 +1,25 @@
# GuiAddStatusBarMessage
Shows text in the statusbar, which can be used to inform the user.
Function description.
```c++
void GuiAddStatusBarMessage(const char* msg);
Function definition.
```
## Parameters
`msg` String containing the message to add to the status bar.
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
GuiAddStatusBarMessage("This text will be displayed in the statusbar.");
Example code.
```
## Related functions
- [GuiAddLogMessage](./GuiAddLogMessage.md)
- List of related functions
@@ -1,9 +1,9 @@
# GuiDisplayWarning
Shows a warning dialog with title text and main message text.
Function description.
```c++
void GuiDisplayWarning(const char* title, const char* text)
Function definition.
```
## Parameters
@@ -12,15 +12,14 @@ void GuiDisplayWarning(const char* title, const char* text)
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
GuiDisplayWarning("Warning!", "Operation cannot be reversed.");
Example code.
```
## Related functions
- [GuiAddLogMessage](./GuiAddLogMessage.md)
- [GuiAddStatusBarMessage](./GuiAddStatusBarMessage.md)
- List of related functions
+25 -33
View File
@@ -1,33 +1,25 @@
# GuiGetDebuggeeNotes
Returns into a variable a pointer to a string containing notes and information that a user has made relating to the target being debugged (the debuggee). The function GuiGetGlobalNotes can be used to get the global notes stored by a user.
```c++
void GuiGetDebuggeeNotes(char** text)
```
## Parameters
`text` A variable that will contain a pointer to a buffer on return. The pointer returned points to a string that will contain the notes for the debuggee.
## Return Value
This function does not return a value. The string containing the notes is returned via the pointer supplied via the `text` parameter.
## Example
```c++
char* text = nullptr;
GuiGetDebuggeeNotes(&text);
if(text)
{
// do something with text
BridgeFree(text);
}
```
## Related functions
- [GuiSetDebuggeeNotes](./GuiSetDebuggeeNotes.md)
- [GuiGetGlobalNotes](./GuiGetGlobalNotes.md)
- [GuiSetGlobalNotes](./GuiSetGlobalNotes.md)
# GuiGetDebuggeeNotes
Function description.
```c++
Function definition.
```
## Parameters
`param1` Parameter description.
## Return Value
Return value description.
## Example
```c++
Example code.
```
## Related functions
- List of related functions
+25 -33
View File
@@ -1,33 +1,25 @@
# GuiGetGlobalNotes
Returns into a variable a pointer to a string containing global notes and information that a user has made. The function GuiGetDebuggeeNotes can be used to get the local notes stored by a user for the target being debugged (the debuggee).
```c++
void GuiGetGlobalNotes(char** text)
```
## Parameters
`text` A variable that will contain a pointer to a buffer on return. The pointer returned points to a string that will contain the global notes.
## Return Value
This function does not return a value. The string containing the notes is returned via the pointer supplied via the `text` parameter.
## Example
```c++
char* text = nullptr;
GuiGetGlobalNotes(&text);
if(text)
{
// do something with text
BridgeFree(text);
}
```
## Related functions
- [GuiSetGlobalNotes](./GuiSetGlobalNotes.md)
- [GuiGetDebuggeeNotes](./GuiGetDebuggeeNotes.md)
- [GuiSetDebuggeeNotes](./GuiSetDebuggeeNotes.md)
# GuiGetGlobalNotes
Function description.
```c++
Function definition.
```
## Parameters
`param1` Parameter description.
## Return Value
Return value description.
## Example
```c++
Example code.
```
## Related functions
- List of related functions
@@ -1,24 +1,25 @@
# GuiGetWindowHandle
Obtains the main window handle for x64dg.
Function description.
```c++
HWND GuiGetWindowHandle();
Function definition.
```
## Parameters
This function has no parameters.
`param1` Parameter description.
## Return Value
Returns the main window handle for x6dbg as a HWND variable
Return value description.
## Example
```c++
hWnd = GuiGetWindowHandle();
Example code.
```
## Related functions
- List of related functions
@@ -1,42 +1,25 @@
# GuiIsUpdateDisabled
Returns the status of the internal update flag, which can be disabled via GuiUpdateDisable function or enabled vis the GuiUpdateEnable function.
Function description.
```c++
bool GuiIsUpdateDisabled()
Function definition.
```
## Parameters
This function has no parameters.
`param1` Parameter description.
## Return Value
Returns a boolean value indicating if the internal update flag is set to disabled. If it is set to disabled the value is TRUE otherwise updates are enabled and the value is FALSE.
Return value description.
## Example
```c++
bool bUpdate = GuiIsUpdateDisabled();
Example code.
```
## Related functions
- [GuiUpdateAllViews](./GuiUpdateAllViews.md)
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
- [GuiUpdateDisable](./GuiUpdateDisable.md)
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
- [GuiUpdateDumpView](./GuiUpdateDumpView.md)
- [GuiUpdateEnable](./GuiUpdateEnable.md)
- [GuiUpdateGraphView](./GuiUpdateGraphView.md)
- [GuiUpdateMemoryView](./GuiUpdateMemoryView.md)
- [GuiUpdatePatches](./GuiUpdatePatches.md)
- [GuiUpdateRegisterView](./GuiUpdateRegisterView.md)
- [GuiUpdateSEHChain](./GuiUpdateSEHChain.md)
- [GuiUpdateSideBar](./GuiUpdateSideBar.md)
- [GuiUpdateThreadView](./GuiUpdateThreadView.md)
- [GuiUpdateTimeWastedCounter](./GuiUpdateTimeWastedCounter.md)
- [GuiUpdateWatchView](./GuiUpdateWatchView.md)
- [GuiUpdateWindowTitle](./GuiUpdateWindowTitle.md)
- List of related functions
+6 -6
View File
@@ -1,25 +1,25 @@
# GuiLogClear
Clears the log window of all text.
Function description.
```c++
void GuiLogClear();
Function definition.
```
## Parameters
This function has no parameters.
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
GuiLogClear();
Example code.
```
## Related functions
- [GuiAddLogMessage](./GuiAddLogMessage)
- List of related functions
+6 -21
View File
@@ -1,40 +1,25 @@
# GuiMenuAdd
This function adds a new child menu to a menu.
Function description.
```c++
int GuiMenuAdd(int hMenu, const char* title)
Function definition.
```
## Parameters
`hMenu` Menu handle from a previously-added menu or from the main menu.
`title` A const char repesenting the text title of the menu item to be added.
`param1` Parameter description.
## Return Value
Returns the menu handle (unique), or -1 on failure.
Return value description.
## Example
```c++
hNewMenu = GuiMenuAdd(hMenu, &szMenuTitle);
Example code.
```
## Related functions
- [GuiMenuAddEntry](./GuiMenuAddEntry.md)
- [GuiMenuAddSeparator](./GuiMenuAddSeparator.md)
- [GuiMenuClear](./GuiMenuClear.md)
- [GuiMenuSetEntryIcon](./GuiMenuSetEntryIcon.md)
- [GuiMenuSetIcon](./GuiMenuSetIcon.md)
Note: Plugin developers should make use of the plugin functions provided:
- [\_plugin\_menuadd](../../plugins/API/menuadd.rst)
- [\_plugin\_menuaddentry](../../plugins/API/menuaddentry.rst)
- [\_plugin\_menuaddseparator](../../plugins/API/menuaddseparator.rst)
- [\_plugin\_menuclear](../../plugins/API/menuclear.rst)
- [\_plugin\_menuentryseticon](../../plugins/API/menuentryseticon.rst)
- [\_plugin\_menuseticon](../../plugins/API/menuseticon.rst)
- List of related functions
+6 -21
View File
@@ -1,40 +1,25 @@
# GuiMenuAddEntry
This function adds a menu entry to a menu.
Function description.
```c++
int GuiMenuAddEntry(int hMenu, const char* title)
Function definition.
```
## Parameters
`hMenu` Menu handle from a previously-added menu or from the main menu.
`title` A const char repesenting the text title of the menu item to be added.
`param1` Parameter description.
## Return Value
Returns the menu handle (unique), or -1 on failure.
Return value description.
## Example
```c++
hNewMenuEntry = GuiMenuAddEntry(hMenu, &szMenuEntryText);
Example code.
```
## Related functions
- [GuiMenuAdd](./GuiMenuAdd.md)
- [GuiMenuAddSeparator](./GuiMenuAddSeparator.md)
- [GuiMenuClear](./GuiMenuClear.md)
- [GuiMenuSetEntryIcon](./GuiMenuSetEntryIcon.md)
- [GuiMenuSetIcon](./GuiMenuSetIcon.md)
Note: Plugin developers should make use of the plugin functions provided:
- [\_plugin\_menuadd](../../plugins/API/menuadd.rst)
- [\_plugin\_menuaddentry](../../plugins/API/menuaddentry.rst)
- [\_plugin\_menuaddseparator](../../plugins/API/menuaddseparator.rst)
- [\_plugin\_menuclear](../../plugins/API/menuclear.rst)
- [\_plugin\_menuentryseticon](../../plugins/API/menuentryseticon.rst)
- [\_plugin\_menuseticon](../../plugins/API/menuseticon.rst)
- List of related functions
@@ -1,44 +1,25 @@
# GuiMenuAddSeparator
Adds a menu separator to a menu.
Function description.
```c++
void GuiMenuAddSeparator(int hMenu)
Function definition.
```
## Parameters
`hMenu` Menu handle from a previously-added menu or from the main menu.
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
hNewMenu = GuiMenuAdd(hMenu, &szMenuTitle);
GuiMenuAddEntry(hNewMenu, &szMenuEntry1Text);
GuiMenuAddEntry(hNewMenu, &szMenuEntry2Text);
GuiMenuAddSeparator(hNewMenu);
GuiMenuAddEntry(hNewMenu, &szMenuEntry3Text);
GuiMenuAddEntry(hNewMenu, &szMenuEntry4Text);
Example code.
```
## Related functions
- [GuiMenuAdd](./GuiMenuAdd.md)
- [GuiMenuAddEntry](./GuiMenuAddEntry.md)
- [GuiMenuClear](./GuiMenuClear.md)
- [GuiMenuSetEntryIcon](./GuiMenuSetEntryIcon.md)
- [GuiMenuSetIcon](./GuiMenuSetIcon.md)
Note: Plugin developers should make use of the plugin functions provided:
- [\_plugin\_menuadd](../../plugins/API/menuadd.rst)
- [\_plugin\_menuaddentry](../../plugins/API/menuaddentry.rst)
- [\_plugin\_menuaddseparator](../../plugins/API/menuaddseparator.rst)
- [\_plugin\_menuclear](../../plugins/API/menuclear.rst)
- [\_plugin\_menuentryseticon](../../plugins/API/menuentryseticon.rst)
- [\_plugin\_menuseticon](../../plugins/API/menuseticon.rst)
- List of related functions
+6 -20
View File
@@ -1,39 +1,25 @@
# GuiMenuClear
This function removes all entries and child menus from a menu. It will not remove the menu itself.
Function description.
```c++
void GuiMenuClear(int hMenu)
Function definition.
```
## Parameters
`hMenu` Menu handle from a previously-added menu or from the main menu.
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
hNewMenu = GuiMenuAdd(hMenu, &szMenuTitle);
GuiMenuClear(hMenuNew);
Example code.
```
## Related functions
- [GuiMenuAdd](./GuiMenuAdd.md)
- [GuiMenuAddEntry](./GuiMenuAddEntry.md)
- [GuiMenuAddSeparator](./GuiMenuAddSeparator.md)
- [GuiMenuSetEntryIcon](./GuiMenuSetEntryIcon.md)
- [GuiMenuSetIcon](./GuiMenuSetIcon.md)
Note: Plugin developers should make use of the plugin functions provided:
- [\_plugin\_menuadd](../../plugins/API/menuadd.rst)
- [\_plugin\_menuaddentry](../../plugins/API/menuaddentry.rst)
- [\_plugin\_menuaddseparator](../../plugins/API/menuaddseparator.rst)
- [\_plugin\_menuclear](../../plugins/API/menuclear.rst)
- [\_plugin\_menuentryseticon](../../plugins/API/menuentryseticon.rst)
- [\_plugin\_menuseticon](../../plugins/API/menuseticon.rst)
- List of related functions
@@ -1,44 +1,25 @@
# GuiMenuSetEntryIcon
Sets an icon for a specified menu entry.
Function description.
```c++
void GuiMenuSetEntryIcon(int hEntry, const ICONDATA* icon)
Function definition.
```
## Parameters
`hEntry` Parameter description.
`icon`
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
ICONDATA rocket;
rocket.data = icon_rocket;
rocket.size = sizeof(icon_rocket);
hNewMenuEntry = GuiMenuAddEntry(hMenu, &szMenuEntryText);
GuiMenuSetEntryIcon(hNewMenuEntry,&rocket);
Example code.
```
## Related functions
- [GuiMenuAdd](./GuiMenuAdd.md)
- [GuiMenuAddEntry](./GuiMenuAddEntry.md)
- [GuiMenuAddSeparator](./GuiMenuAddSeparator.md)
- [GuiMenuClear](./GuiMenuClear.md)
- [GuiMenuSetIcon](./GuiMenuSetIcon.md)
Note: Plugin developers should make use of the plugin functions provided:
- [\_plugin\_menuadd](../../plugins/API/menuadd.rst)
- [\_plugin\_menuaddentry](../../plugins/API/menuaddentry.rst)
- [\_plugin\_menuaddseparator](../../plugins/API/menuaddseparator.rst)
- [\_plugin\_menuclear](../../plugins/API/menuclear.rst)
- [\_plugin\_menuentryseticon](../../plugins/API/menuentryseticon.rst)
- [\_plugin\_menuseticon](../../plugins/API/menuseticon.rst)
- List of related functions
+6 -30
View File
@@ -1,49 +1,25 @@
# GuiMenuSetIcon
Sets an icon for a specified menu.
Function description.
```c++
void GuiMenuSetIcon(int hMenu, const ICONDATA* icon)
Function definition.
```
## Parameters
`hMenu` Menu handle from a previously-added menu or from the main menu.
`icon`
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
ICONDATA rocket;
rocket.data = icon_rocket;
rocket.size = sizeof(icon_rocket);
hNewMenuEntry = GuiMenuAddEntry(hMenu, &szMenuEntryText);
GuiMenuSetIcon(hMenuDisasm,&rocket);
Example code.
```
## Related functions
- [GuiMenuAdd](./GuiMenuAdd.md)
- [GuiMenuAddEntry](./GuiMenuAddEntry.md)
- [GuiMenuAddSeparator](./GuiMenuAddSeparator.md)
- [GuiMenuClear](./GuiMenuClear.md)
- [GuiMenuSetEntryIcon](./GuiMenuSetEntryIcon.md)
Note: Plugin developers should make use of the plugin functions provided:
- [\_plugin\_menuadd](../../plugins/API/menuadd.rst)
- [\_plugin\_menuaddentry](../../plugins/API/menuaddentry.rst)
- [\_plugin\_menuaddseparator](../../plugins/API/menuaddseparator.rst)
- [\_plugin\_menuclear](../../plugins/API/menuclear.rst)
- [\_plugin\_menuentryseticon](../../plugins/API/menuentryseticon.rst)
- [\_plugin\_menuseticon](../../plugins/API/menuseticon.rst)
- List of related functions
Loaded 100 of 204 files, more files were not shown because too many files have changed in this diff. Show more