d0gkiller87 发表于 2020-8-29 17:48

分分钟解锁直播软件 StreamLabs OBS Prime (Electron JS 注入)

本帖最后由 d0gkiller87 于 2020-9-18 17:06 编辑

1. 介绍:
StreamLabs OBS 是个国外非常有名的直播软件,支持利用显卡高效进行游戏录制,且支持多个直播平台 (油管,Twitch,Facebook) 等。
但若想在多个平台直播,需要先购买付费版 Prime 会员。


2. 缘由:
我国外一个好哥们突然跟我说他最近想搞直播,试了几个最後决定用这款软件。
然而这软件有些 Bug,他怕付费买了会员後不好用,希望能先测试一下。

找了下互联网好像没先人动过这个软件。看来只能自己处理了 (*/ω\*)



3. 分析:
软件名称是 OBS (Open Broadcaster Software),看见这个 O(pen) 字样就知道是个开源软件。
果然马上在 GitHub 上找到了官方 Repo (stream-labs/streamlabs-obs),还附上了编译及打包方式。

源码都有了,那也不用瞎折腾了。第一个想法就是把那些判断是否为 prime 的变数於源码修改掉,然後重新编译打包。
直接用 GitHub 内建的代码搜索功能搜下关键字 "prime",
发现搜到一堆资源/多国语言文件。往後翻了几页终於发现了特别的关键字: "isPrime"

并且从档名後辍 (.ts) 看,主要的程序逻辑是用 TypeScript 语言写的。
趁机升级下咱们的关键字,改为搜索 "isPrime" 过滤掉无用资讯。

太好了,果然马上搜到,看来咱们要的就是这个文件 (app/services/user/index.ts)。储存了 isPrime 的栏位函数 (get, set),以及 isPrime 变数本身。
现在目的只有一个:透过任何方式,把相关属性都改成 true 就行了。


4. 解锁:
立马把 repo clone 下本地。
修改前,先来试试能不能编译成功。照着上面的官方文档,於目录下执行指令:
yarn install # 依赖安装
yarn compile # 编译
yarn start # 启动程序
跑了半小时,終於編譯好並打开了。按下 F12 还能跳出开发者工具。
等等... 既然有了 F12,试试直接动态修改:

果然生效了,设置里的付费功能都解锁了。

赶紧叫国外哥们照着做一遍,卻发现他按了 F12 没有反应。原本还以为是他操作错了,自己下载了稳定版安装包试了下,结果还真不行。
调查了一番,发现这个软件是用 Electron 写的,只有开发版本 (自己编译的就是) 预设启用了 F12 等调试功能,Production (发布) 版本默认则是不启用的。


整理一下,现在的解锁方向有:
1) 直接修改源码文件,重新打包成发布版本。(麻烦,档案大,要手动更新)
2) 於开发版本,手动打开 F12 注入解锁代码。(普通用户没这个版本,每次重启软件要重新输入)
3) 於发布版本,用特殊方式注入解锁代码。(快速方便) (XSS? 强制启用调试功能?)

搜了一下,发现 Electron 支持透过 Chrome 远程调适,只要於程序发布版 argv 传入参数 --remote-debugging-port=xxxx,程序就会於指定埠号监听远程调适服务。
又再搜了一下,发现 GitHub 上竟然有高人写了 Electron 注入工具 (tintinweb/electron-inject),原理就是利用上面的 remote-debugging-port,目的是注入代码启用 F12。

这样我们就可以透过方法 (3) 制作一个 Loader (加载器) 了。
把注入工具 clone 下本地,修改一下代码。注入代码处附上我们前面 F12 使用过的解锁代码:
try {
    let sv = servicesManager.instances.UserService;
    sv.isPrime = sv.state.isPrime = true;
    sv.SET_PRIME = ()=>{};
} catch(e){};


接下来用 PyInstaller 打包成 .exe,
pyinstaller __main__.py -F --noupx -n OBSLoader -w # --icon StreamlabsOBS.ico
启动器制作完成!扔到安装目录下运行看看:


成功!还顺便启用了 F12!
编译好的加载器: https://115.com/s/sw38iqf3nty (访问码:g121;压缩包密码: 52pojie)




更新:
留意上图 Sublime 红色警告标示处,结尾 """ 处换了个行 JavaScript 就不给过了,上个发布版本不小心多了一行,测试时打开才猛然发现失效,已修复。

小白第一次发文,从帐号白嫖帖 (会员申请) 那搬来的。
排版很差、没国内云盘号,望各位师傅不吝指教。

d0gkiller87 发表于 2020-10-15 02:15

jasonliu234 发表于 2020-10-13 17:41
里面的模板,并不是免费的。

貌似未破解成功。请问还有什么prime功能可以用的? 谢谢。

模板毕竟是从服务端下载的,服务端可以轻松校验凭证是否正确。有空再试试能不能绕过。
这个主要是解锁多平台直播,原本只能一次用一个平台。

qqwog702 发表于 2020-9-2 15:52

并没又找到下载地点。。

d0gkiller87 发表于 2020-9-2 20:46

qqwog702 发表于 2020-9-2 15:52
并没又找到下载地点。。

href 自己飞了。。。 刚补上去

月小梧 发表于 2020-9-3 12:05

666,可以可以

Hmily 发表于 2020-9-3 17:50

@d0gkiller87 帖子图有几处还是外链不显示,上传的有几个没贴进去。

d0gkiller87 发表于 2020-9-3 23:47

Hmily 发表于 2020-9-3 17:50
@d0gkiller87 帖子图有几处还是外链不显示,上传的有几个没贴进去。

下次直接换个浏览器好了,总觉得 Chrome 不把论坛当 HTML 解释。。。

zyqszb 发表于 2020-9-4 10:30

没有找到下载地点哦

wangjing3018 发表于 2020-9-6 16:03

{:1_893:}{:1_893:}{:1_893:}找了很久了,感谢楼主分享

商务在线 发表于 2020-9-6 18:37

这不就是OBS?

wang1688 发表于 2020-9-9 12:26

很好,值得看,有下载地址吗
页: [1] 2 3 4 5 6
查看完整版本: 分分钟解锁直播软件 StreamLabs OBS Prime (Electron JS 注入)