Couyne/AmongUsRoleViewer

GitHub: Couyne/AmongUsRoleViewer

一个基于 Frida 的 Among Us 外部角色读取器,通过动态解析 Unity IL2CPP 内存结构来获取游戏中所有玩家的角色信息。

Stars: 2 | Forks: 0

# Among Us — 角色读取器(外部,Frida) ![](https://static.pigsec.cn/wp-content/uploads/repos/cas/c8/c82eb0fdef681601ed95bfca22ffa71b55dc3ab47064a076c4cfbb55e6b8a6d2.jpg) 该脚本通过 Frida 输出当前 Among Us 游戏中所有玩家的角色:读取 `GameData.Instance.AllPlayers` 并获取每个玩家的 `RoleType` 和名字,无需编译,直接注入进程。 仅限 Windows。在 Linux 上,无论是否使用 proton,原生 Frida 都无法注入到 pressure-vessel 沙箱内的进程中。 ## 安装说明 需要 Python 3.8+ ``` pip install -r requirements.txt ``` ## 运行 启动 Among Us,进入大厅或对局(只有在创建 `GameData.Instance` 时角色才存在),然后执行: ``` python roles.py ``` 或者直接在 Frida 下启动游戏: ``` python roles.py --spawn "C:\Program Files (x86)\Steam\steamapps\common\Among Us\Among Us.exe" ``` ## 偏移量(来自 Il2Cpp dump,仅供参考) 脚本在 runtime 下通过名称解析字段,因此偏移量没有被硬编码,以下仅供参考: - `NetworkedPlayerInfo.RoleType` — `0x38`(ushort,enum RoleTypes) - `NetworkedPlayerInfo.Role` — `0x4C`(RoleBehaviour*) - `GameData.AllPlayers` — `0x10`(List) 0=Crewmate 1=Impostor 2=Scientist 3=Engineer 4=GuardianAngel 5=Shapeshifter 6=CrewmateGhost 7=ImpostorGhost 8=Noisemaker 9=Phantom 10=Tracker 12=Detective 18=Viper - 偏移量是根据游戏内的名称动态获取的,因此脚本可以承受微小的更新;但如果字段被重命名,则需要重新进行 dump。 ⚠️ 免责声明 (Disclaimer) 本项目仅出于教育和研究目的创建——用于了解 Unity/IL2CPP 应用程序的内存结构以及 Frida 的工作原理。 - 该工具仅读取游戏进程的内存,不会修改游戏、文件或网络流量。 - 在《Among Us》等在线游戏中使用第三方工具违反了服务条款(ToS/EULA),可能导致账号被封禁。请自行承担风险使用,建议在私人/本地对局中使用。 - 作者不对因使用此代码造成的任何损害、账号封禁或其他后果承担责任。 - 本项目与 Innersloth(《Among Us》开发商)没有任何关联,也未获得其认可。 - 请勿使用此工具来获取对其他玩家不公平的优势。 下载并运行此代码,即表示您是出于自愿并承担所有相关风险。
标签:《Among Us》, Docker支持, Frida, Il2Cpp, Python, 云资产清单, 内存读取, 无后门, 游戏, 游戏作弊, 自定义脚本, 逆向工具, 逆向工程