Frida Game Hacking MCP
Provides Cheat Engine-like capabilities for game hacking and reverse engineering through Frida, enabling memory scanning, value modification, pattern matching, function hooking, and code injection across processes.
README
Frida Game Hacking MCP
A Model Context Protocol (MCP) server that provides Cheat Engine-like capabilities for game hacking through Frida. Enables AI assistants and automation tools to perform memory scanning, value modification, pattern matching, function hooking, and code injection.
Features
Memory Operations (Cheat Engine Style)
- Value Scanning: Find values in memory by type (int8-64, float, double, string)
- Scan Refinement: Narrow results with
scan_next,scan_changed,scan_unchanged - Pattern Scanning: Array of Bytes (AoB) with wildcard support (
??) - Memory Read/Write: Read and modify memory with type awareness
Function Hooking & Code Injection
- Intercept Functions: Hook with
onEnter/onLeaveJavaScript callbacks - Replace Functions: Make functions return custom values
- Module Hooking: Hook by
module!functionname - Symbol Resolution: Resolve exports to addresses
Process Management
- Process Enumeration: List and filter running processes
- Attach/Detach: Connect to running processes
- Spawn & Resume: Start processes suspended for early hooking
Debugging
- Breakpoints: Software breakpoints via hooks
- Register Access: Read CPU registers at breakpoints
- Module Analysis: List modules, exports, imports
Window Interaction (Windows)
- Screenshot Capture: Take screenshots of game windows
- Keyboard Input: Send keystrokes to game windows
- Window Management: List, focus, and interact with windows
Installation
# Install from PyPI (coming soon)
pip install frida-game-hacking-mcp
# Or install from source
git clone https://github.com/0xhackerfren/frida-game-hacking-mcp.git
cd frida-game-hacking-mcp
pip install -e .
Requirements
- Python 3.10+
- Frida 16.0+
- pywin32, pillow (Windows, for screenshot features)
pip install frida frida-tools mcp pillow
# On Windows, also install:
pip install pywin32
Quick Start
Run the MCP Server
# Run directly
python -m frida_game_hacking_mcp
# Or use the entry point
frida-game-hacking-mcp
Configure with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"frida-game-hacking": {
"command": "python",
"args": ["-m", "frida_game_hacking_mcp"]
}
}
}
Configure with Other MCP Clients
The server uses stdio transport by default. Connect using:
- Command:
python -m frida_game_hacking_mcp - Transport: stdio
Usage Examples
Cheat Engine Workflow: Find and Modify Health
1. List processes and find your game
> list_processes("game")
2. Attach to the game
> attach("game.exe")
3. Initial scan for current health value (e.g., 100)
> scan_value(100, "int32")
Found: 58,869 addresses
4. Take damage in game (health now 95)
> scan_next(95)
Narrowed to: 1,419 addresses
5. Repeat until you find the address
> scan_next(90)
Narrowed to: 3 addresses
6. Get results and modify
> get_scan_results()
> write_memory("0x12345678", "E7030000") # 999 in little-endian
Array of Bytes Pattern Scanning
# Find code pattern (works across game updates)
> attach("game.exe")
> scan_pattern("89 47 44 ?? ?? 5B 7A", "r-x")
Found: 2 matches
# ?? = wildcard bytes
# "r-x" = executable memory regions
Function Hooking
# Hook a function and log calls
> hook_function("0x401234",
on_enter="console.log('Args:', args[0], args[1]);",
on_leave="console.log('Return:', retval);")
# Make a function always return success
> replace_function("0x401234", 1)
# Hook by module and function name
> intercept_module_function("game.dll", "CheckLicense",
on_leave="retval.replace(1);")
Early Hooking (Spawn Suspended)
# Start process suspended
> spawn("C:/Games/game.exe")
# Set up hooks before code runs
> hook_function("0x401234", on_enter="...")
# Resume execution
> resume()
Available Tools (42 Total)
Process Management (6)
| Tool | Description |
|---|---|
list_processes |
Enumerate running processes |
attach |
Attach to process by name or PID |
detach |
Detach from current process |
spawn |
Start process suspended |
resume |
Resume spawned process |
get_session_info |
Get current session status |
Memory Operations (10)
| Tool | Description |
|---|---|
read_memory |
Read bytes at address |
write_memory |
Write bytes/values to address |
scan_value |
Initial scan for exact value |
scan_next |
Narrow scan with new value |
scan_changed |
Find changed values |
scan_unchanged |
Find unchanged values |
scan_pattern |
AoB pattern scan with wildcards |
get_scan_results |
Get current scan results |
clear_scan |
Reset scan state |
list_memory_regions |
List memory regions |
Module Information (5)
| Tool | Description |
|---|---|
list_modules |
List loaded modules/DLLs |
get_module_info |
Get module details |
get_module_exports |
List module exports |
get_module_imports |
List module imports |
resolve_symbol |
Resolve symbol to address |
Function Hooking (6)
| Tool | Description |
|---|---|
hook_function |
Hook with callbacks |
unhook_function |
Remove hook |
replace_function |
Replace function return |
hook_native_function |
Hook with calling convention |
list_hooks |
List active hooks |
intercept_module_function |
Hook by module!function |
Debugging (4)
| Tool | Description |
|---|---|
set_breakpoint |
Set software breakpoint |
remove_breakpoint |
Remove breakpoint |
list_breakpoints |
List breakpoints |
read_registers |
Read CPU registers |
Script Management (3)
| Tool | Description |
|---|---|
load_script |
Load custom Frida JS |
unload_script |
Unload script |
call_rpc |
Call script RPC export |
Window Interaction (5) - Windows Only
| Tool | Description |
|---|---|
list_windows |
Enumerate visible windows |
screenshot_window |
Capture window to PNG/base64 |
screenshot_screen |
Capture screen or region |
send_key_to_window |
Send keystrokes to window |
focus_window |
Bring window to foreground |
Standard MCP (3)
| Tool | Description |
|---|---|
list_capabilities |
List all tools |
get_documentation |
Get help and examples |
check_installation |
Verify Frida installed |
Value Types
| Type | Size | Description |
|---|---|---|
int8 |
1 byte | Signed byte |
uint8 |
1 byte | Unsigned byte |
int16 |
2 bytes | Signed short |
uint16 |
2 bytes | Unsigned short |
int32 |
4 bytes | Signed int (most common) |
uint32 |
4 bytes | Unsigned int |
int64 |
8 bytes | Signed long |
uint64 |
8 bytes | Unsigned long |
float |
4 bytes | Single precision |
double |
8 bytes | Double precision |
string |
Variable | Null-terminated string |
Scan Regions
| Region | Description |
|---|---|
rw- |
Read-write data (heap, stack, globals) - default for value scans |
r-x |
Executable code - default for pattern scans |
rwx |
Read-write-execute (rare, often exploitable) |
r-- |
Read-only data |
Platform Support
- Windows: Native support
- Linux: Native support
- macOS: Native support
- Android: Via frida-server
- iOS: Via frida-server (jailbroken)
Use Cases
- Game Hacking: Memory editing, value modification, trainer development
- Security Research: Vulnerability analysis, exploit development
- Reverse Engineering: Runtime analysis, API hooking
- Software Testing: Fault injection, behavior modification
- Malware Analysis: Dynamic analysis in sandboxed environments
Security Notice
This tool is intended for:
- Educational purposes
- Security research on software you own or have permission to test
- Game modding in single-player/offline contexts
Do not use for:
- Cheating in online multiplayer games
- Circumventing software protections illegally
- Any malicious purposes
Contributing
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Submit a pull request
License
MIT License - see LICENSE
Credits
- Built on Frida by Ole Andre Vadla Ravnas
- MCP protocol by Anthropic
- Inspired by Cheat Engine by Dark Byte
Links
Built for AI-assisted game hacking and security research.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。