Source2Toolkit
Core api

IToolkitModule

IToolkitModule

Methods

bool InitFromName(name, extension)

Initialises the module from its name (without extension).

Parameters
  • name const char* — Module name, e.g. "server" or "engine2".
  • extension bool — When true the platform extension is appended automatically.

bool InitFromMemory(ptr)

Initialises the module from an address inside it.

Parameters
  • ptr uintptr_t — Any address that belongs to the target module.

] virtual IToolkitMemory FindPattern(pattern, startAddress)

Scans the executable section for a byte-string pattern.

Parameters
  • pattern const char* — IDA-style pattern string.
  • startAddress IToolkitMemory — Optional address to start scanning from.

] virtual IToolkitMemory FindPatternInSection(pattern, section, startAddress)

Scans a named section for a byte-string pattern.

Parameters
  • pattern const char* — IDA-style pattern string.
  • section const char* — Section name, e.g. ".text" or ".rdata".
  • startAddress IToolkitMemory — Optional address to start scanning from.

] virtual IToolkitMemory GetVirtualTableByName(name, decorated)

Returns the address of a virtual table by mangled class name.

Parameters
  • name const char* — Class name (undecorated unless decorated is true).
  • decorated bool — Pass true when name is already a decorated symbol.

] virtual IToolkitMemory GetFunctionByName(name)

Returns the address of an exported symbol by name.

Parameters
  • name const char*

] virtual SectionInfo GetSectionByName(name)

Returns information about a named section.

Parameters
  • name const char*

] virtual void* GetModuleHandle()

Returns the OS-native module handle (HMODULE / void*).

] virtual IToolkitMemory GetModuleBase()

Returns the base load address of the module.

] virtual const char* GetModulePath()

Returns the absolute filesystem path of the module.

] virtual const char* GetModuleName()

Returns the filename component of the module path.

IToolkitModule* New(name)

Creates a module wrapper by name (without extension).

Parameters
  • name const char* — Module name, e.g. "server" or "tier0".

IToolkitModule* New(ptr)

Creates a module wrapper from an address that belongs to the module.

Parameters
  • ptr uintptr_t — Any address inside the target module.

IToolkitModule* New(ptr)

Creates a module wrapper from a void pointer inside the module.

Parameters
  • ptr void*

IToolkitModule* New(mem)

Creates a module wrapper from an IToolkitMemory address inside the module.

Parameters
  • mem IToolkitMemory

On this page