这是一个基于Go语言和Fyne GUI框架开发的游戏修改器,可以查询和修改游戏中的数值。
界面已从Web迁移到原生GUI!
- ✅ 不再需要浏览器访问
- ✅ 更流畅的用户体验
- ✅ 原生桌面应用界面
⚠️ 需要安装GCC编译器(详见INSTALL.md)
- 查找并打开目标游戏进程
- 搜索游戏中的特定数值
- 修改内存中的数值
- 图形用户界面操作
- 支持多次搜索精确定位
💡 上图为使用本工具修改星露谷物语金币数值后的效果展示
- Go 1.24+
- Fyne v2.5.0 GUI框架
- Windows API(用于进程内存操作)
- Go语言环境:Go 1.21或更高版本
- GCC编译器:Windows上编译Fyne应用必需(详见 INSTALL.md)
go mod tidy方式一:使用构建脚本(推荐)
.\build.bat方式二:手动编译
# 首次编译需要先捆绑图标资源
fyne bundle -package main -name appIcon icon.png | Out-File -FilePath bundled.go -Encoding utf8
# 编译程序(无控制台窗口)
go build -ldflags="-H windowsgui" -o bling.exe .
# 或者带控制台窗口(用于调试)
go build -o bling.exe .重要:本程序需要管理员权限才能修改其他进程的内存!
直接双击 bling.exe 即可
- 程序会自动弹出 UAC(用户账户控制)提示框
- 点击“是”后,程序即以管理员权限运行
- 无需手动右键选择“以管理员身份运行”
-
以管理员身份运行程序(重要!)
- 右键点击
game-modifier.exe - 选择"以管理员身份运行"
- 右键点击
-
选择进程
- 在"输入进程名称"框中输入目标游戏的进程名(例如:notepad.exe)
- 点击"查找进程"按钮
-
首次搜索
- 在游戏中记住要修改的数值(例如:金币数量 100)
- 在"输入要搜索的值"框中输入该数值(例如:100)
- 点击"首次搜索"按钮
- 等待扫描完成,下方会显示找到的所有地址
-
再次搜索(缩小范围)
- 在游戏中改变该数值(例如:花费一些金币,变成 90)
- 在"输入要搜索的值"框中输入新数值(例如:90)
- 点击"再次搜索"按钮
- 重复直到只剩少数几个地址
-
修改数值
- 在地址列表中点击想要的地址(会自动填入地址框)
- 在"新值"框中输入想要修改的数值
- 点击"修改值"按钮完成修改
-
精确搜索:
- 第一次搜索后,如果找到太多地址,在游戏中改变数值
- 然后用新数值再次搜索,逐步缩小范围
-
选择正确的数据类型:
- 当前版本仅支持 32位整数 (int32)
- 如果搜索不到,可能是游戏使用了其他类型(float、double等)
-
暂停游戏:
- 搜索时尽量暂停游戏,防止数值变化
-
多次验证:
- 找到地址后,先读取验证是否正确
- 然后再进行修改
A: 可能有以下原因:
- 数据类型不匹配 - 游戏可能使用 float、double 或其他类型,而不是 int32
- 数值已加密 - 某些游戏会对数值进行加密存储
- 动态内存 - 游戏可能使用指针或动态分配的内存
- 服务器端验证 - 在线游戏的数值存储在服务器上,无法修改
- 未以管理员身份运行 - 必须右键选择"以管理员身份运行"
A: 使用"多次搜索"策略:
- 第一次搜索后记录所有地址
- 在游戏中改变该数值
- 用新数值再次搜索
- 重复直到只剩少数几个地址
A: 可能原因:
- 修改了错误的地址(需要验证)
- 游戏有反作弊机制
- 数值是服务器控制的
- 需要修改多个相关地址
A: 这是因为没有安装GCC编译器。请查看 INSTALL.md 了解如何安装。
A: 这是正常的,因为需要遍历整个进程内存空间。优化建议:
- 关闭不必要的程序
- 选择较小的目标进程
- 耐心等待扫描完成
- 重要: 本程序需要以管理员身份运行才能访问其他进程的内存
- 重要: Windows系统需要安装GCC编译器才能编译(详见 INSTALL.md)
- 本程序仅用于学习和研究目的
- 使用游戏修改器可能违反某些游戏的服务条款
- 请负责任地使用本工具
- 如果遇到"Access is denied"错误,请以管理员身份重新运行程序
详细的安装和故障排除指南,请查看 INSTALL.md
为了让程序在启动时自动弹出 UAC 提示框请求管理员权限,我们使用了 Windows manifest 文件:
步骤 1:创建 manifest.xml 文件
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>步骤 2:编译时嵌入 manifest
# 安装 rsrc 工具(首次需要)
go install github.com/akavel/rsrc@latest
# 生成资源文件
rsrc -manifest manifest.xml -o rsrc.syso
# 编译程序
go build -ldflags="-H windowsgui" -o bling.exe .工作原理:
rsrc工具将 manifest 转换为 Windows 资源文件 (.syso)- Go 编译器会自动将所有 .syso 文件链接到可执行文件中
- Windows 在启动程序时会读取 manifest,发现需要管理员权限后自动弹出 UAC 提示
效果:
- 用户双击
bling.exe时,立即弹出 UAC 提示框 - 无需手动右键选择“以管理员身份运行”
- 用户体验更好,更专业
本项目使用 Fyne 的资源捆绑功能来嵌入应用图标,无需额外工具:
# 1. 生成资源文件(首次编译或更换图标时执行)
fyne bundle -package main -name appIcon icon.png | Out-File -FilePath bundled.go -Encoding utf8
# 2. 在代码中使用嵌入的图标
myWindow.SetIcon(appIcon) # 设置窗口图标注意事项:
bundled.go是自动生成的文件,不要手动编辑- 如果更换了
icon.png,需要重新运行fyne bundle命令 - 图标会被直接编译到 exe 文件中,无需分发额外的图片文件
# 无控制台窗口(发布版本)
go build -ldflags="-H windowsgui" -o bling.exe .
# 带控制台窗口(调试版本)
go build -o bling.exe .参数解释:
-ldflags="-H windowsgui":隐藏控制台窗口,适用于纯 GUI 应用-o bling.exe:指定输出文件名.:编译当前目录下的所有 Go 文件(包括 bundled.go)
Q: 编译时提示找不到 bundled.go?
A: 确保先运行 fyne bundle 命令生成资源文件。
Q: 图标没有显示?
A: 检查以下几点:
- 确认已运行
fyne bundle生成最新的 bundled.go - 确认代码中使用了
myWindow.SetIcon(appIcon) - 重新编译程序
- Windows 可能会缓存图标,尝试重启程序或清除图标缓存
Q: bundled.go 出现编码错误?
A: 使用 PowerShell 的 Out-File -Encoding utf8 确保正确的文件编码。

