
隐私保护者
本模组会拦截不安全的Python调用,如e_xec()、e_val()、s_ocket()等,以保护游戏免受恶意软件侵害和/或防止隐私信息泄露。某些模组含有追踪器,这些将被拦截。本模组不会添加任何交互功能到
查看大图隐私保护者
此版本包含一些经过审查的 S4CL 代码,以避免您必须安装 S4CL(该版本未使用追踪代码)。
介绍
来自 EA 服务条款
当您访问或使用 EA 服务时,即表示您同意不会:
- 使用任何软件或程序破坏、干扰或中断 EA 服务或他人计算机及财产,例如拒绝服务攻击、垃圾邮件发送、黑客行为、上传计算机病毒、蠕虫、木马、取消机器人、间谍软件、损坏文件及定时炸弹。
- 干扰或中断其他玩家使用 EA 服务。
- 包括通过以下方式扰乱 EA 服务中正常的游戏流程、聊天或对话:例如使用粗俗或骚扰性语言、辱骂行为、过度喊叫(全大写字母)、刷屏、灌水或反复按回车键。
- 试图获取或通过钓鱼手段骗取 EA 服务上其他用户的密码、账户信息或其他私人信息。
这个模组不会干扰任何其他正常模组。 这将干扰侵犯您隐私的模组。 这将影响通常违反 EA 服务条款的多人游戏模组。 它还会干扰将关键功能用于其他目的的模组。 即使仅开放套接字本身并不侵犯隐私,但建立 TCP 连接的模组也会受到影响。 这可能会破坏您已安装的部分模组,但这种情况非常罕见。
你应该已经了解这些模组了。 如果出现问题,您可以随时卸载此模组。 在我的测试中,我识别出了一些追踪模组,但没有误报。
注入器
注入器会注入到各种已知被追踪器和恶意软件使用的 Python 中,以向网站发送数据和/或下载并执行代码。
普通脚本模组从不调用这些方法。
它将引发一个 PrivacyException 以防止继续执行模组的这一部分。模组很可能会捕获此异常且不会通知用户。
它会将数据记录到 The Sims 4/mod_logs/PrivacyProtector.txt 以供查看。
如果检测到使用了非常可疑的方法,游戏内将弹出一个提示框。
Eval() 与 Exec()
由于 Python 的限制,本模组不会注入到 eval() 和 exec() 中。扫描器将检测这些方法。
扫描仪
该模组还配备了一个扫描器来扫描模组。虽然并非百分之百准确,但效果相当不错。 游戏启动一分钟后开始扫描所有模组。
排除扫描
要排除某些模组,请定位到 The Sims 4/mod_data/privacy_protector/skip_mods/ 目录,并将模组(.ts4script 文件)复制到该目录中。
只需创建一个与模组名称完全相同的空文件,但对大多数用户来说复制可能更方便。
文件内容无关紧要。我包含了一些安全的模组空文件。你可以删除它们以获取相关日志。
扫描器会在游戏运行时报告是否有所发现。详情请查看日志文件。
它在后台运行并占用一个核心。
对于 4 核及以上 CPU,启动 TS4 几乎不会有任何延迟。
强烈建议检查日志文件并将安全模组添加到 skip_mods 目录中。
手动扫描
要扫描新模组,请在游戏运行时将它们添加到 Mods 文件夹中。
privacy.scan扫描模组中的已知问题。这是您可能想使用的命令。privacy.search foo允许在模组中扫描foo。- 若仅扫描
exec,您可以使用命令privacy.search exec。 它比完整扫描稍快一些。
输出内容会显示在控制台并同时记录日志,由于数据量可能较大,请耐心等待。
Eval() 与 Exec()
手动和自动扫描仪可检测这两种方法。
可能存在许多类似 literal_eval、evaluate 或 execute 的匹配项,这些通常被认为是无害的。它们将被记录为:
看起来没问题。在 \sims4communitylib.ts4script(sims4communitylib/utils/cas/common_outfit_utils.pyc) 中发现了 eval: ['\\x00\\x00\\x00\\xda\\x1devaluate_appearance_modi']
如果你收到这样的声明,可能存在问题:
!! 在 \_evil_\xxx.ts4script(xxx.pyc) 中检测到 eval 函数: ['\\x00\\x00\\x00\\xda\\x04eval\\xda\\x03hex\\xda\\x03l']
扫描过程结束时,会打印摘要,便于查看是否存在实际问题。所有看似无害的近似匹配将不计入统计。
发现'eval' 1次。
检测到的问题会用 !! 标记,便于定位
坏行以 !! 开头,而 '好' 行以 Seems OK. 开头,不计入检测到的问题数量。
此方法可用于扫描脚本模组中的多种内容。
输出样本
当然,仅通过一些简单的代码检查,永远无法百分百确定。 因此,需要查看该语句周围的一些代码来获得大致了解。
追踪器
如果你发现类似的东西,可以确定你的模组含有追踪器。
!! 在 '\folder\mod.ts4script(file.pyc)' 中发现 'FTP': ['6remove)\\x01\\xda\\x03FTP\\xfa\\x01|r@\\x00\\x00\\', ...]不清楚执行了哪个ftplib.FTP()命令,但可以确定它是一个追踪器或恶意软件下载器。!! 在 '\folder\mod.ts4script(file.pyc)' 中发现 'open': ['1\\x10\\x01\\xda\\x16mc_open_url_in_browser)\\x01', '\\nwebbrowser\\xda\\x04open)\\x03rq\\x00\\x00\\x00r']打开一个网站至少会将您的 IP 地址发送到服务器,通常还会提交操作系统信息。请求本身可能包含其他个人信息作为 URL 参数。!! 在 '\folder\mod.ts4script(file.pyc)' 中发现 'urlopen': ['eREQUEST_HEADERZ\\x07urlopen\\xda\\x16_parse_versi']urllib.request.urlopen()是另一种向服务器发送私有数据的方式。!! 在 '\folder\mod.ts4script(file.pyc)' 中发现 'Request': ['\\xda\\x07requestZ\\x07Request\\xda\\x0eREQUEST_HEAD']urllib.request.Request()也被一些带有追踪器的模组使用。
可疑的
这里应该审查代码,有些代码可能是出于好意编写的,但它经常被用来追踪你。
!! 在 '\folder\mod.ts4script(file.pyc)' 中发现 'open': ['\\nwebbrowser\\xda\\x04open)\\x01Z\\x06dialog)\\x0']我不认为open)有什么问题,但无论如何,在找到的字符串中出现webbrowser看起来确实有些奇怪。!! 在 '\folder\mods.ts4script(file.pyc)' 中发现 'eval': ['5\\xda\\x03ord\\xda\\x04eval\\xda\\x03hexr\\x13\\x00']!! 在 '\folder\mod.ts4script(file.pyc)' 中发现 'eval': ['\\x00\\x00\\x00\\xda\\x04eval\\xda\\x03hex\\xda\\x03l']这里确实需要检查代码,绝不应该使用eval()。我检查过了,可以说它是安全的,而且完全没必要使用eval()。
误报
!! 在 '\folder\mod.ts4script(file.pyc)' 中发现 'system': ['\\x01\\x00\\x00\\xda\\x06system\\xda\\x07releaser7\\x0', ...]看起来没有os.system.releaser()函数,所以这似乎是安全的。!! 在 '\folder\mod.ts4script(file.pyc)' 中发现 'system': ['\\x08platform\\xda\\x06system\\xda\\x07version\\xda\\']1、有一个system.version()方法,在我看来是安全的。!! 在 '\folder\mod.ts4script(file.pyc)' 中发现 'system': ['关于 {M0.他的}{F0.她的} 系统,没有...']o19 用一条大鳟鱼轻轻拍打本模组作者的脸。STBL 应放在 .package 文件中,而非硬编码进代码里。这样没人能翻译它或添加性别代词。!! 在 '\folder\mods.ts4script(file.pyc)' 中发现 'open': ['\\x00\\x00\\x00z\\x14ww.open_contact_page)\\x01Z\\', ...]使用open_时完全没有问题,但过滤器并不完美。 :(
警报
如果收到“隐私违规。详情请查看日志。”的警报,您可能想知道是哪个模组导致的。您需要查看日志文件。 这里会写入一个堆栈跟踪,包含引发问题的方法。 由于 TS4 的堆栈可能非常长且嵌套,此 mod 不会尝试定位问题 mod。 通常是在第二或第三行,而不是一个普通的函数。 堆栈跟踪将包含尽可能多的信息,分享前请确保移除敏感内容。 它将保存在您的电脑上,只有能访问您电脑的人才能查看。
一个由测试函数调用的堆栈跟踪示例:
警告:从以下位置调用了 'os.system(('powershell',); {})'
T:\InGame\Gameplay\Scripts\Core\sims4\commands.py#398 '' 在 'invoke_command()' 中
...\privacy_protector_light\commands.py#95 在'o19_debug_priv_shell()'中的'os.system(command)'
...\privacy_protector_light\privacy_protector_light.py#283 在 'o19_override_os_system()' 中的 'O19PrivacyProtector.log_data('os.system', *args, **kwargs)'
...\privacy_protector_light\privacy_protector_light.py#57 'thread_details = traceback.extract_stack(sys._current_frames()[thread.ident])' 位于 'log_data()' 中
测试
该模组本身不支持测试功能。
不过,在 mod_documentation 文件夹中,你可以找到一个 Mods 文件夹,可以将其复制到你的 The Sims 4 文件夹中。
之后应该看起来像这样:The Sims 4/Mods/_o19_/Scripts/commands.py
如果你这样做,你将能够连接到 EA,打开浏览器或命令行界面。隐私保护器应该能保障你的安全,但当然你也可以移除它来测试这些功能。
Shift+Ctrl+C 作弊控制台需要输入以下命令:
o19.priv- 打印以下帮助o19.priv.browser- 在浏览器中打开。*1o19.priv.shell o- 打开一个 powershell/bash。o19.priv.shell s- 在后台打开一个 powershell/bash。o19.priv.socket- 打开一个到 ea.com 的 socket 连接。*1o19.priv.urllib- 打开一个到 ea.com 的 urllib 连接。*1o19.priv.scan eval- 扫描 mods 中的eval()o19.priv.scan exec- 扫描 mods 中的exec()o19.priv.scan foobar- 扫描 mods 中的foobar()或其他任何函数。
*1 EA 应该已经知道你的 IP 地址,但你可以编辑 .py 文件并修改使用的域名。
实际上,只要隐私保护程序在运行,所有命令都应失败。
你可以删除模组,但保留此文件以确保功能正常。除非你的终端安全软件阻止它们。
commands.py 不会在 powershell/bash 中执行命令,也不会打开自动下载恶意软件的 URL,但所有这些都可以在 TS4 内部实现。
随着越来越多的恶意用户针对社区,我决定发布这个模组。
已知问题
此模组将引发一个异常,该异常会被记录到 lastException.txt 中,错误信息为:FileNotFoundError: [Errno 2] 没有这样的文件或目录: '50f50c67da416c0e5bc95ecb07a5a116d8b22106c27a1e60708b06e22eeed20b.zip'。
它告诉你这个模组启动正常,而我正在想办法避免这种情况。
附录
游戏兼容性
该模组已通过《模拟人生4》1.103.315版本(2023年12月)、S4CL 3.0(2023年12月)、TS4Lib 0.1.8(2023年9月)测试。 预计将与即将发布的多个TS4、S4CL和TS4Lib版本兼容。
依赖项
- 模拟人生4 TS4-库(NexusMods)或 TS4-库(GitHub)
- S4CL(NexusMods)或 S4CL(GitHub)
如果未安装,请下载并安装TS4及以下模组。 全部免费提供。
安装
- 定位包含 Mods 文件夹的本地化《模拟人生4》文件夹。
- 将 ZIP 文件解压到此《模拟人生4》文件夹中。
这将创建以下目录/文件:
Mods/_o19_/$mod_name.ts4scriptMods/_o19_/$mod_name.packagemod_data/$mod_name/*- 和/或
mod_documentation/$mod_name/*mod_logs/$mod_name.txt将在数据被记录时自动生成。
手动安装
如果你不想将 ZIP 文件解压到《模拟人生4》文件夹中,你可能需要阅读以下内容。
ZIP-File/mod_data中的文件通常是必需的,应解压到The Sims 4/mod_data中。ZIP-File/mod_documentation中的文件供您阅读。使用此模组时不需要这些文件。
[i] [i]Mods/_o19_/*.ts4script 文件可以存放在 Mods 内的任意文件夹中,或直接放在 Mods 目录下。我强烈建议将其存放在 _o19_ 文件夹里,这样你就知道是谁创建的了。
使用情况跟踪 / 隐私
该模组不会向任何追踪服务器发送数据。
代码是开源的,未经混淆,可供查阅。
日志文件(mod_logs 文件夹)中的某些日志条目可能包含本地用户名,尤其是在文件未找到的情况下(WARN、ERROR)。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。