Difference between revisions of "Cheat Engine:Help File"
(→Main Interface) |
(Major overhaul of the post. Feel free to revert that change in case it's not fitting the core idea of this page.) |
||
| Line 1: | Line 1: | ||
| − | + | <!-- Source navigation: https://cheatengine.org/help/left.html (checked 2026-06-24) --> | |
| + | [[Category:Help]] | ||
| − | + | <div style="background:#202b38; border:1px solid #4d6a85; border-radius:8px; padding:20px 24px; margin:0 0 18px; color:#f4f8fc;"> | |
| + | <div style="font-size:180%; font-weight:bold; margin-bottom:6px;">Cheat Engine Help</div> | ||
| + | <div style="font-size:110%;">A task-oriented guide to Cheat Engine's interface, Memory Viewer, plugin API, settings, and tutorials.</div> | ||
| + | <div style="margin-top:12px; color:#d8e8f8;">The original HTML manual remains available at [https://cheatengine.org/help/index.html cheatengine.org/help]. This wiki index follows the same topic structure while making individual pages easier to find.</div> | ||
| + | </div> | ||
| − | = | + | <div style="display:flex; flex-wrap:wrap; gap:12px; margin:0 0 20px;"> |
| − | = | + | <div style="flex:1 1 210px; border:1px solid #b9d5ec; border-radius:6px; background:#f2f8fd; padding:12px;"> |
| − | + | '''New to Cheat Engine?'''<br /> | |
| − | + | Start with [[#Getting started|Getting started]], then learn the [[#Main interface|Main interface]]. | |
| − | + | </div> | |
| − | + | <div style="flex:1 1 210px; border:1px solid #c8dfc4; border-radius:6px; background:#f4fbf2; padding:12px;"> | |
| − | [[ | + | '''Working with memory?'''<br /> |
| − | + | Go to [[#Scanning and address lists|Scanning and address lists]] or [[#Memory Viewer|Memory Viewer]]. | |
| − | + | </div> | |
| − | + | <div style="flex:1 1 210px; border:1px solid #e8d0aa; border-radius:6px; background:#fff9ef; padding:12px;"> | |
| − | + | '''Extending Cheat Engine?'''<br /> | |
| − | + | See [[#Plugin system|Plugin system]] and the [[#Tutorials|Tutorials]]. | |
| − | + | </div> | |
| − | + | <div style="flex:1 1 210px; border:1px solid #d7c6e8; border-radius:6px; background:#faf6ff; padding:12px;"> | |
| − | + | '''Changing behaviour?'''<br /> | |
| − | + | Use [[#Settings|Settings]] for debugger, hotkey, scan, and plugin configuration. | |
| − | + | </div> | |
| − | + | </div> | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | === | + | __TOC__ |
| − | + | ||
| − | + | == Getting started == | |
| − | + | ||
| − | + | Use these pages for a quick introduction, terminology, and common questions before beginning a scan. | |
| − | + | ||
| − | + | {| class="wikitable" style="width:100%;" | |
| − | + | ! Topic | |
| − | + | ! What it covers | |
| − | + | |- | |
| − | + | | [[Help File:About|About]] | |
| − | + | | Purpose of the help file and a short introduction to Cheat Engine. | |
| − | + | |- | |
| − | + | | [[Help File:AboutLong|About Cheat Engine]] | |
| − | + | | A broader overview of what Cheat Engine can do. | |
| − | + | |- | |
| − | + | | [[Help File:FAQs|FAQs]] | |
| − | + | | Frequently asked questions and common first-use issues. | |
| − | + | |} | |
| − | + | ||
| − | + | == Main interface == | |
| − | + | ||
| − | + | [[Help File:Main Interface|Main Interface]] explains the main window. The sections below follow the normal workflow: select a target, scan its memory, inspect matches, and add useful addresses to a table. | |
| − | + | ||
| − | + | === Scanning and address lists === | |
| − | + | ||
| − | + | {| class="wikitable" style="width:100%;" | |
| − | + | ! Step | |
| − | + | ! Help pages | |
| − | + | |- | |
| − | + | | Select a target | |
| − | + | | [[Help File:Select Process|Select Process]] | |
| − | + | |- | |
| − | + | | Configure a scan | |
| − | + | | [[Help File:Memory scan settings|Memory scan settings]] · [[Help File:Scan types|Scan types]] · [[Help File:Value types|Value types]] · [[Help File:Unsigned values|(Un)signed values]] | |
| − | + | |- | |
| − | + | | Learn custom value types | |
| − | + | | [[Help File:Custom type examples|Custom type examples]] — [[Help File:Money type|Money type - divided by 100]], [[Help File:old flash (div 8)|old flash (div 8)]], [[Help File:Big endian 2 byte|Big endian 2 byte]], [[Help File:Big endian 4 byte|Big endian 4 byte]] | |
| − | + | |- | |
| − | + | | Review scan matches | |
| − | + | | [[Help File:Found address list|Found address list]] | |
| − | + | |- | |
| − | + | | Build a cheat table | |
| − | + | | [[Help File:AddressCheat List|Address/Cheat list]] · [[Help File:Table Extras|Table Extras]] | |
| − | + | |} | |
| − | + | ||
| − | + | === Interface tools === | |
| − | + | ||
| − | + | {| class="wikitable" style="width:100%;" | |
| − | + | ! Tool | |
| − | + | ! Help pages | |
| − | + | |- | |
| − | + | | Menus and table controls | |
| − | + | | [[Help File:Standard Menu|Standard Menu]] · [[Help File:Advanced options|Advanced options]] · [[Help File:Pause|Pause]] · [[Help File:Code list|Code list]] | |
| − | + | |- | |
| − | + | | Runtime controls | |
| − | + | | [[Help File:Speedhack|Speedhack]] · [[Help File:Unrandomizer|Unrandomizer]] | |
| − | + | |} | |
| − | + | ||
| − | + | == Memory Viewer == | |
| − | + | ||
| − | + | [[Help File:Memory Viewer|Memory Viewer]] is the advanced workspace for assembly, debugging, code analysis, and data structures. | |
| − | + | ||
| − | + | <div style="display:flex; flex-wrap:wrap; gap:12px;"> | |
| − | + | <div style="flex:1 1 300px; border-left:4px solid #4b89b6; background:#f5faff; padding:10px 14px;"> | |
| − | + | '''Navigation and assembly'''<br /> | |
| − | + | [[Help File:Memory view|Memory view]] · [[Help File:Menus and Features|Menus and Features]] · [[Help File:Auto Assembler help|Auto Assembler help]] · [[Help File:Script engine|Script engine]] | |
| − | + | </div> | |
| − | + | <div style="flex:1 1 300px; border-left:4px solid #9a6fbe; background:#faf6ff; padding:10px 14px;"> | |
| − | + | '''Debugging and tracing'''<br /> | |
| − | + | [[Help File:Debugging|Debugging]] · [[Help File:Find out what addresses this instruction accesses|Find addresses accessed by an instruction]] · [[Help File:Find out what writes/accesses this address|Find writes/accesses to an address]] · [[Help File:Break and trace|Break and trace]] | |
| − | + | </div> | |
| − | + | <div style="flex:1 1 300px; border-left:4px solid #4f9a69; background:#f4fbf6; padding:10px 14px;"> | |
| − | + | '''Code and data analysis'''<br /> | |
| − | + | [[Help File:Dissect code|Dissect code]] · [[Help File:Dissect data/structures|Dissect data/structures]] · [[Help File:Pointer scan|Pointer scan]] · [[Help File:Structure spider|Structure spider]] | |
| − | + | </div> | |
| − | + | </div> | |
| − | + | ||
| − | + | == Plugin system == | |
| − | + | ||
| − | + | [[Help File:Plugin system|Plugin system]] describes the native plugin interface. Start with initialization, then use the PluginVersion structure to access exported callbacks and PluginType to register integration points. | |
| − | + | ||
| − | + | === Plugin lifecycle === | |
| − | + | ||
| − | + | {| class="wikitable" style="width:100%;" | |
| − | + | ! API entry | |
| − | + | ! Purpose | |
| − | + | |- | |
| − | + | | [[Help File:GetVersion|GetVersion]] | |
| − | + | | Retrieves the Cheat Engine version information expected by a plugin. | |
| − | + | |- | |
| + | | [[Help File:DisablePlugin|DisablePlugin]] | ||
| + | | Disables a loaded plugin. | ||
| + | |- | ||
| + | | [[Help File:InitializePlugin|InitializePlugin]] | ||
| + | | Initializes the plugin and registers its functionality. | ||
| + | |} | ||
| + | |||
| + | === PluginVersion and exported functions === | ||
| + | |||
| + | [[Help File:PluginVersion|PluginVersion]] defines the structure passed between Cheat Engine and a plugin. [[Help File:ExportedFunctions|ExportedFunctions]] and [[Help File:sizeofExportedFunctions|sizeofExportedFunctions]] describe the available function table. | ||
| + | |||
| + | {| class="wikitable" style="width:100%;" | ||
| + | ! Function group | ||
| + | ! Exported functions | ||
| + | |- | ||
| + | | UI and registration | ||
| + | | [[Help File:ShowMessage|ShowMessage]] · [[Help File:RegisterFunction|RegisterFunction]] · [[Help File:UnregisterFunction|UnregisterFunction]] · [[Help File:GetMainWindowHandle|GetMainWindowHandle]] | ||
| + | |- | ||
| + | | Opened process | ||
| + | | [[Help File:OpenedProcessID|OpenedProcessID]] · [[Help File:OpenedProcessHandle|OpenedProcessHandle]] · [[Help File:ProcessList|ProcessList]] | ||
| + | |- | ||
| + | | Assembly and disassembly | ||
| + | | [[Help File:AutoAssemble|AutoAssemble]] · [[Help File:Assembler|Assembler]] · [[Help File:Disassembler|Disassembler]] · [[Help File:previousOpcode|previousOpcode]] · [[Help File:nextOpcode|nextOpcode]] · [[Help File:disassembleEx|disassembleEx]] | ||
| + | |- | ||
| + | | Memory and code changes | ||
| + | | [[Help File:ChangeRegistersAtAddress|ChangeRegistersAtAddress]] · [[Help File:InjectDLL|InjectDLL]] · [[Help File:FreezeMem|FreezeMem]] · [[Help File:UnfreezeMem|UnfreezeMem]] · [[Help File:FixMem|FixMem]] | ||
| + | |- | ||
| + | | Symbols and modules | ||
| + | | [[Help File:GetAddressFromPointer|GetAddressFromPointer]] · [[Help File:sym_nameToAddress|sym_nameToAddress]] · [[Help File:sym_addressToName|sym_addressToName]] · [[Help File:sym_generateAPIHookScript|sym_generateAPIHookScript]] · [[Help File:loadModule|loadModule]] | ||
| + | |- | ||
| + | | Kernel, DBVM, and settings | ||
| + | | [[Help File:loadDBK32|loadDBK32]] · [[Help File:loaddbvmifneeded|loaddbvmifneeded]] · [[Help File:ReloadSettings|ReloadSettings]] | ||
| + | |- | ||
| + | | Auto Assembler extensions | ||
| + | | [[Help File:aa_AddExtraCommand|aa_AddExtraCommand]] · [[Help File:aa_RemoveExtraCommand|aa_RemoveExtraCommand]] | ||
| + | |} | ||
| + | |||
| + | === Plugin types === | ||
| + | |||
| + | [[Help File:PluginType|PluginType]] selects where a plugin integrates with Cheat Engine. | ||
| + | |||
| + | {| class="wikitable" style="width:100%;" | ||
| + | ! Type | ||
| + | ! Integration point | ||
| + | |- | ||
| + | | [[Help File:0 ptAddressList|0: ptAddressList]] · [[Help File:1 ptMemoryView|1: ptMemoryView]] | ||
| + | | Address list or Memory Viewer integration. | ||
| + | |- | ||
| + | | [[Help File:2 ptOnDebugEvent|2: ptOnDebugEvent]] · [[Help File:3 ptProcesswatcherEvent|3: ptProcesswatcherEvent]] · [[Help File:4 ptFunctionPointerschange|4: ptFunctionPointerschange]] | ||
| + | | Debug, process-watcher, and function-pointer events. | ||
| + | |- | ||
| + | | [[Help File:5 ptMainMenu|5: ptMainMenu]] · [[Help File:6 ptDisassemblerContext|6: ptDisassemblerContext]] · [[Help File:7 ptDisassemblerRenderLine|7: ptDisassemblerRenderLine]] · [[Help File:8 ptAutoAssembler|8: ptAutoAssembler]] | ||
| + | | Main-menu, disassembler, and Auto Assembler extensions. | ||
| + | |- | ||
| + | | [[Help File:REGISTERMODIFICATIONINFO|REGISTERMODIFICATIONINFO]] | ||
| + | | Structure used when a plugin changes register values. | ||
| + | |} | ||
| + | |||
| + | == Settings == | ||
| + | |||
| + | [[Help File:Settings|Settings]] is the starting point for configuration. Use the focused pages below when a particular subsystem needs changing. | ||
| + | |||
| + | {| class="wikitable" style="width:100%;" | ||
| + | ! Area | ||
| + | ! Help pages | ||
| + | |- | ||
| + | | General behaviour | ||
| + | | [[Help File:General settings|General settings]] · [[Help File:Extra (Advanced)|Extra (Advanced)]] | ||
| + | |- | ||
| + | | Input and timing | ||
| + | | [[Help File:Hotkeys|Hotkeys]] · [[Help File:Unrandomizer|Unrandomizer]] | ||
| + | |- | ||
| + | | Scanning and debugging | ||
| + | | [[Help File:Scan settings|Scan settings]] · [[Help File:Debugger options|Debugger options]] | ||
| + | |- | ||
| + | | Extensions | ||
| + | | [[Help File:Plugins|Plugins]] | ||
| + | |} | ||
| + | |||
| + | == Tutorials == | ||
| + | |||
| + | [[Help File:Tutorials|Tutorials]] collects guided learning material. The recommended route is theory, basic assembler, Cheat Engine-specific workflows, then practical examples. | ||
| + | |||
| + | === Assembly foundations === | ||
| + | |||
| + | * [[Help File:ASM and Hexing Theory|ASM and Hexing Theory]] | ||
| + | * [[Help File:Basic assembler|Basic assembler]] | ||
| + | * [[Help File:What is the difference in bytetype|What is the difference in bytetype]] | ||
| + | * [[Help File:ASM Basics 1|ASM Basics 1]] · [[Help File:ASM Basics 2|ASM Basics 2]] · [[Help File:ASM Basics 3|ASM Basics 3]] | ||
| + | |||
| + | === Cheat Engine workflows === | ||
| + | |||
| + | * [[Help File:Cheat Engine specific|Cheat Engine specific]] | ||
| + | * [[Help File:Searching Tip|Searching Tip]] | ||
| + | * [[Help File:Code Injection and the auto assembler|Code Injection and the auto assembler]] | ||
| + | * [[Help File:Find out what addresses are accessed by a piece of code|Find out what addresses are accessed by a piece of code]] | ||
| + | * [[Help File:Percentage scans and compare to saved results|Percentage scans and compare to saved results]] | ||
| + | |||
| + | === Practical examples and related topics === | ||
| + | |||
| + | * [[Help File:3D pinball for windows (pointer+code)|3D pinball for Windows (pointer + code)]] | ||
| + | * [[Help File:Basic packet editing|Basic packet editing]] | ||
| + | * [[Help File:Remote desktop instead of network version|Remote desktop instead of network version]] | ||
| + | |||
| + | == Miscellaneous topics == | ||
| + | |||
| + | {| class="wikitable" style="width:100%;" | ||
| + | ! Topic | ||
| + | ! Help page | ||
| + | |- | ||
| + | | Debugger background | ||
| + | | [[Help File:About the debugger|About the debugger]] | ||
| + | |- | ||
| + | | Network use | ||
| + | | [[Help File:Network versions|Network versions]] | ||
| + | |- | ||
| + | | Contact and feedback | ||
| + | | [[Help File:Contact and feedback|Contact and feedback]] | ||
| + | |} | ||
| + | |||
| + | <div style="margin-top:18px; border-top:1px solid #ccd6df; padding-top:10px; color:#54606b; font-size:90%;"> | ||
| + | Missing or unclear content? Improve the relevant page directly, then keep this index aligned with the official [https://cheatengine.org/help/index.html HTML help navigation]. | ||
| + | </div> | ||
Latest revision as of 22:50, 23 June 2026
New to Cheat Engine?
Start with Getting started, then learn the Main interface.
Working with memory?
Go to Scanning and address lists or Memory Viewer.
Extending Cheat Engine?
See Plugin system and the Tutorials.
Changing behaviour?
Use Settings for debugger, hotkey, scan, and plugin configuration.
Contents
Getting started[edit]
Use these pages for a quick introduction, terminology, and common questions before beginning a scan.
| Topic | What it covers |
|---|---|
| About | Purpose of the help file and a short introduction to Cheat Engine. |
| About Cheat Engine | A broader overview of what Cheat Engine can do. |
| FAQs | Frequently asked questions and common first-use issues. |
Main interface[edit]
Main Interface explains the main window. The sections below follow the normal workflow: select a target, scan its memory, inspect matches, and add useful addresses to a table.
Scanning and address lists[edit]
| Step | Help pages |
|---|---|
| Select a target | Select Process |
| Configure a scan | Memory scan settings · Scan types · Value types · (Un)signed values |
| Learn custom value types | Custom type examples — Money type - divided by 100, old flash (div 8), Big endian 2 byte, Big endian 4 byte |
| Review scan matches | Found address list |
| Build a cheat table | Address/Cheat list · Table Extras |
Interface tools[edit]
| Tool | Help pages |
|---|---|
| Menus and table controls | Standard Menu · Advanced options · Pause · Code list |
| Runtime controls | Speedhack · Unrandomizer |
Memory Viewer[edit]
Memory Viewer is the advanced workspace for assembly, debugging, code analysis, and data structures.
Navigation and assembly
Memory view · Menus and Features · Auto Assembler help · Script engine
Debugging and tracing
Debugging · Find addresses accessed by an instruction · Find writes/accesses to an address · Break and trace
Code and data analysis
Dissect code · Dissect data/structures · Pointer scan · Structure spider
Plugin system[edit]
Plugin system describes the native plugin interface. Start with initialization, then use the PluginVersion structure to access exported callbacks and PluginType to register integration points.
Plugin lifecycle[edit]
| API entry | Purpose |
|---|---|
| GetVersion | Retrieves the Cheat Engine version information expected by a plugin. |
| DisablePlugin | Disables a loaded plugin. |
| InitializePlugin | Initializes the plugin and registers its functionality. |
PluginVersion and exported functions[edit]
PluginVersion defines the structure passed between Cheat Engine and a plugin. ExportedFunctions and sizeofExportedFunctions describe the available function table.
| Function group | Exported functions |
|---|---|
| UI and registration | ShowMessage · RegisterFunction · UnregisterFunction · GetMainWindowHandle |
| Opened process | OpenedProcessID · OpenedProcessHandle · ProcessList |
| Assembly and disassembly | AutoAssemble · Assembler · Disassembler · previousOpcode · nextOpcode · disassembleEx |
| Memory and code changes | ChangeRegistersAtAddress · InjectDLL · FreezeMem · UnfreezeMem · FixMem |
| Symbols and modules | GetAddressFromPointer · sym_nameToAddress · sym_addressToName · sym_generateAPIHookScript · loadModule |
| Kernel, DBVM, and settings | loadDBK32 · loaddbvmifneeded · ReloadSettings |
| Auto Assembler extensions | aa_AddExtraCommand · aa_RemoveExtraCommand |
Plugin types[edit]
PluginType selects where a plugin integrates with Cheat Engine.
| Type | Integration point |
|---|---|
| 0: ptAddressList · 1: ptMemoryView | Address list or Memory Viewer integration. |
| 2: ptOnDebugEvent · 3: ptProcesswatcherEvent · 4: ptFunctionPointerschange | Debug, process-watcher, and function-pointer events. |
| 5: ptMainMenu · 6: ptDisassemblerContext · 7: ptDisassemblerRenderLine · 8: ptAutoAssembler | Main-menu, disassembler, and Auto Assembler extensions. |
| REGISTERMODIFICATIONINFO | Structure used when a plugin changes register values. |
Settings[edit]
Settings is the starting point for configuration. Use the focused pages below when a particular subsystem needs changing.
| Area | Help pages |
|---|---|
| General behaviour | General settings · Extra (Advanced) |
| Input and timing | Hotkeys · Unrandomizer |
| Scanning and debugging | Scan settings · Debugger options |
| Extensions | Plugins |
Tutorials[edit]
Tutorials collects guided learning material. The recommended route is theory, basic assembler, Cheat Engine-specific workflows, then practical examples.
Assembly foundations[edit]
- ASM and Hexing Theory
- Basic assembler
- What is the difference in bytetype
- ASM Basics 1 · ASM Basics 2 · ASM Basics 3
Cheat Engine workflows[edit]
- Cheat Engine specific
- Searching Tip
- Code Injection and the auto assembler
- Find out what addresses are accessed by a piece of code
- Percentage scans and compare to saved results
[edit]
- 3D pinball for Windows (pointer + code)
- Basic packet editing
- Remote desktop instead of network version
Miscellaneous topics[edit]
| Topic | Help page |
|---|---|
| Debugger background | About the debugger |
| Network use | Network versions |
| Contact and feedback | Contact and feedback |
Missing or unclear content? Improve the relevant page directly, then keep this index aligned with the official HTML help navigation.