Stop generating AI slop. Use YOURBRAIN instead ->

sora-loader

做了一个简单的 Modloader,目前没有任何 framework、helper 函数,仅仅能做到注入游戏源代码,仅此而已。 写这个的目的其实是为了 debug 为什么我的 openai api 不能用,因为我看 deepseek 的 api 是和 openai 的兼容的。 于是开始了破解这玩意儿,为了干掉完整性校验并打开 devtools,虽说后面发现 --dev 就行了。

那么为什么你不写个完整一点的 modloader 呢?因为我至今还未实际进入游戏... 以后如果真的有人用这玩意儿我再补全吧。

总之无论如何,加载 Modloader 的办法也很简单,找到 resources/install-hooks.js,打开,复制里面所有内容,粘贴到下面的框里, 然后点一下按钮,就会出现 patch 好的入口文件,然后就可以自由注入游戏文件了。如果你想做 mod 看下面。 使用 mod 只需要在 resources/mods 文件夹里塞 js 文件即可,加载器会自动读取所有 js 文件。

让我们狠狠注入妹妹!点 patch 会自动复制sora-loader 1.0

爆炸了?点我下载原始 install-hooks 文件

depot_id 4027871, build_id 23007293

SHA1 D095607828F46E7E75A507890180B48B213A4881

做 mod

下面是一个 example mod,做完了扔 mods 文件夹里就行,会加载所有里面的 js 文件,注意 —— 不会加载文件夹! 设计不加载文件夹是为了,万一以后有人要做一个更好的框架,可以直接复用我这个 loader,直接加载他的框架, 然后框架专属的插件可以由框架自己控制,比如 mods/plugins/some-plugin.js 这样

module.exports = function(handlers) {
handlers.onTextDecrypted.push((ctx, cryptoModule) => {
console.log("[Example Mod] Decrypted (text):", ctx.args[0])
return { next: true }
})
handlers.onFileDecrypted.push((ctx, cryptoModule) => {
console.log("[Example Mod] Decrypted (file):", ctx.args[0])
return { next: true }
})
handlers.onPreModuleLoad.push((ctx, cryptoModule) => {
console.log("[Example Mod] Module load (pre):", ctx.filename)
return { next: true }
})
handlers.onPostModuleLoad.push((ctx, cryptoModule) => {
console.log("[Example Mod] Module load (post):", ctx.filename)
return { next: true }
})
}

footnote1

Technically speaking, 你可以用这个 modloader 来 dump 所有加密文件、也可以破解桌宠功能,但我可没指示你这么做。 神秘关键字提示:window.TESystem,我没破解,我也没试过,只是简单看了一下,发现 emit 了一个 event + TESystem 控制这东西。 剩下的自己研究吧,我还得研究这玩意儿为啥用不了我的中转站。

footnote2

你可能会想问,开源仓库在哪里?根本没有,直接按F12就能看见了,一点混淆都没,我可懒得搞这种东西,凑合看吧。 看不懂的话你可以复制粘贴给 AI,让 AI 给你解释。假装他有个开源协议 Anti996 并宽松执行 —— 即不强制执行条款,但推荐执行。