PROJECT: updated help
This commit is contained in:
parent
b64245837d
commit
acedd499c2
|
@ -123,5 +123,13 @@ precautions here, there <STRONG>will</STRONG> be a recursive call if you fail
|
|||
to take countermeasures.<BR>struct
|
||||
<STRONG>PLUG_CB_WINEVENT<BR></STRONG>{<BR> <STRONG>MSG*</STRONG>
|
||||
message;<BR> <STRONG>long*</STRONG>
|
||||
result;<BR> <STRONG>bool</STRONG>
|
||||
retval;<BR>};</P></body>
|
||||
result;<BR> <STRONG>bool</STRONG> retval; //only set this to true, never to
|
||||
false<BR>};</P>
|
||||
<P>//Called before TranslateMessage and DispatchMessage
|
||||
Windows functions (PreTranslateMessage). Avoid calling user32 functions without
|
||||
precautions here, there <STRONG>will</STRONG> be a
|
||||
recursive call if you fail to take countermeasures. This function is global, so it also captures hotkeys
|
||||
(see Qt documentation).<BR>struct
|
||||
<STRONG>PLUG_CB_WINEVENTGLOBAL<BR></STRONG>{<BR> <STRONG>MSG*</STRONG>
|
||||
message;<BR> <STRONG>bool</STRONG> retval; //only set this to true, never to
|
||||
false<BR>};</P></body></HTML>
|
|
@ -15,22 +15,26 @@ html,body {
|
|||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<P><STRONG>The basics</STRONG><BR>This page covers the
|
||||
basic principles of plugin development for x64_dbg.</P>
|
||||
<P><STRONG>Exports</STRONG><BR>A plugin has at least one
|
||||
export. This export must be called <U>pluginit</U>. See the PLUG_INITSTRUCT and
|
||||
the plugin headers for
|
||||
more information. The other valid exports are:</P>
|
||||
<P><U>plugstop</U>: called when the plugin is about to be
|
||||
unloaded. Remove all registered commands and
|
||||
callbacks here. Also clean up plugin data.</P>
|
||||
<P><U>plugsetup</U>: Called when the plugin initialization
|
||||
was successful, here you
|
||||
can register menus and other GUI-related things.</P>
|
||||
<P><U>CB*</U>: Instead of calling _plugin_registercallback,
|
||||
you can create a CDECL export which has the name of the callback. For example
|
||||
when you create an export called "CBMENUENTRY", this will be registered as your
|
||||
callback for the event CB_MENUENTRY. Notice that you should <STRONG>not</STRONG>
|
||||
|
||||
use an underscore in the export name.</P></body>
|
||||
<body>
|
||||
<P><STRONG>The basics</STRONG><BR>This page covers the
|
||||
basic principles of plugin development for x64_dbg.</P>
|
||||
<P><STRONG>Exports</STRONG><BR>A plugin has at least one
|
||||
export. This export must be called <U>pluginit</U>. See the PLUG_INITSTRUCT and
|
||||
the plugin headers for
|
||||
more information. The other valid exports are:</P>
|
||||
<P><U>plugstop</U>: called when the plugin is about to be
|
||||
unloaded. Remove all registered commands and
|
||||
callbacks here. Also clean up plugin data.</P>
|
||||
<P><U>plugsetup</U>: Called when the plugin initialization
|
||||
was successful, here you
|
||||
can register menus and other GUI-related things.</P>
|
||||
<P><U>CB*</U>: Instead of calling _plugin_registercallback,
|
||||
you can create a CDECL export which has the name of the callback. For example
|
||||
when you create an export called "CBMENUENTRY", this will be registered as your
|
||||
callback for the event CB_MENUENTRY. Notice that you should <STRONG>not</STRONG>
|
||||
|
||||
use an underscore in the export name.</P>
|
||||
<P><U>CBALLEVENTS</U>: An export with the name "CBALLEVENTS"
|
||||
will get every event registered to it. This is done
|
||||
|
||||
prior to registering optional other export names.</P></BODY></HTML>
|
|
@ -12,73 +12,75 @@ html,body {
|
|||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<P><STRONG>_plugin_registercallback<BR></STRONG>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.</P>
|
||||
<P><STRONG>void
|
||||
_plugin_registercallback(</STRONG><BR><STRONG>int</STRONG>
|
||||
pluginHandle, //plugin handle<BR><STRONG>CBTYPE</STRONG> cbType, //event
|
||||
type<BR><STRONG>CBPLUGIN</STRONG> cbPlugin //callback
|
||||
function<BR><STRONG>)</STRONG>;
|
||||
|
||||
|
||||
</P>
|
||||
<P><STRONG>Parameters</STRONG>
|
||||
|
||||
|
||||
</P>
|
||||
<P><U>pluginHandle</U>: Handle of the calling plugin.
|
||||
|
||||
|
||||
</P>
|
||||
<P><U>cbType</U>: The event type. This can be any of the
|
||||
following values:<BR>
|
||||
CB_INITDEBUG, //callbackInfo:
|
||||
PLUG_CB_INITDEBUG*<BR> CB_STOPDEBUG, //callbackInfo:
|
||||
PLUG_CB_STOPDEBUG*<BR> CB_CREATEPROCESS, //callbackInfo:
|
||||
PLUG_CB_CREATEPROCESS*<BR> CB_EXITPROCESS, //callbackInfo:
|
||||
PLUG_CB_EXITPROCESS*<BR> CB_CREATETHREAD, //callbackInfo:
|
||||
PLUG_CB_CREATETHREAD*<BR>
|
||||
CB_EXITTHREAD, //callbackInfo:
|
||||
PLUG_CB_EXITTHREAD*<BR> CB_SYSTEMBREAKPOINT, //callbackInfo:
|
||||
PLUG_CB_SYSTEMBREAKPOINT*<BR> CB_LOADDLL, //callbackInfo:
|
||||
PLUG_CB_LOADDLL*<BR>
|
||||
CB_UNLOADDLL, //callbackInfo:
|
||||
PLUG_CB_UNLOADDLL*<BR> CB_OUTPUTDEBUGSTRING, //callbackInfo:
|
||||
PLUG_CB_OUTPUTDEBUGSTRING*<BR>
|
||||
CB_EXCEPTION, //callbackInfo:
|
||||
PLUG_CB_EXCEPTION*<BR> CB_BREAKPOINT, //callbackInfo:
|
||||
PLUG_CB_BREAKPOINT*<BR> CB_PAUSEDEBUG, //callbackInfo:
|
||||
PLUG_CB_PAUSEDEBUG*<BR>
|
||||
CB_RESUMEDEBUG, //callbackInfo:
|
||||
PLUG_CB_RESUMEDEBUG*<BR> CB_STEPPED,
|
||||
//callbackInfo: PLUG_CB_STEPPED* <BR> CB_ATTACH,
|
||||
//callbackInfo: PLUG_CB_ATTACHED*<BR> CB_DETACH, //callbackInfo:
|
||||
PLUG_CB_DETACHED*<BR> CB_DEBUGEVENT, //callbackInfo:
|
||||
PLUG_CB_DEBUGEVENT*<BR> CB_MENUENTRY, //callbackInfo:
|
||||
PLUG_CB_MENUENTRY*<BR> CB_WINEVENT //callbackInfo:
|
||||
PLUG_CB_WINEVENT*
|
||||
|
||||
|
||||
</P>
|
||||
<P><U>cbPlugin</U>: Callback with the following
|
||||
typdef:<BR> <STRONG>void
|
||||
CBPLUGIN(</STRONG><BR> <STRONG>CBTYPE</STRONG> bType //event
|
||||
type (useful when you use the same function for multiple
|
||||
events<BR> <STRONG>void* </STRONG>callbackInfo //pointer to a
|
||||
structure of information (see above)<BR>
|
||||
<STRONG>);</STRONG>
|
||||
|
||||
|
||||
|
||||
</P>
|
||||
<P><STRONG>Return Values</STRONG><BR>This function does not
|
||||
return a value.
|
||||
|
||||
|
||||
|
||||
</P></head>
|
||||
|
||||
<body>
|
||||
<P><STRONG>_plugin_registercallback<BR></STRONG>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.</P>
|
||||
<P><STRONG>void
|
||||
_plugin_registercallback(</STRONG><BR><STRONG>int</STRONG>
|
||||
pluginHandle, //plugin handle<BR><STRONG>CBTYPE</STRONG> cbType, //event
|
||||
type<BR><STRONG>CBPLUGIN</STRONG> cbPlugin //callback
|
||||
function<BR><STRONG>)</STRONG>;
|
||||
|
||||
|
||||
</P>
|
||||
<P><STRONG>Parameters</STRONG>
|
||||
|
||||
|
||||
</P>
|
||||
<P><U>pluginHandle</U>: Handle of the calling plugin.
|
||||
|
||||
|
||||
</P>
|
||||
<P><U>cbType</U>: The event type. This can be any of the
|
||||
following values:<BR>
|
||||
CB_INITDEBUG, //callbackInfo:
|
||||
PLUG_CB_INITDEBUG*<BR> CB_STOPDEBUG, //callbackInfo:
|
||||
PLUG_CB_STOPDEBUG*<BR> CB_CREATEPROCESS, //callbackInfo:
|
||||
PLUG_CB_CREATEPROCESS*<BR> CB_EXITPROCESS, //callbackInfo:
|
||||
PLUG_CB_EXITPROCESS*<BR> CB_CREATETHREAD, //callbackInfo:
|
||||
PLUG_CB_CREATETHREAD*<BR>
|
||||
CB_EXITTHREAD, //callbackInfo:
|
||||
PLUG_CB_EXITTHREAD*<BR> CB_SYSTEMBREAKPOINT, //callbackInfo:
|
||||
PLUG_CB_SYSTEMBREAKPOINT*<BR> CB_LOADDLL, //callbackInfo:
|
||||
PLUG_CB_LOADDLL*<BR>
|
||||
CB_UNLOADDLL, //callbackInfo:
|
||||
PLUG_CB_UNLOADDLL*<BR> CB_OUTPUTDEBUGSTRING, //callbackInfo:
|
||||
PLUG_CB_OUTPUTDEBUGSTRING*<BR>
|
||||
CB_EXCEPTION, //callbackInfo:
|
||||
PLUG_CB_EXCEPTION*<BR> CB_BREAKPOINT, //callbackInfo:
|
||||
PLUG_CB_BREAKPOINT*<BR> CB_PAUSEDEBUG, //callbackInfo:
|
||||
PLUG_CB_PAUSEDEBUG*<BR>
|
||||
CB_RESUMEDEBUG, //callbackInfo:
|
||||
PLUG_CB_RESUMEDEBUG*<BR> CB_STEPPED,
|
||||
//callbackInfo: PLUG_CB_STEPPED* <BR> CB_ATTACH,
|
||||
//callbackInfo: PLUG_CB_ATTACHED*<BR> CB_DETACH, //callbackInfo:
|
||||
PLUG_CB_DETACHED*<BR> CB_DEBUGEVENT, //callbackInfo:
|
||||
PLUG_CB_DEBUGEVENT*<BR> CB_MENUENTRY, //callbackInfo:
|
||||
PLUG_CB_MENUENTRY*<BR>
|
||||
CB_WINEVENT //callbackInfo: PLUG_CB_WINEVENT* <BR> CB_WINEVENTGLOBAL //callbackInfo:
|
||||
PLUG_CB_WINEVENTGLOBAL*
|
||||
|
||||
|
||||
</P>
|
||||
<P><U>cbPlugin</U>: Callback with the following
|
||||
typdef:<BR> <STRONG>void
|
||||
CBPLUGIN(</STRONG><BR> <STRONG>CBTYPE</STRONG> bType //event
|
||||
type (useful when you use the same function for multiple
|
||||
events<BR> <STRONG>void* </STRONG>callbackInfo //pointer to a
|
||||
structure of information (see above)<BR>
|
||||
<STRONG>);</STRONG>
|
||||
|
||||
|
||||
|
||||
</P>
|
||||
<P><STRONG>Return Values</STRONG><BR>This function does not
|
||||
return a value.
|
||||
|
||||
|
||||
|
||||
</P></BODY></HTML>
|
|
@ -12,52 +12,53 @@ html,body {
|
|||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<P><STRONG>_plugin_unregistercallback<BR></STRONG>This plugin unregisters a previously
|
||||
set callback. It is only possible to remove callbacks that were previously set using
|
||||
_plugin_registercallback.</P>
|
||||
<P><STRONG>bool _plugin_unregistercallback(</STRONG> <BR><STRONG>int</STRONG> pluginHandle,
|
||||
//plugin
|
||||
handle<BR><STRONG>CBTYPE</STRONG> cbType //callback type to
|
||||
remove<BR><STRONG>);</STRONG>
|
||||
|
||||
</P>
|
||||
<P><STRONG>Parameters</STRONG>
|
||||
|
||||
</P>
|
||||
<P><U>pluginHandle</U>: Handle of the
|
||||
calling plugin.
|
||||
|
||||
</P>
|
||||
<P><U>cbType</U>: The event type. This
|
||||
can be any of the following values:<BR>
|
||||
CB_INITDEBUG,
|
||||
<BR>
|
||||
CB_STOPDEBUG,<BR>
|
||||
CB_CREATEPROCESS, <BR>
|
||||
CB_EXITPROCESS,<BR>
|
||||
|
||||
CB_CREATETHREAD,<BR>
|
||||
CB_EXITTHREAD,<BR>
|
||||
CB_SYSTEMBREAKPOINT,<BR>
|
||||
CB_LOADDLL,<BR>
|
||||
CB_UNLOADDLL,
|
||||
<BR>
|
||||
CB_OUTPUTDEBUGSTRING,<BR>
|
||||
CB_EXCEPTION,
|
||||
<BR>
|
||||
CB_BREAKPOINT,<BR>
|
||||
CB_PAUSEDEBUG,
|
||||
<BR>
|
||||
CB_RESUMEDEBUG,<BR> CB_STEPPED,<BR>
|
||||
CB_ATTACH,<BR> CB_DETACH,<BR>
|
||||
CB_DEBUGEVENT,<BR> CB_MENUENTRY,<BR>
|
||||
CB_WINEVENT
|
||||
|
||||
</P>
|
||||
<P><STRONG>Return Values<BR></STRONG>This function returns
|
||||
true when the callback was removed without problems.
|
||||
|
||||
</P></head>
|
||||
|
||||
<body>
|
||||
<P><STRONG>_plugin_unregistercallback<BR></STRONG>This plugin unregisters a previously
|
||||
set callback. It is only possible to remove callbacks that were previously set using
|
||||
_plugin_registercallback.</P>
|
||||
<P><STRONG>bool _plugin_unregistercallback(</STRONG> <BR><STRONG>int</STRONG> pluginHandle,
|
||||
//plugin
|
||||
handle<BR><STRONG>CBTYPE</STRONG> cbType //callback type to
|
||||
remove<BR><STRONG>);</STRONG>
|
||||
|
||||
</P>
|
||||
<P><STRONG>Parameters</STRONG>
|
||||
|
||||
</P>
|
||||
<P><U>pluginHandle</U>: Handle of the
|
||||
calling plugin.
|
||||
|
||||
</P>
|
||||
<P><U>cbType</U>: The event type. This
|
||||
can be any of the following values:<BR>
|
||||
CB_INITDEBUG,
|
||||
<BR>
|
||||
CB_STOPDEBUG,<BR>
|
||||
CB_CREATEPROCESS, <BR>
|
||||
CB_EXITPROCESS,<BR>
|
||||
|
||||
CB_CREATETHREAD,<BR>
|
||||
CB_EXITTHREAD,<BR>
|
||||
CB_SYSTEMBREAKPOINT,<BR>
|
||||
CB_LOADDLL,<BR>
|
||||
CB_UNLOADDLL,
|
||||
<BR>
|
||||
CB_OUTPUTDEBUGSTRING,<BR>
|
||||
CB_EXCEPTION,
|
||||
<BR>
|
||||
CB_BREAKPOINT,<BR>
|
||||
CB_PAUSEDEBUG,
|
||||
<BR>
|
||||
CB_RESUMEDEBUG,<BR> CB_STEPPED,<BR>
|
||||
CB_ATTACH,<BR> CB_DETACH,<BR>
|
||||
CB_DEBUGEVENT,<BR> CB_MENUENTRY,<BR> CB_WINEVENT,<BR>
|
||||
CB_WINEVENTGLOBAL
|
||||
|
||||
</P>
|
||||
<P><STRONG>Return Values<BR></STRONG>This function returns
|
||||
true when the callback was removed without problems.
|
||||
|
||||
</P></BODY></HTML>
|
|
@ -0,0 +1,38 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>sleep</title>
|
||||
<meta name="GENERATOR" content="WinCHM">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<style>
|
||||
html,body {
|
||||
/* Default Font */
|
||||
font-family: Courier New;
|
||||
font-size: 11pt;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<P><STRONG>sleep</STRONG><BR>Sleep for a specified number
|
||||
of milliseconds.</P>
|
||||
<P class=rvps3><SPAN class=rvts11><U>arguments</U> <BR></SPAN>
|
||||
<SPAN
|
||||
class=rvts9>
|
||||
</SPAN>
|
||||
<SPAN class=rvts9>
|
||||
[arg1]: Number of milliseconds to sleep, 100
|
||||
(decimal) milliseconds will be taken when nothing is specified <STRONG>Keep
|
||||
in mind that default input is in HEX</STRONG>.
|
||||
|
||||
</SPAN></P>
|
||||
<P class=rvps3>
|
||||
<SPAN class=rvts11 >
|
||||
<U >
|
||||
result
|
||||
|
||||
<BR></U></SPAN>
|
||||
<SPAN
|
||||
class=rvts9>This command does not set any
|
||||
result variables.</SPAN></P></body>
|
|
@ -0,0 +1,33 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>switchthread/threadswitch</title>
|
||||
<meta name="GENERATOR" content="WinCHM">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<style>
|
||||
html,body {
|
||||
/* Default Font */
|
||||
font-family: Courier New;
|
||||
font-size: 11pt;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<P><STRONG>switchthread[,threadswitch]<BR></STRONG>Switch
|
||||
the internal current thread to another thread (resulting in different
|
||||
callstack + different registers displayed).</P>
|
||||
<P class=rvps3><SPAN class=rvts11><U>arguments</U> <BR></SPAN><SPAN
|
||||
class=rvts9>[arg1]: ThreadId to switch to (see the
|
||||
Threads tab). When not specified, the main thread is used. </SPAN></P>
|
||||
<P class=rvps3>
|
||||
<SPAN class=rvts11>
|
||||
<U>result
|
||||
<BR ></U>
|
||||
|
||||
</SPAN>
|
||||
<SPAN class=rvts9 >
|
||||
This command does not set any result
|
||||
variables.</SPAN>
|
||||
</P></body>
|
704
help/x64_dbg.wcp
704
help/x64_dbg.wcp
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue