-
Notifications
You must be signed in to change notification settings - Fork 177
Creating ReClass plugins
ReClass now offers you the ability to create new plugins! Thanks to Timboy67678 for finishing what was started a couple years ago.
With plugins you can override memory operations such as reading memory, and writing memory. You can also override handle operations such as OpenProcess and OpenThread. The plugin API exposes the ReClass main window, the ribbon bar interface, and the debug console, so can also add your own custom buttons, classes, and types if you want.
Here is a quick rundown of the plugin API and it's callbacks and structures.
Plugin info structure to be filled in during initialization which is passed back to ReClass to display in the plugins dialog
typedef struct _RECLASS_PLUGIN_INFO
{
wchar_t Name[256]; //< Name of the plugin
wchar_t Version[256]; //< Plugin version
wchar_t About[2048]; //< Small snippet about the plugin
int DialogID; //< Identifier for the settings dialog
} RECLASS_PLUGIN_INFO, *PRECLASS_PLUGIN_INFO, *LPRECLASS_PLUGIN_INFO;
Plugin initialization callback to fill in the RECLASS_PLUGIN_INFO struct, and initialize any other plugin resources.
BOOL PLUGIN_CC PluginInit( PRECLASS_PLUGIN_INFO lpRCInfo )
Callback for when the plugin state is changed (enabled or disabled). Plugins disabled and enabled state are dependent on the implementation inside the plugin. All we do is send a state change to plugins for them to disable or enable their functionality.
VOID PLUGIN_CC PluginStateChange( BOOL state )
Window Proc for the settings dialog.
INT_PTR CALLBACK PluginSettingsDlg( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam )