From f4ee9959cbbcf646bf9dbbda71ddc923683bd50a Mon Sep 17 00:00:00 2001 From: "mr.exodia" Date: Sun, 24 Nov 2013 22:49:43 +0100 Subject: [PATCH] PROJECT: updated help --- help/Breakpoints.htm | 20 ++++ help/Callbacks.htm | 75 +++++++++++++ help/Debug_Control.htm | 20 ++++ help/Exports.htm | 20 ++++ help/Memory_Operations.htm | 20 ++++ help/Misc.htm | 20 ++++ help/PLUGINIT_STRUCT.htm | 33 ++++++ help/Plugins.htm | 20 ++++ help/Plugins_section.htm | 20 ++++ help/Structures.htm | 20 ++++ help/User_Database.htm | 21 ++++ help/Variables_section.htm | 20 ++++ help/_plugin_registercallback.htm | 79 +++++++++++++ help/_plugin_registercommand.htm | 42 +++++++ help/_plugin_unregistercallback.htm | 61 ++++++++++ help/_plugin_unregistercommand.htm | 33 ++++++ help/cls.htm | 6 +- help/x64_dbg.wcp | 168 ++++++++++++++++++++++++---- 18 files changed, 671 insertions(+), 27 deletions(-) create mode 100644 help/Breakpoints.htm create mode 100644 help/Callbacks.htm create mode 100644 help/Debug_Control.htm create mode 100644 help/Exports.htm create mode 100644 help/Memory_Operations.htm create mode 100644 help/Misc.htm create mode 100644 help/PLUGINIT_STRUCT.htm create mode 100644 help/Plugins.htm create mode 100644 help/Plugins_section.htm create mode 100644 help/Structures.htm create mode 100644 help/User_Database.htm create mode 100644 help/Variables_section.htm create mode 100644 help/_plugin_registercallback.htm create mode 100644 help/_plugin_registercommand.htm create mode 100644 help/_plugin_unregistercallback.htm create mode 100644 help/_plugin_unregistercommand.htm diff --git a/help/Breakpoints.htm b/help/Breakpoints.htm new file mode 100644 index 00000000..6a0aeb43 --- /dev/null +++ b/help/Breakpoints.htm @@ -0,0 +1,20 @@ + + + +Breakpoints + + + + + + + +

Breakpoints
This section contains +various breakpoint-related commands.

+ \ No newline at end of file diff --git a/help/Callbacks.htm b/help/Callbacks.htm new file mode 100644 index 00000000..60e86fe3 --- /dev/null +++ b/help/Callbacks.htm @@ -0,0 +1,75 @@ + + + +Callbacks + + + + + + + +

Callbacks
These structures are used inside event +callbacks (registered using _plugin_registercallback). Notice that the pointer +'void* callbackInfo' is never NULL, but the +members of the various structures can be NULL.

+

struct +PLUG_CB_INITDEBUG
{
    const char* +szFileName;
};

+

struct +PLUG_CB_STOPDEBUG
{
    +void* +reserved;
};

+

struct +PLUG_CB_CREATEPROCESS
{
    +CREATE_PROCESS_DEBUG_INFO* + CreateProcessInfo;
    IMAGEHLP_MODULE64* + modInfo;
    const char* +DebugFileName;
    +PROCESS_INFORMATION* +fdProcessInfo;
};

+

struct +PLUG_CB_EXITPROCESS
{
    +EXIT_PROCESS_DEBUG_INFO* + ExitProcess;
};

+

struct +PLUG_CB_CREATETHREAD
{
    +CREATE_THREAD_DEBUG_INFO* + CreateThread;
};

+

struct PLUG_CB_EXITTHREAD
{
    EXIT_THREAD_DEBUG_INFO* + ExitThread;
};

+

struct +PLUG_CB_SYSTEMBREAKPOINT
{
    +void* reserved;
};

+

struct PLUG_CB_LOADDLL
{
    +LOAD_DLL_DEBUG_INFO* + LoadDll;
    IMAGEHLP_MODULE64* +modInfo;
    const char* modname;
};

+

struct PLUG_CB_UNLOADDLL
{
    +UNLOAD_DLL_DEBUG_INFO* + UnloadDll;
};

+

struct +PLUG_CB_OUTPUTDEBUGSTRING
{
    +OUTPUT_DEBUG_STRING_INFO* +DebugString;
};

+

struct PLUG_CB_EXCEPTION
{
    +EXCEPTION_DEBUG_INFO* + Exception;
};

+

struct PLUG_CB_BREAKPOINT
{
    BRIDGEBP* + breakpoint;
};

+

struct PLUG_CB_PAUSEDEBUG
{
    +void* + reserved;
};

+

struct PLUG_CB_RESUMEDEBUG
{
    +void* + reserved;
};

+

struct PLUG_CB_STEPPED
{
    +void* +reserved;
};

+

 

\ No newline at end of file diff --git a/help/Debug_Control.htm b/help/Debug_Control.htm new file mode 100644 index 00000000..498d6fc1 --- /dev/null +++ b/help/Debug_Control.htm @@ -0,0 +1,20 @@ + + + +Debug Control + + + + + + + +

Debug Control
This section contains +commands useful for controlling the debugger (stepping etc.)

+ \ No newline at end of file diff --git a/help/Exports.htm b/help/Exports.htm new file mode 100644 index 00000000..e602854b --- /dev/null +++ b/help/Exports.htm @@ -0,0 +1,20 @@ + + + +Exports + + + + + + + +

Exports
This section contains +information about the "_plugin_" prefixed exports.

+ \ No newline at end of file diff --git a/help/Memory_Operations.htm b/help/Memory_Operations.htm new file mode 100644 index 00000000..36196ce7 --- /dev/null +++ b/help/Memory_Operations.htm @@ -0,0 +1,20 @@ + + + +Memory Operations + + + + + + + +

Memory Operations
This section +contains commands to manipulate memory inside the debuggee.

+ \ No newline at end of file diff --git a/help/Misc.htm b/help/Misc.htm new file mode 100644 index 00000000..69b24201 --- /dev/null +++ b/help/Misc.htm @@ -0,0 +1,20 @@ + + + +Misc + + + + + + + +

Misc
This section contains all +commands that do not directly fit in another section.

+ \ No newline at end of file diff --git a/help/PLUGINIT_STRUCT.htm b/help/PLUGINIT_STRUCT.htm new file mode 100644 index 00000000..fd4a80a9 --- /dev/null +++ b/help/PLUGINIT_STRUCT.htm @@ -0,0 +1,33 @@ + + + +pluginit + + + + + + + +

pluginit
This structure is used by the only needed +export in the plugin +interface:

+

struct +PLUG_INITSTRUCT
{
    //data provided +by the debugger to the plugin
    [IN] +int pluginHandle; //handle of the plugin
+
    //data provided by the plugin +to the debugger (required)
    [OUT] +int sdkVersion; //plugin SDK version, use the +PLUG_SDKVERSION define for this
    [OUT] +int pluginVersion; //plugin version, +useful for crash reports
    [OUT] +char pluginName[256]; //plugin name, also +useful for crash reports
+};

diff --git a/help/Plugins.htm b/help/Plugins.htm new file mode 100644 index 00000000..652777a9 --- /dev/null +++ b/help/Plugins.htm @@ -0,0 +1,20 @@ + + + +Plugins + + + + + + + +

Plugins
This section describes +various plugin functions for x64_dbg.

+ \ No newline at end of file diff --git a/help/Plugins_section.htm b/help/Plugins_section.htm new file mode 100644 index 00000000..7d11b9b2 --- /dev/null +++ b/help/Plugins_section.htm @@ -0,0 +1,20 @@ + + + +Plugins + + + + + + + +

Plugins
This section contains +debugger-embedded plugin commands.

+ \ No newline at end of file diff --git a/help/Structures.htm b/help/Structures.htm new file mode 100644 index 00000000..70fee312 --- /dev/null +++ b/help/Structures.htm @@ -0,0 +1,20 @@ + + + +Structures + + + + + + + +

Structures
This section describes +the various plugin SDK structures.

+ \ No newline at end of file diff --git a/help/User_Database.htm b/help/User_Database.htm new file mode 100644 index 00000000..68e7af7c --- /dev/null +++ b/help/User_Database.htm @@ -0,0 +1,21 @@ + + + +User Database + + + + + + + +

User Database
This section contains +commands that manipulate the user database (comments, labels and +bookmarks).

+ \ No newline at end of file diff --git a/help/Variables_section.htm b/help/Variables_section.htm new file mode 100644 index 00000000..76f17ca0 --- /dev/null +++ b/help/Variables_section.htm @@ -0,0 +1,20 @@ + + + +Variables + + + + + + + +

Variables
This section contains +commands that can manipulate variables.

+ \ No newline at end of file diff --git a/help/_plugin_registercallback.htm b/help/_plugin_registercallback.htm new file mode 100644 index 00000000..a5c54f3e --- /dev/null +++ b/help/_plugin_registercallback.htm @@ -0,0 +1,79 @@ + + + +_plugin_registercallback + + + + + + + +

_plugin_registercallback
This +function registers an event callback for a plugin. Every plugin can have it's +own callbacks for every event. It is not possible to have multiple callbacks on +the same event.

+

void +_plugin_registercallback(
int +pluginHandle, //plugin handle
CBTYPE cbType, //event +type
CBPLUGIN cbPlugin //callback +function
); + + +

+

Parameters + + +

+

pluginHandle: Handle of the calling plugin. + + +

+

cbType: The event type. This can be any of the +following values:
    +CB_INITDEBUG, //callbackInfo: +PLUG_CB_INITDEBUG*
    CB_STOPDEBUG, //callbackInfo: +PLUG_CB_STOPDEBUG*
    CB_CREATEPROCESS, //callbackInfo: +PLUG_CB_CREATEPROCESS*
    CB_EXITPROCESS, //callbackInfo: +PLUG_CB_EXITPROCESS*
    CB_CREATETHREAD, //callbackInfo: +PLUG_CB_CREATETHREAD*
    +CB_EXITTHREAD, //callbackInfo: +PLUG_CB_EXITTHREAD*
    CB_SYSTEMBREAKPOINT, //callbackInfo: +PLUG_CB_SYSTEMBREAKPOINT*
    CB_LOADDLL, //callbackInfo: +PLUG_CB_LOADDLL*
    +CB_UNLOADDLL, //callbackInfo: +PLUG_CB_UNLOADDLL*
    CB_OUTPUTDEBUGSTRING, //callbackInfo: +PLUG_CB_OUTPUTDEBUGSTRING*
    +CB_EXCEPTION, //callbackInfo: +PLUG_CB_EXCEPTION*
    CB_BREAKPOINT, //callbackInfo: +PLUG_CB_BREAKPOINT*
    CB_PAUSEDEBUG, //callbackInfo: +PLUG_CB_PAUSEDEBUG*
    +CB_RESUMEDEBUG, //callbackInfo: +PLUG_CB_RESUMEDEBUG*
    CB_STEPPED //callbackInfo: +PLUG_CB_STEPPED* + + +

+

cbPlugin: Callback with the following +typdef:
    void +CBPLUGIN(
    CBTYPE bType //event +type (useful when you use the same function for multiple +events
    void* callbackInfo //pointer to a +structure of information (see above)
    +); + + + +

+

Return Values
This function does not +return a value. + + + +

\ No newline at end of file diff --git a/help/_plugin_registercommand.htm b/help/_plugin_registercommand.htm new file mode 100644 index 00000000..84f1a61c --- /dev/null +++ b/help/_plugin_registercommand.htm @@ -0,0 +1,42 @@ + + + +_plugin_registercommand + + + + + + + +

_plugin_registercommand
This +function registers a command for usage inside scripts or the command bar.

+

bool _plugin_registercommand(
int pluginHandle, //plugin +handle
const char* command, +//command +name
CBPLUGINCOMMAND cbCommand, //function that is +called when the command is executed
bool debugonly //restrict the command to +debug-only
);

+

Parameters

+

pluginHandle: Handle of the +calling plugin.

+

command: Command name.

+

cbCommand: Callback with the following +typedef:
    bool +CBPLUGINCOMMAND(
    int
argc //argument count +(number of arguments + 1)
    char* +argv[] //array of arguments (argv[0] is the full command, arguments +start at argv[1])
    );

+

debugonly: When set, the command will never be +executed when there is no target is being debugged.

+

Return Values
This function returns +true when the command was successfully registered, make sure to check this, +other plugins may have already registered the same +command. +

\ No newline at end of file diff --git a/help/_plugin_unregistercallback.htm b/help/_plugin_unregistercallback.htm new file mode 100644 index 00000000..6e8aba60 --- /dev/null +++ b/help/_plugin_unregistercallback.htm @@ -0,0 +1,61 @@ + + + +_plugin_unregistercallback + + + + + + + +

_plugin_unregistercallback
This plugin unregisters a previously +set callback. It is only possible to remove callbacks that were previously set using +_plugin_registercallback.

+

bool _plugin_unregistercallback(
int pluginHandle, +//plugin +handle
CBTYPE cbType //callback type to +remove
); + +

+

Parameters + +

+

pluginHandle: Handle of the +calling plugin. + +

+

cbType: The event type. This +can be any of the following values:
+     CB_INITDEBUG, +
    +CB_STOPDEBUG,
+    CB_CREATEPROCESS,
    +CB_EXITPROCESS,
+    +CB_CREATETHREAD,
+     CB_EXITTHREAD,
    +CB_SYSTEMBREAKPOINT,
+    CB_LOADDLL,
+     CB_UNLOADDLL, +
    +CB_OUTPUTDEBUGSTRING,
+     CB_EXCEPTION, +
    +CB_BREAKPOINT,
+    CB_PAUSEDEBUG, +
+     CB_RESUMEDEBUG,
    +CB_STEPPED + +

+

Return Values
This function returns +true when the callback was removed without problems. + +

\ No newline at end of file diff --git a/help/_plugin_unregistercommand.htm b/help/_plugin_unregistercommand.htm new file mode 100644 index 00000000..61988f5b --- /dev/null +++ b/help/_plugin_unregistercommand.htm @@ -0,0 +1,33 @@ + + + +_plugin_unregistercommand + + + + + + + +

_plugin_unregistercommand
This function removes a command set by a plugin. +It is only possible to remove commands that you previously registered uing +_plugin_registercommand.

+

bool +_plugin_unregistercommand(
int pluginHandle, //plugin handle
const char* command //command +name
);

+

Parameters

+

pluginHandle: Handle of the +calling plugin.

+

command: Command name.

+

Return Values
This function returns true when the callback was +removed without problems.

+

 

+ + + \ No newline at end of file diff --git a/help/cls.htm b/help/cls.htm index 0b93723d..829bad60 100644 --- a/help/cls.htm +++ b/help/cls.htm @@ -1,7 +1,7 @@  -cls +cls/lc/lclr