⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ceautoassembler.txt

📁 冒险岛吸怪源码UCE的制作材料 用于冒险岛游戏的外挂
💻 TXT
字号:
exported functions:

delphi headers:
function CEAutoAsm(script: pchar; enable: boolean;allocid: pinteger):boolean; stdcall;
function CEInitialize(pid: dword; phandle: dword):boolean; stdcall;
function CEReloadSymbolsAndModules:boolean; stdcall;
function CEReloadModuleListOnly:boolean; stdcall;

all functions use the standard call calling mechanism, and should be compatible with most compilers

CEAutoAsm:
pchar is a pointer to a 0 terminated string, this will be a pointer to the first character of your script. ANSII ONLY (NO UNICODE)
pinteger is a pointer to a integer (also known as call by reference)

it assembles the script and either returns true if it was successfull or false if not. Check your debug strings for more info on false.
allocid returns a internally used id used to free memory caused by allocs in scripts. you have to give the same id back when calling with enable set to false


CEInitialize:
Give it the processid and the processhandle of the opened process Recommended calling this a little after the game has started so it can find all loaded modules and symbols

CEReloadSymbolsAndModules:
same as initialize, but requires intialize to be called at least once (to get the processid and handle), but waits till the symbolloader is completly loaded

CEReloadModuleListOnly:
only reloads the module list, which is most important in most cases.

Symbols are stuff like "CEngine::DrawHealth", "CPawn::DecreaseHealth" and userdefined symbols
Modules are stuff like "game.exe", "gamex86.dll" , etc...


usage:
When you have opened the process and you think all modules have been loaded by the game (probably ingame or user input) call CEInitialize and give it the processid and processhandle so it can start gathering module data and symbol data while you are doing other stuff.

when you are ready to inject a script use CEAutoAsm, the first parameter receives the pointer to the script in ASCIIZ form. The second parameter is a boolean defining if it is a enable or a disable script. If no enable or disable, set it to true. the 3th parameter recevies a POINTER TO a integer that receives the allocid. The allocid is used later to disable a script. (without it the disable command will fail)
when it fails check the debug strings for more info

when it fails because it couldn't find a module or symbol use CEReloadSymbolsAndModules or CEReloadModuleListOnly  (The modulelistonly is fastes if only modulenames are used in the script and no symbols)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -