Compare 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
117 changed files with 465 additions and 2641 deletions

No files matched your search

+2 -2
View File
@@ -4,6 +4,6 @@ Documentation repository for [x64dbg](http://x64dbg.com) at [Read the Docs](http
## Building
1. `pip install sphinx recommonmark==0.4.0 sphinx_rtd_theme==0.2.5b2`
2. Add `relpath = relpath.replace(os.path.sep, '/')` to `C:\Python27\Lib\site-packages\recommonmark\transform.py` line `63`
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.
-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
@@ -1,6 +1,6 @@
# sdump
Dump the stack at a certain position.
Dump the at a certain position.
## arguments
-8
View File
@@ -3,14 +3,6 @@ Commands
This is the documentation of x64dbg commands.
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.
**Contents:**
.. toctree::
-1
View File
@@ -9,7 +9,6 @@ This section contains commands to manipulate memory inside the debuggee.
alloc
Fill
memcpy
free
getpagerights
setpagerights
-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.
+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
@@ -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.
+1 -2
View File
@@ -3,8 +3,7 @@ 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`
+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
------
-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.rst) 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 -17
View File
@@ -1,29 +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.rst) 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}"
```
+1 -1
View File
@@ -6,7 +6,7 @@ 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.rst) 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.
+2
View File
@@ -17,4 +17,6 @@ This section contains commands that are used to search data.
reffindrange
refstr
modcallfind
yara
yaramod
setmaxfindresult
+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)
@@ -1,9 +1,6 @@
# TraceIntoBeyondTraceRecord/tibt
Perform [StepInto](StepInto.md) until the program reaches somewhere outside the trace record. 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 record to clean trace record 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
@@ -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.
+2 -13
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:
#
@@ -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
@@ -16,15 +16,10 @@ 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 )
Example code.
```
## Related functions
- List of 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.rst) 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
@@ -1,32 +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.
Function description.
```c++
void GuiGetDebuggeeNotes(char** text)
Function definition.
```
## 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.
`param1` Parameter description.
## Return Value
This function does not return a value. The string containing the notes is returned via the pointer supplied via the `text` parameter.
Return value description.
## Example
```c++
char* text = nullptr;
GuiGetDebuggeeNotes(&text);
if(text)
{
// do something with text
}
Example code.
```
## Related functions
- [GuiSetDebuggeeNotes](./GuiSetDebuggeeNotes.md)
- [GuiGetGlobalNotes](./GuiGetGlobalNotes.md)
- [GuiSetGlobalNotes](./GuiSetGlobalNotes.md)
- List of related functions
+6 -13
View File
@@ -1,32 +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).
Function description.
```c++
void GuiGetGlobalNotes(char** text)
Function definition.
```
## 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.
`param1` Parameter description.
## Return Value
This function does not return a value. The string containing the notes is returned via the pointer supplied via the `text` parameter.
Return value description.
## Example
```c++
char* text = nullptr;
GuiGetGlobalNotes(&text);
if(text)
{
// do something with text
}
Example code.
```
## Related functions
- [GuiSetGlobalNotes](./GuiSetGlobalNotes.md)
- [GuiGetDebuggeeNotes](./GuiGetDebuggeeNotes.md)
- [GuiSetDebuggeeNotes](./GuiSetDebuggeeNotes.md)
- 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
@@ -1,37 +1,25 @@
# GuiReferenceAddColumn
Adds a column to the current Reference View instance.
Function description.
```c++
void GuiReferenceAddColumn(int width, const char* title);
Function definition.
```
## Parameters
`width` An integer indicating the width of the column to add.
`title` A const char representing the column's title name to add.
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
GuiReferenceAddColumn(8,&sztitle);
Example code.
```
## Related functions
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
- List of related functions
@@ -1,35 +1,25 @@
# GuiReferenceDeleteAllColumns
Removes all columns from the current Reference View instance.
Function description.
```c++
void GuiReferenceDeleteAllColumns();
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++
GuiReferenceDeleteAllColumns();
Example code.
```
## Related functions
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
- List of related functions
@@ -1,37 +1,25 @@
# GuiReferenceGetCellContent
Retrieves the data stored in a specified cell in the current Reference View instance, based on the supplied row and column parameters.
Function description.
```c++
char* GuiReferenceGetCellContent(int row, int col)
Function definition.
```
## Parameters
`row` An integer representing the row for the cell for which the data is fetched.
`col` An integer representing the column for the cell for which the data is fetched.
`param1` Parameter description.
## Return Value
The return value is a pointer to a char representing the data (typically a string) that was stored at the specified row/column of the current Reference View instance. NULL if there was no data or the row/column specified was incorrect.
Return value description.
## Example
```c++
Data = GuiReferenceGetCellContent(0,0);
Example code.
```
## Related functions
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
- List of related functions
@@ -1,35 +1,25 @@
# GuiReferenceGetRowCount
Gets the total rows count in the current Reference View instance.
Function description.
```c++
int GuiReferenceGetRowCount()
Function definition.
```
## Parameters
This function has no parameters.
`param1` Parameter description.
## Return Value
Returns an integer value representing the total rows in the current Reference View instance.
Return value description.
## Example
```c++
int iTotalRows = GuiReferenceGetRowCount();
Example code.
```
## Related functions
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
- List of related functions
@@ -1,35 +1,25 @@
# GuiReferenceInitialize
Initializes and creates a new instance of a Reference View. A new tab will appear under Reference Views entitled as per the name parameter. Columns can be added to this instance via the GuiReferenceAddColumn function. Rows can be inserted by using the GuiReferenceSetRowCount function and data for each cell (row and column) can be added via the GuiReferenceSetCellContent function. See the appropriate functions for more details.
Function description.
```c++
void GuiReferenceInitialize(const char* name)
Function definition.
```
## Parameters
`name` A const char representing the text string to name the Reference View instance.
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
GuiReferenceInitialize("Code Caves");
Example code.
```
## Related functions
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
- List of related functions
@@ -1,35 +1,25 @@
# GuiReferenceReloadData
Reloads (refreshes) the data in the current Reference View instance.
Function description.
```c++
void GuiReferenceReloadData();
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++
GuiReferenceReloadData();
Example code.
```
## Related functions
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
- List of related functions
@@ -1,65 +1,25 @@
# GuiReferenceSetCellContent
Sets a specified cell's data content in the Reference View based on the supplied row and column parameters.
Function description.
```c++
void GuiReferenceSetCellContent(int row, int col, const char* str);
Function definition.
```
## Parameters
`row` integer representing the row to set data for.
`col` integer representing the column to set data for.
`str` const char* representing the string data to set at the row, col specified.
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
const char szRefStart = "Start";
const char szRefFinish = "Finish";
const char szRefType = "Type";
GuiReferenceInitialize("Some Information"); // Add Reference View Header Title
GuiReferenceAddColumn(2 * sizeof(DWORD),&szRefStart); // Add column Name
GuiReferenceAddColumn(2 * sizeof(DWORD),&szRefFinish); // Add column Name
GuiReferenceAddColumn(8,&szRefType); // Add column Name
GuiReferenceSetRowCount(2); // add 2 rows
int iRow = 0;
GuiReferenceSetCellContent(iRow,0,&szCodeCaveStartAddress); // add start address
GuiReferenceSetCellContent(iRow,1,&szCodeCaveFinishAddress); // add finish address
GuiReferenceSetCellContent(iRow,2,&szNop); // add type
iRow = iRow + 1; // Increment rows
// get variables to convert to strings (szCodeCaveStartAddress, szCodeCaveFinishAddress etc)
// add to next row's columns
Example code.
```
## Notes
The Reference View must be initialized beforehand, and any columns required added before adding any rows and setting data for them.
Ensure you increment the row counter after you have set all data for all columns in a particular row, otherwise you will just overwrite any data you have set previously.
GuiReferenceSetRowCount needs to be called before setting cell contents - to update the reference view with a total count of rows, for example to add 5 rows: GuiReferenceSetRowCount(5), if you then decide to add another row later on then you would specify GuiReferenceSetRowCount(6)
Ideally you will use some variable that is incremented to automatically keep track of total rows added.
## Related functions
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
- List of related functions
@@ -1,42 +1,25 @@
# GuiReferenceSetCurrentTaskProgress
Sets the percentage bar and some status text in the current Reference View instance. This can indicate to the user that an operation is taking place, e.g. searching/sorting.
Function description.
```c++
void GuiReferenceSetCurrentTaskProgress(int progress, const char* taskTitle);
Function definition.
```
## Parameters
`progress` An integer representing the value of the percentage bar.
`taskTitle` A const char representing a text string to indicate status or progress to the user.
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
GuiReferenceSetCurrentTaskProgress(0,"Starting Search, Please Wait...");
// do something
GuiReferenceSetCurrentTaskProgress(50,"Searching, Please Wait...");
// do something else
GuiReferenceSetCurrentTaskProgress(100,"Finished Searching.");
// finished
Example code.
```
## Related functions
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
- List of related functions
@@ -1,41 +1,25 @@
# GuiReferenceSetProgress
Sets the progress bar in the Reference View instance to a specific percentage value. This can be used to indicate to the user an operation is occurring, e.g. searching/sorting etc.
Function description.
```c++
void GuiReferenceSetProgress(int progress);
Function definition.
```
## Parameters
`progress` An integer representing the percentage value to set the progress bar to.
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
GuiReferenceSetProgress(0);
// do something
GuiReferenceSetProgress(50);
// do something else
GuiReferenceSetProgress(100);
// tell user operation has ended
Example code.
```
## Related functions
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
- List of related functions
@@ -1,35 +1,25 @@
# GuiReferenceSetRowCount
Sets the total number of rows that the Reference View will contain.
Function description.
```c++
void GuiReferenceSetRowCount(int count);
Function definition.
```
## Parameters
`count` integer representing the total number of rows that the current Reference View will contain.
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
GuiReferenceSetRowCount(5);
Example code.
```
## Related functions
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
- List of related functions
@@ -1,35 +1,25 @@
# GuiReferenceSetSearchStartCol
Sets the search starting column in the current Reference View instance.
Function description.
```c++
void GuiReferenceSetSearchStartCol(int col);
Function definition.
```
## Parameters
`col` An integer representing the 0 based column to use for searching.
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
GuiReferenceSetSearchStartCol(1);
Example code.
```
## Related functions
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
- List of related functions
@@ -1,38 +1,25 @@
# GuiReferenceSetSingleSelection
Sets the currently selected row in the Reference View instance.
Function description.
```c++
void GuiReferenceSetSingleSelection(int index, bool scroll);
Function definition.
```
## Parameters
`index` integer representing the row index to set the current selection to.
`scroll` a boolean value indicating if the selected index should be scrolled into view if it is not currently.
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
GuiReferenceSetSingleSelection(0,true);
Example code.
```
## Related functions
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
- List of related functions
+6 -10
View File
@@ -1,29 +1,25 @@
# GuiSelectionGet
Gets the currently selected line (or lines) of the specified GUI view and returns the information as start and end addresses into a SELECTIONDATA variable.
Function description.
```c++
bool GuiSelectionGet(int hWindow, SELECTIONDATA* selection)
Function definition.
```
## Parameters
`hWindow` an integer representing one of the following supported GUI views: GUI_DISASSEMBLY, GUI_DUMP, GUI_STACK.
`selection` a SELECTIONDATA structure variable that stores the start and end address of the current selection.
`param1` Parameter description.
## Return Value
Return TRUE if successful or FALSE otherwise.
Return value description.
## Example
```c++
SELECTIONDATA sel;
GuiSelectionGet(GUI_DISASSEMBLY, &sel)
sprintf(msg, "%p - %p", sel.start, sel.end);
Example code.
```
## Related functions
- [GuiSelectionSet](./GuiSelectionSet.md)
- List of related functions
+6 -11
View File
@@ -1,30 +1,25 @@
# GuiSelectionSet
Sets the currently selected line (or lines) of the specified GUI view based on the start and end addresses stored in a SELECTIONDATA variable.
Function description.
```c++
bool GuiSelectionSet(int hWindow, const SELECTIONDATA* selection)
Function definition.
```
## Parameters
`hWindow` an integer representing one of the following supported GUI views: GUI_DISASSEMBLY, GUI_DUMP, GUI_STACK.
`selection` a SELECTIONDATA structure variable that stores the start and end address of the current selection.
`param1` Parameter description.
## Return Value
Return TRUE if successful or FALSE otherwise.
Return value description.
## Example
```c++
SELECTIONDATA sel;
GuiSelectionGet(GUI_DISASSEMBLY, &sel)
sel.end += 4; //expand selection
GuiSelectionSet(GUI_DISASSEMBLY, &sel)
Example code.
```
## Related functions
- [GuiSelectionGet](./GuiSelectionGet.md)
- List of related functions
@@ -1,28 +1,25 @@
# GuiSetDebuggeeNotes
Sets the notes of the target being debugged (the debuggee), based on the text variable passed to the function. The text variable is a pointer to a string containing the information to set as the debuggee's notes.
Function description.
```c++
void GuiSetDebuggeeNotes(char** text)
Function definition.
```
## Parameters
`text` A variable that contains a pointer to a string that contains the text to set as the debuggee notes.
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
const char* text = json_string_value(json_object_get(root, "notes"));
GuiSetDebuggeeNotes(text);
Example code.
```
## Related functions
- [GuiGetDebuggeeNotes](./GuiGetDebuggeeNotes.md)
- [GuiGetGlobalNotes](./GuiGetGlobalNotes.md)
- [GuiSetGlobalNotes](./GuiSetGlobalNotes.md)
- List of related functions
+6 -12
View File
@@ -1,31 +1,25 @@
# GuiSetGlobalNotes
Sets the global notes, based on the text variable passed to the function. The text variable is a pointer to a string containing the information to set as the global notes.
Function description.
```c++
void GuiSetGlobalNotes(char** text)
Function definition.
```
## Parameters
`text` A variable that contains a pointer to a string that contains the text to set as the global notes.
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
notesFile = String(szProgramDir) + "\\notes.txt";
String text;
if(!FileExists(notesFile.c_str()) || FileHelper::ReadAllText(notesFile, text))
GuiSetGlobalNotes(text.c_str());
Example code.
```
## Related functions
- [GuiGetGlobalNotes](./GuiGetGlobalNotes.md)
- [GuiGetDebuggeeNotes](./GuiGetDebuggeeNotes.md)
- [GuiSetDebuggeeNotes](./GuiSetDebuggeeNotes.md)
- List of related functions
+7 -5
View File
@@ -1,23 +1,25 @@
# GuiShowCpu
Switches the focus and view of the GUI to the main disassembly window (CPU tab)
Function description.
```c++
void GuiShowCpu();
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++
GuiShowCpu();
Example code.
```
## Related functions
- List of related functions
+5 -8
View File
@@ -3,26 +3,23 @@
Function description.
```c++
void GuiSymbolLogAdd(const char* message);
Function definition.
```
## Parameters
`message` String containing the message to add to the symbol log. Ensure that a carriage line and return feed are included with the string for it to properly display it. Encoding is UTF-8.
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
GuiSymbolLogAdd(&szMsg);
Example code.
```
## Related functions
- [GuiSymbolLogClear](./GuiSymbolLogClear.md)
- [GuiSymbolRefreshCurrent](./GuiSymbolRefreshCurrent.md)
- [GuiSymbolSetProgress](./GuiSymbolSetProgress.md)
- [GuiSymbolUpdateModuleList](./GuiSymbolUpdateModuleList.md)
- List of related functions
@@ -3,26 +3,23 @@
Function description.
```c++
void GuiSymbolLogClear();
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++
GuiSymbolLogClear();
Example code.
```
## Related functions
- [GuiSymbolLogAdd](./GuiSymbolLogAdd.md)
- [GuiSymbolRefreshCurrent](./GuiSymbolRefreshCurrent.md)
- [GuiSymbolSetProgress](./GuiSymbolSetProgress.md)
- [GuiSymbolUpdateModuleList](./GuiSymbolUpdateModuleList.md)
- List of related functions
@@ -1,28 +1,25 @@
# GuiSymbolRefreshCurrent
Refreshes the symbol view list of symbols and exports.
Function description.
```c++
void GuiSymbolRefreshCurrent();
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++
GuiSymbolRefreshCurrent();
Example code.
```
## Related functions
- [GuiSymbolLogAdd](./GuiSymbolLogAdd.md)
- [GuiSymbolLogClear](./GuiSymbolLogClear.md)
- [GuiSymbolSetProgress](./GuiSymbolSetProgress.md)
- [GuiSymbolUpdateModuleList](./GuiSymbolUpdateModuleList.md)
- List of related functions
@@ -1,28 +1,25 @@
# GuiSymbolSetProgress
Sets the progress bar in the symbol view based on the integer value supplied. This can be used to convey to the user an operation and how close it is to completion, for example with searches.
Function description.
```c++
void GuiSymbolSetProgress(int percent);
Function definition.
```
## Parameters
`percent` an integer representing the percentage to set for the progress bar.
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
GuiSymbolSetProgress(50);
Example code.
```
## Related functions
- [GuiSymbolLogAdd](./GuiSymbolLogAdd.md)
- [GuiSymbolLogClear](./GuiSymbolLogClear.md)
- [GuiSymbolRefreshCurrent](./GuiSymbolRefreshCurrent.md)
- [GuiSymbolUpdateModuleList](./GuiSymbolUpdateModuleList.md)
- List of related functions
@@ -1,47 +1,25 @@
# GuiSymbolUpdateModuleList
Refreshes the symbol view modules list.
Function description.
```c++
void GuiSymbolUpdateModuleList(int count, SYMBOLMODULEINFO* modules)
Function definition.
```
## Parameters
`count` An integer representing the number of symbol module's to update.
`modules` A SYMBOLMODULEINFO variable that will hold the symbol module information.
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
// Build the vector of modules
std::vector<SYMBOLMODULEINFO> modList;
if(!SymGetModuleList(&modList))
{
GuiSymbolUpdateModuleList(0, nullptr);
return;
}
// Create a new array to be sent to the GUI thread
size_t moduleCount = modList.size();
SYMBOLMODULEINFO* data = (SYMBOLMODULEINFO*)BridgeAlloc(moduleCount * sizeof(SYMBOLMODULEINFO));
// Direct copy from std::vector data
memcpy(data, modList.data(), moduleCount * sizeof(SYMBOLMODULEINFO));
// Send the module data to the GUI for updating
GuiSymbolUpdateModuleList((int)moduleCount, data);
Example code.
```
## Related functions
- [GuiSymbolLogAdd](./GuiSymbolLogAdd.md)
- [GuiSymbolLogClear](./GuiSymbolLogClear.md)
- [GuiSymbolRefreshCurrent](./GuiSymbolRefreshCurrent.md)
- [GuiSymbolSetProgress](./GuiSymbolSetProgress.md)
- List of related functions
+6 -24
View File
@@ -1,43 +1,25 @@
# GuiUpdateAllViews
Refreshes the contents of all opened views (tabs)
Function description.
```c++
void GuiUpdateAllViews();
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++
GuiUpdateAllViews();
Example code.
```
## Related functions
- [GuiUpdateEnable](./GuiUpdateEnable.md)
- [GuiUpdateDisable](./GuiUpdateDisable.md)
- [GuiIsUpdateDisabled](./GuiIsUpdateDisabled.md)
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
- [GuiUpdateDumpView](./GuiUpdateDumpView.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
@@ -1,42 +1,25 @@
# GuiUpdateArgumentWidget
Refreshes the contents of the arguments widget.
Function description.
```c++
void GuiUpdateArgumentWidget();
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++
GuiUpdateArgumentWidget();
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
@@ -1,42 +1,25 @@
# GuiUpdateBreakpointsView
Refreshes the contents of the breakpoints view.
Function description.
```c++
void GuiUpdateBreakpointsView();
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++
GuiUpdateBreakpointsView();
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 -23
View File
@@ -1,42 +1,25 @@
# GuiUpdateCallStack
Refreshes the contents of the call stack widget.
Function description.
```c++
void GuiUpdateCallStack();
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++
GuiUpdateCallStack();
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 -24
View File
@@ -1,43 +1,25 @@
# GuiUpdateDisable
Sets and internal variable to disable the update of views. To re-enable updating after processing or performing some operation, use the GuiUpdateEnable function.
Function description.
```c++
void GuiUpdateDisable();
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++
GuiUpdateDisable();
Example code.
```
## Related functions
- [GuiIsUpdateDisabled](./GuiIsUpdateDisabled.md)
- [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
@@ -1,42 +1,25 @@
# GuiUpdateDisassemblyView
Refreshes the contents of the disassembly view (CPU tab).
Function description.
```c++
void GuiUpdateDisassemblyView();
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++
GuiUpdateDisassemblyView();
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 -23
View File
@@ -1,42 +1,25 @@
# GuiUpdateDumpView
Refreshes the contents of the dump views.
Function description.
```c++
void GuiUpdateDumpView();
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++
GuiUpdateDumpView();
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 -24
View File
@@ -1,43 +1,25 @@
# GuiUpdateEnable
Sets an internal variable to enable (or re-enable if previously disabled via GuiUpdateDisable) the refresh of all views. The updateNow parameter can be used to force the update straight away, otherwise the updates of views will continue as per normal message scheduling, now that they have been enabled with GuiUpdateEnable.
Function description.
```c++
void GuiUpdateEnable(bool updateNow);
Function definition.
```
## Parameters
`updateNow` is a boolean value indicating if the update of all views should occur straight away.
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
GuiUpdateEnable(bool updateNow);
Example code.
```
## Related functions
- [GuiIsUpdateDisabled](./GuiIsUpdateDisabled.md)
- [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 -23
View File
@@ -1,42 +1,25 @@
# GuiUpdateGraphView
Refreshes the contents of the Graph view.
Function description.
```c++
void GuiUpdateGraphView();
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++
GuiUpdateGraphView();
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
@@ -1,42 +1,25 @@
# GuiUpdateMemoryView
Refreshes the contents of the memory view.
Function description.
```c++
void GuiUpdateMemoryView();
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++
GuiUpdateMemoryView();
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 -23
View File
@@ -1,42 +1,25 @@
# GuiUpdatePatches
Refreshes the contents of the patches.
Function description.
```c++
void GuiUpdatePatches();
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++
GuiUpdatePatches();
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
@@ -1,42 +1,25 @@
# GuiUpdateRegisterView
Refreshes the contents of the registers view.
Function description.
```c++
void GuiUpdateRegisterView();
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++
GuiUpdateRegisterView();
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 -23
View File
@@ -1,42 +1,25 @@
# GuiUpdateSEHChain
Refreshes the contents of the SEH Chain.
Function description.
```c++
void GuiUpdateSEHChain();
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++
GuiUpdateSEHChain();
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 -23
View File
@@ -1,42 +1,25 @@
# GuiUpdateSideBar
Refreshes the contents of the Sidebar.
Function description.
```c++
void GuiUpdateSideBar();
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++
GuiUpdateSideBar();
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
@@ -1,42 +1,25 @@
# GuiUpdateThreadView
Refreshes the contents of the threads view.
Function description.
```c++
void GuiUpdateThreadView();
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++
GuiUpdateThreadView();
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
@@ -1,42 +1,25 @@
# GuiUpdateTimeWastedCounter
Refreshes the time wasted counter.
Function description.
```c++
void GuiUpdateTimeWastedCounter();
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++
GuiUpdateTimeWastedCounter();
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 -23
View File
@@ -1,42 +1,25 @@
# GuiUpdateWatchView
Refreshes the contents of the watchdog view.
Function description.
```c++
void GuiUpdateWatchView();
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++
GuiUpdateWatchView();
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
@@ -1,43 +1,25 @@
# GuiUpdateWindowTitle
Updates the x64dbg window title with a string to be appended to the title text. Typically the string is a filename.
Function description.
```c++
void GuiUpdateWindowTitle(const char* filename)
Function definition.
```
## Parameters
`filename` a const char variable to be appended to the x64dbg title bar.
`param1` Parameter description.
## Return Value
This function does not return a value.
Return value description.
## Example
```c++
GuiUpdateWindowTitle("");
GuiUpdateWindowTitle(szFileName);
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
-4
View File
@@ -1,7 +1,5 @@
Developers
==========
The x64dbg can be automated and extended in various ways: by the use of x64dbg script, :doc:`../commands/script/scriptdll`, a script written in a language provided by a scripting plugin, or an x64dbg plugin.
This section contains documentation intended to help developers to write code related to this program.
**Contents:**
@@ -11,5 +9,3 @@ This section contains documentation intended to help developers to write code re
plugins/index
functions/index
tracefile
-67
View File
@@ -1,67 +0,0 @@
# x64dbg trace file format specification
x64dbg trace file is a binary file that contains all information about program execution. Each trace file is composed of 3 parts: **Magic word**, **JSON header** and **binary trace blocks**. x64dbg trace file is little-endian.
## Magic word
Every trace file will begin with 4 bytes, "TRAC" (encoded in ASCII).
## Header
Header is located after header at offset 4. It is composed of a 4-byte length field, followed by a JSON blob. The JSON blob might not be null-terminated and might not be aligned to 4-byte boundary.
## Binary trace blocks
Binary trace data is immediately after header without any padding and might not be aligned to 4-byte boundary. It is defined as a sequence of blocks. Currently, only block type 0 is defined.
Every block is started with a 1-byte type number. This type number must be 0, which means it is a block that describes an instruction traced.
If the type number is 0, then the block will contain the following data:
```c++
struct {
uint8_t BlockType; //BlockType is 0, indicating it describes an instruction execution.
uint8_t RegisterChanges;
uint8_t MemoryAccesses;
uint8_t BlockFlagsAndOpcodeSize; //Bitfield
DWORD ThreadId;
uint8_t Opcode[];
uint8_t RegisterChangePosition[];
duint RegisterChangeNewData[];
uint8_t MemoryAccessFlags[];
duint MemoryAccessAddress[];
duint MemoryAccessOldData[];
duint MemoryAccessNewData[];
};
```
`RegisterChanges` is a unsigned byte that counts the number of elements in the array `RegisterChangePosition` and `RegisterChangeNewData`.
`MemoryAccesses` is a unsigned byte that counts the number of elements in the array `MemoryAccessFlags`.
`BlockFlagsAndOpcodeSize` is a bitfield. The most significant bit is ThreadId bit. When this bit is set, `ThreadId` field is available and indicates the thread id which executed the instruction. When this bit is clear, the thread id that executed the instruction is the same as last instruction, so it is not stored in file. The least 4 significant bits specify the length of `Opcode` field, in number of bytes. Other bits are reserved and set to 0. `Opcode` field contains the opcode of current instruction.
`RegisterChangePosition` is an array of unsigned bytes. Each element indicates a pointer-sized integer in struct `REGDUMP` that is updated after execution of current instruction, as an offset to previous location. The absolute index is computed by adding the absolute index of previous element +1 (or 0 if it is first element) with this relative index. `RegisterChangeNewData` is an array of pointer-sized integers that contains the new value of register, that is recorded before the instruction is executed. `REGDUMP` structure is given below.
```c++
typedef struct
{
REGISTERCONTEXT regcontext;
FLAGS flags;
X87FPUREGISTER x87FPURegisters[8];
unsigned long long mmx[8];
MXCSRFIELDS MxCsrFields;
X87STATUSWORDFIELDS x87StatusWordFields;
X87CONTROLWORDFIELDS x87ControlWordFields;
LASTERROR lastError;
//LASTSTATUS lastStatus; //This field is not supported and not included in trace file.
} REGDUMP;
```
For example, `ccx` is the second member of regcontext. On x64 architecture, it is at byte offset 8 and on x86 architecture it is at byte offset 4. On both architecture, it is at index 1 and `cax` is at index 0. Therefore, when `RegisterChangePosition[0]` = 0, `RegisterChangeNewData[0]` contains the new value of `cax`. If `RegisterChangePosition[1]` = 0, `RegisterChangeNewData[1]` contains the new value of `ccx`, since the absolute index is computed by 0+0+1=1. The use of relative indexing helps achieve better data compression if a lossless compression is then applied to trace file, and also allow future expansion of `REGDUMP` structure without increasing size of `RegisterChanges` and `RegisterChangePosition` beyond a byte. Note: the file reader can locate the address of the instruction using `cip` register in this structure.
x64dbg will save all registers at the start of trace, and every 512 instructions(this number might be changed in future versions to have different tradeoff between speed and space). A block with all registers saved will have `RegisterChanges`=172 on 64-bit platform and 216 on 32-bit platform. This allows x64dbg trace file to be randomly accessed. x64dbg might be unable to open a trace file that has a sequence of instruction longer than an implementation-defined limit without all registers saved.
`MemoryAccessFlags` is an array of bytes that indicates properties of memory access. Currently, only bit 0 is defined and all other bits are reserved and set to 0. When bit 0 is set, it indicates the memory is not changed(This could mean it is read, or it is overwritten with identical value), so `MemoryAccessNewData` will not have an entry for this memory access. The file reader may use a disassembler to determine the true type of memory access.
`MemoryAccessAddress` is an array of pointers that indicates the address of memory access.
`MemoryAccessOldData` is an array of pointer-sized integers that stores the old content of memory.
`MemoryAccessNewData` is an array of pointer-sized integers that stores the new content of memory.
+1 -29
View File
@@ -36,32 +36,4 @@ in the side bar for watched variables.
## Do not call SetForegroundWindow
When a debug event occurs, x64dbg will focus itself so you can view the state of the debuggee. In some circumstances
this might not be desired. This option can be used to tell x64dbg not to focus itself when a debug event occurs.
## Show RVA addresses in graph view
When enabled in graph view the offset addresses are shown in front of the disassembly.
## Graph zoom mode
Allows to zoom graph view by holding <ctrl> and turning the mousewheel up and down.
Note: Press G on the CPU tab press G to open graph view
## Show exit confirmation dialog
When enabled the dialog
"The debuggee is still running and will be terminated if you exit. Do you really want to exit?"
is shown when you exit x64dbg but it's still attached to some process for debugging.
## Disable auto completion in goto dialog
Here you can turn of the auto completion that will suggest words as soon you start typing in the "Enter expression" dialog. Go to/expression from the right click context menu will bring up the "Enter expression" dialog. Note: That stting will be handy in case there are delays when typing.
## Show ASCII/Unicode in address dump mode
When enabled the column "ASCII" is added to the dump panels.
Furthermore the view mode(right click) must be set to "Address" to see this effect.
Note: The column "ASCII" must not be hidden.
Right click on column header to bring up the 'Edit column' dialog to check.
^^
Note from the doc contributor:
However please don't ask why there is an option here
when there is also that 'Edit column' dialog that does nearly the same thing.
this might not be desired. This option can be used to tell x64dbg not to focus itself when a debug event occurs.
+2 -4
View File
@@ -4,9 +4,7 @@ These settings do not appear in settings dialog, nor can they be changed in x64d
## Engine
### AnimateInterval
If set to a value of milliseconds, animation will proceed every specified milliseconds.
Update: This setting has been added into settings dialog, and previous lower limit of 20ms has been removed.
If set to a value of milliseconds, animation will proceed every specified milliseconds. Minimum value is 20ms.
### MaxSkipExceptionCount
If set (default is 10000), during a run that ignores first-chance exceptions(example, [erun](../../commands/debug-control/erun)), it will only ignore that specified number of first-chance exceptions. After that the debuggee will pause when one more first-chance exception happens. If set to 0 first-chance exceptions will always be ignored during such runs.
@@ -23,4 +21,4 @@ If set to a Unicode value, dump view will use this character to represent null c
Set to 1 to ignore errors while animating, so animation will continue when an error in the animated command occurs.
### NoSeasons
Set to 1 to disable easter eggs and Christmas icons.
Set to 1 to disable easter eggs and Christmas icons.
+1 -13
View File
@@ -32,8 +32,6 @@ Select the entire function or block
You can select the entire function by double-clicking on the checkbox next to the disassembly. This checkbox can also be used to
fold the block into a single line.
Note: when you select only 1 instruction, or if the function is not analyzed, the checkbox might not appear. In this case, please select the instruction you want to fold first.
Code page
---------
@@ -42,14 +40,4 @@ You can use the codepage dialog(in the context menu of the dump view) to select
Change Window Title
-------------------
You can rename the windows of x64dbg by renaming "x64dbg.exe" or "x32dbg.exe" to another name, if the debuggee doesn't support running in a system with a window or process named as such.
You should also rename the "x64dbg.ini" or "x32dbg.ini" to keep it the same name as the debugger.
Search for strings
------------------
You can use the following methods to search for string:
- Search for / Pattern: you will be asked to provide a string to search, and x64dbg will search for it and display the results in the references view.
- Search for / Strings references: x64dbg will search all pointers that look like an ANSI or Unicode string and display the results in the references view. Older versions of x64dbg supports only Latin strings, while latest x64dbg version supports non-English languges through a generic algorithm that may or may not work well in your language. **If you need to search for strings in other languages better, please install appropriate plugins.**
- Search for / Constant: search for a constant that is the first DWORD/QWORD of the string.
You can rename the windows of x64dbg by renaming "x64dbg.exe" or "x32dbg.exe" to another name. You should also rename the "x64dbg.ini" or "x32dbg.ini" to keep it the same name as the debugger.
+1 -3
View File
@@ -1,10 +1,8 @@
Graph
=====
Graph view contains the control flow graph. When you use :doc:`../../commands/gui/graph` command or context menu in the disassembly view (Default hotkey ``G``), it will show the control flow graph here.
Graph view contains the control flow graph. When you use :doc:`../../commands/gui/graph` command or context menu in the disassembly view, it will show the control flow graph here.
There are two modes to show the control flow graph: Normal mode and overview mode.
In overview mode, the program will draw all the control flow graph within the window area, but not output the disassembly. When the first instruction is traced when trace record is enabled on this memory page, the whole basic block will be shown in a different color (Default is green).
The graph view is now part of CPU view.
+1 -25
View File
@@ -2,13 +2,6 @@
Trace view is a view in which you can see history of stepped instructions. This lets you examine the details of each instruction stepped when you are stepping manually or [tracing](../../introduction/ConditionalTracing.md) automatically, or view a trace history previously saved. This functionality must be enabled explicitly from trace view or [CPU view](CPU.rst). It features saving all the instructions, registers and memory accesses during a trace.
You can double-click on columns to perform quick operation:
* Index: follow in disassembly.
* Address: toggle RVA display mode.
* Opcode: toggle breakpoint.
* Disassembly: follow in disassembly.
* Comments: set comments.
## Start Run Trace
To enable trace logging into trace view, you first enable it via "**Start Run Trace**" menu. It will pop up a dialog allowing you to save the recorded instructions into a file. The default location of this file is in the database directory.
@@ -23,27 +16,10 @@ This menu can stop recording instructions.
Close current trace file and clear the trace view.
## Close and delete
Close current trace file and clear the trace view, and also delete current trace file from disk.
## Open
Open a trace file to view the content of it. It can be used when not debugging, but it is recommended that you debug the corresponding debuggee when viewing a trace, as it will be able to render the instructions with labels from the database of the debuggee. The debugger will show a warning if you want to load a trace file which is not recorded from currently debugged executable.
Open a trace file to view the content of it. It can be used when not debugging, but it is recommended that you debug the corresponding debuggee when viewing a trace, as it will be able to render the instructions with labels from the database of the debuggee.
## Recent files
Open a recent file to view the content of it.
## Search
### Constant
Search for the user-specified constant in the entire recorded trace, and record the occurances in references view.
### Memory Reference
Search for memory accesses to the user-specified address.
## Toggle Auto Disassembly Scroll
When turned on, the disassembly view in the [CPU view](CPU.rst) will automatically follow the EIP or RIP of selected instruction in trace view.
-1
View File
@@ -17,7 +17,6 @@ If you came here because someone told you to read the manual, start by reading *
gui/index
commands/index
developers/index
licenses/index
Indices and tables
-8
View File
@@ -1,8 +0,0 @@
# Command line
x64dbg supports the following command line:
- 1 argument: `x64dbg filename.exe` will debug `filename.exe`.
- 2 arguments: `x64dbg -p PID` will attach to the process with `PID` PID.
- 2 arguments: `x64dbg filename.exe cmdline` will debug `filename.exe` with `cmdline` as command line.
- 3 arguments: `x64dbg filename.exe cmdline currentdir` will debug `filename.exe` with `cmdline` as command line and `currentdir` as current directory.
+4 -13
View File
@@ -6,7 +6,6 @@ This section describes the conditional breakpoint capability in x64dbg.
When a breakpoint is hit, x64dbg will do the following things:
- If the breakpoint is an exception breakpoint, set the system variable `$breakpointexceptionaddress` to the exception address;
- Increment the *hit counter*;
- Set the system variable `$breakpointcounter` to the value of *hit counter*;
- If *break condition* is set, evaluate the [expression](./Expressions.rst) (defaults to `1`);
@@ -26,8 +25,6 @@ When a breakpoint is hit, x64dbg will do the following things:
- The *break condition* will be set to the value of `$breakpointcondition`. So if you modify this system variable in the script, you will be able to control whether the debuggee would break.
- If *break condition* evaluated to `1` (or any value other than '0'):
- Break the debuggee and wait for the user to resume.
If any expression is invalid, the condition will be triggered (That is, an invalid expression as condition will cause the breakpoint to always break, log and execute command).
## Hit counter
@@ -43,20 +40,18 @@ You can set a conditional breakpoint with GUI by setting a software breakpoint(k
You should not use commands that can change the running state of the debuggee (such as `run`) inside the breakpoint command, because these commands are unstable when used here. You can use *break condition*, *command condition* or `$breakpointcondition` instead.
If you don't know where the condition will become true, try [conditional tracing](./ConditionalTracing.md) instead!
## Examples
**A conditional breakpoint which never breaks**
*break condition*: `0` (Useful if you only want to execute command or log data, but not pause the debuggee)
*break condition*: `0`
**A conditional breakpoint which breaks only if EAX and ECX both equal to 1**
*break condition*: `EAX==1 && ECX==1`
**A conditional breakpoint which breaks only if the first argument is 1**
*break condition*: `arg.get(0)==1`
**A conditional breakpoint which breaks only if EAX is a valid address**
*break condition*: `mem.valid(EAX)`
@@ -69,13 +64,9 @@ You should not use commands that can change the running state of the debuggee (s
*break condition*: `tid()==1C0`
## Comparison with Conditional Tracing
A conditional breakpoint can only pause the debuggee when it is executed. It cannot pause the debuggee when the breakpoint is not hit even if the condition is satisfied. If you don't know where the condition will become true, try [conditional tracing](./ConditionalTracing.md) instead!
## See also
- [Conditional Breakpoint Control](../commands/conditional-breakpoint-control/index.rst)
- [Expressions](./Expressions.rst)
- [Expression Functions](./Expression-functions.md)
- [String Formatting](./Formatting.rst)
- [String Formatting](./Formatting.rst)
Loaded 100 of 117 files, more files were not shown because too many files have changed in this diff. Show more