MCPcopy Index your code
hub / github.com/GrowthEase/GameSentry

github.com/GrowthEase/GameSentry @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
546 symbols 1,073 edges 54 files 198 documented · 36%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

GameSentry

概述

一般的安全测试需要测试人员有较高的逆向水平,对人员的技术要求较高,而逆向工作也需要投入大量时间精力。

GameSentry,主要通过分析游戏协议内容、游戏函数逻辑和对应的地址、部分代码热更、自动化 Hook 等功能达到降低深层次安全测试门槛的目的。可以简化内存测试、协议测试过程中对于 APK 逆向、Hook 编写、脚本修改、脚本 dump 的繁杂操作,大大降低测试人员的上手门槛和逆向工作。 而从实践效果上看,GameSentry 的设计思路是从攻击者的角度对游戏进行逆向分析和破解,主动发现和挖掘系统中的弱点、技术缺陷和安全漏洞,并进行缺陷放大和风险性评估,提前暴露游戏潜在安全风险,让安全团队可以在危害发生前就着手准备漏洞修复方案,可以最大程度降低事后外挂危害与外挂打击成本。

我们希望通过降低安全测试的复杂度,让游戏公司提前发现并感知到漏洞和风险,构建更成熟的安全保障体系,降低游戏风险,延长游戏生命周期,提升用户体验,回馈玩家对游戏的热爱!

工具介绍

链接:功能介绍

工具使用说明

不支持模拟器,手机需要root,建议使用未做保护的apk

架构 是否兼容
unity il2cpp
unity mono
cocos-js
cocos-lua

强烈建议使用前阅读 链接:使用说明

Q & A

1. 为什么启动后卡住了?

答:导致卡住的原因有很多种,首先得先确定目标apk为工具已支持的架构(工具支持的游戏引擎文档在doc/InstructionsForUse.md),然后需要排查目标apk是否有frida防护,如果还是卡住,可以通过复制console中的错误日志排查或反馈给开发者。

2. 为什么无法自动获取协议?

答:这需要了解目标游戏的架构,需要先确定是否使用protobuf作为序列化工具,当前支持c#、lua获取相关协议,自动获取仅支持c#。

3.该工具是否可以零门槛进行安全测试?

答:该工具的定位是辅助工具,不是自动化一键测试,需要使用者拥有一定的逆向或开发经验来处理目标apk的不同开发逻辑与架构。

4.目标游戏被保护了怎么办?

答:工具不会收集您任何信息,请使用未加固的版本。后续也不会支持已加固的游戏进行分析,以防游戏被未授权测试。

交流 & 反馈

官方交流社群

开源小助理

Core symbols most depended-on inside this repo

r
called by 139
lib/component/agent/api.js
method
called by 20
lib/component/agent/structs/class.js
isNull
called by 19
lib/component/utils/native-struct.js
invoke
called by 19
lib/component/agent/structs/method.js
toString
called by 15
lib/component/agent/structs/type.js
from
called by 13
lib/component/agent/structs/array.js
writeOtherFile
called by 12
index.js
set
called by 12
lib/component/agent/structs/field.js

Shape

Method 370
Function 132
Class 44

Languages

TypeScript100%

Modules by API surface

lib/component/agent/api.js144 symbols
lib/component/agent/structs/class.js49 symbols
lib/component/agent/structs/method.js35 symbols
index.js33 symbols
lib/component/agent/structs/object.js20 symbols
lib/component/agent/structs/field.js19 symbols
lib/cli/index.js19 symbols
lib/component/agent/tracer.js17 symbols
lib/component/agent/structs/gc.js16 symbols
lib/component/agent/base.js15 symbols
lib/component/agent/structs/array.js12 symbols
lib/component/agent/structs/type.js11 symbols

For agents

$ claude mcp add GameSentry \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact