Mashgvfsadfgbvdsaxcvfbg

Solo disponible en BuenasTareas
  • Páginas : 10 (2438 palabras )
  • Descarga(s) : 10
  • Publicado : 21 de julio de 2010
Leer documento completo
Vista previa del texto
CEPlugin 1.0

The Cheat Engine plugin system allows you to add functionality to the Cheat Engine application. It's up to you to use this ability to it's fullest.

This documentation will describe the functions you have to export in your dll, the results you have to return. And the exported function exported to your dll.

---------------------------------

1: Functions your dll has toexport
This section will describe what functions have to be exported and what they get and should return.

1.1: BOOL GetVersion(struct PluginVersion *pv, int sizeofpluginversion);

This routine gets a pointer to a structure it has to fill, and the size of that structure.

Format of PluginVersion:
struct PluginVersion
{
unsigned int version; //write here the minimum version this dll iscompatible with (Currently only 1 is supported)
char *pluginname; //make this point to a 0-terminated string (allocated memory or static addressin your dll, not stack)
};

return value has to be TRUE;

1.2: BOOL InitializePlugin(struct ExportedFunctions *ef , int pluginid);

This routine gets called when the plugin has been enabled. It receives a pointer to a structure that contains all thepointers to the internal ce functions and variables. All of the functions use the stdcall calling convention

Format of ExportedFunctions:
struct ExportedFunctions
{
int sizeofExportedFunctions;
PVOID ShowMessage; //Pointer to the ce showmessage function
PVOID RegisterFunction; //Use this to register a specific type of plugin
PVOID UnregisterFunction; //unregisters a functionregistered with registerfunction
PULONG OpenedProcessID; //pointer to the currently selected processid
PHANDLE OpenedProcessHandle; //pointer to the currently selected processhandle

PVOID GetMainWindowHandle; //returns the handle of the main window (for whatever reason, it is recommended to use delphi to make a real userinterface upgrade)
PVOID AutoAssembler; //Pointer to theAutoAssembler function
PVOID ce_assembler; //pointer to the assembler function
PVOID ce_disassembler; //pointer to the disassembler function
PVOID ce_ChangeRegistersAtAddress; //pointer to the ChangeRegAtBP function
PVOID ce_InjectDLL; //pointer to ce's Inject DLL function
PVOID ce_freezemem; //pointer to the FreezeMem routine
PVOID ce_unfreezemem; //pointer to the UnfreezeMem routine (usethis to undo freezes with FreezeMem)
PVOID ce_fixmem; //pointer to the fixmem routine
PVOID ce_processlist; //pointer to the processlist routine
PVOID ce_ReloadSettings; //pointer to the ReloadSettings routine
PVOID ce_GetAddressFromPointer; //pointer to the GetAddressFromPointer routine

//pointers to the address that contains the pointers to the functions
PVOIDReadProcessMemory; //pointer to the pointer of ReadProcessMemory (Change it to hook that api, or use it yourself)
PVOID WriteProcessMemory; //pointer to the pointer of WriteProcessMemory (Change it to hook that api, or use it yourself)
PVOID GetThreadContext; // ...
PVOID SetThreadContext; // ...
PVOID SuspendThread; // ...
PVOID ResumeThread; // ...
PVOID OpenProcess;// ...
PVOID WaitForDebugEvent; // ...
PVOID ContinueDebugEvent; // ...
PVOID DebugActiveProcess; // ...
PVOID StopDebugging; // ...
PVOID StopRegisterChange; // ...
PVOID VirtualProtect; // ...
PVOID VirtualProtectEx; // ...
PVOID VirtualQueryEx; // ...
PVOID VirtualAllocEx; // ...
PVOID CreateRemoteThread; // ...PVOID OpenThread; // ...
PVOID GetPEProcess; // ...
PVOID GetPEThread; // ...
PVOID GetThreadsProcessOffset; // ...
PVOID GetThreadListEntryOffset; // ...
PVOID GetProcessnameOffset; // ...
PVOID GetDebugportOffset; // ...
PVOID GetPhysicalAddress; // ...
PVOID ProtectMe; // ...
PVOID GetCR4; // ...
PVOID GetCR3; // ......
tracking img