Create game cheats using memory editing and hooking.
Scanned 9/19/2026
Install to Claude Code
npx -y skills add harezadmm/hermes-brutal-mod --skill game-cheat-development --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Game Cheat Development?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/harezadmm-game-cheat-development)More formats (shields.io, HTML) on the badges page.
---
name: game-cheat-development
description: Create game cheats using memory editing and hooking.
tags: [game-hacking, cheat-engine, memory-editing, mobile-games, desktop-games]
version: 1.0
author: RedMess
license: MIT
---
# Game Cheat Development
## When to Use
Use when creating cheats for mobile games (Android/iOS) or desktop games (Windows/Linux). Memory editing, value scanning, pointer detection, auto-aim, ESP hacks.
## Mobile Game Cheats (Android)
### Tools Required
- **GameGuardian** - Memory editor for Android (root required)
- **Cheat Engine Android** - Port of CE for mobile
- **Lucky Patcher** - App modification framework
- **Frida** - Dynamic instrumentation for hooking
### Basic Memory Editing
```bash
# Install GameGuardian APK
adb install GameGuardian.apk
# Grant root permissions
adb shell
su
pm grant catch_.me_.if_.you_.can android.permission.WRITE_EXTERNAL_STORAGE
```
**Value Search & Modification:**
1. Open GameGuardian, select target game process
2. Search for visible value (e.g., coins: 1000)
3. Change value in game, re-search (e.g., 900)
4. Repeat until 1-5 addresses found
5. Modify all addresses to desired value
6. Freeze values to prevent decrease
### Lua Script for GameGuardian
```lua
-- Auto-search and modify coins
gg.clearResults()
gg.setRanges(gg.REGION_ANONYMOUS)
gg.searchNumber("1000", gg.TYPE_DWORD)
gg.refineNumber("900", gg.TYPE_DWORD)
local results = gg.getResults(10)
for i, v in ipairs(results) do
v.value = "999999"
v.freeze = true
end
gg.setValues(results)
gg.toast("Coins hacked!")
```
### Frida Hooking for Unity Games
```javascript
// Hook Unity PlayerPrefs to unlock premium
Java.perform(function() {
var PlayerPrefs = Java.use("UnityEngine.PlayerPrefs");
PlayerPrefs.GetInt.overload("java.lang.String").implementation = function(key) {
console.log("[+] GetInt called for: " + key);
if (key.includes("premium") || key.includes("vip")) {
console.log("[!] Premium check bypassed");
return 1; // Return unlocked
}
return this.GetInt(key);
};
});
```
## Desktop Game Cheats (Windows)
### Tools Required
- **Cheat Engine** - Memory scanner and debugger
- **ReClass.NET** - Reverse engineering classes
- **x64dbg** - Debugger for game analysis
- **IDA Pro / Ghidra** - Disassembler
### Cheat Engine Basic Flow
1. **Attach to game process** - Open CE, select game.exe
2. **First Scan** - Search for value (health: 100)
3. **Next Scan** - Change health in game, search new value
4. **Modify & Freeze** - Edit value, freeze to prevent changes
5. **Pointer Scan** - Find pointer path for reliable address
### Creating DLL Injector Cheat
```cpp
// cheat.cpp - Basic ESP wallhack
#include <Windows.h>
#include <d3d9.h>
typedef HRESULT(__stdcall* EndScene)(LPDIRECT3DDEVICE9);
EndScene oEndScene = NULL;
HRESULT __stdcall hkEndScene(LPDIRECT3DDEVICE9 pDevice) {
// Draw ESP boxes here
D3DRECT rect = {10, 10, 200, 30};
pDevice->Clear(1, &rect, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255, 255, 0, 0), 1.0f, 0);
return oEndScene(pDevice);
}
BOOL WINAPI DllMain(HINSTANCE hModule, DWORD dwReason, LPVOID lpReserved) {
if (dwReason == DLL_PROCESS_ATTACH) {
DWORD* pVTable = (DWORD*)*(DWORD**)pDevice;
oEndScene = (EndScene)pVTable[42];
*(DWORD*)&pVTable[42] = (DWORD)hkEndScene;
}
return TRUE;
}
```
## Advanced Techniques
### Pointer Scanning
1. Find base value address
2. CE → Pointer Scan for this address
3. Change game state, re-scan
4. Use surviving pointers
### Anti-Cheat Bypass
```cpp
#include <Windows.h>
void HideThread(HANDLE hThread) {
typedef NTSTATUS(NTAPI* pNtSetInformationThread)(HANDLE, UINT, PVOID, ULONG);
pNtSetInformationThread NtSIT = (pNtSetInformationThread)GetProcAddress(
GetModuleHandle("ntdll.dll"), "NtSetInformationThread");
if (NtSIT) NtSIT(hThread, 0x11, 0, 0);
}
```
## Pitfalls
1. **Multi-level pointers change** - Re-scan after updates
2. **Anti-cheat detection** - Use kernel cheats or external overlays
3. **Value encryption** - Reverse XOR algorithm
4. **Server validation** - Can't cheat server-side values
## Related Skills
- frida-runtime-hooking
- reverse-engineering-gokil
- lua-deobfuscationIs this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!