学习解锁emby服务端
原理
简单来说就是建立一个伪站点代替官方服务器返回需要的请求数据
# //https://mb3admin.com/admin/service/registration/validateDevice
# {"cacheExpirationDays": 365,"message": "Device Valid","resultCode": "GOOD"}
# //https://mb3admin.com/admin/service/registration/getStatus
# {"deviceStatus":"0","planType":"Lifetime","subscriptions":{}}
# //https://mb3admin.com/admin/service/registration/validate
# {"featId":"MBSupporter","registered":true,"expDate":"2030-01-01","key":114514}
然后需要将下面这些文件从服务端导出,然后修改里面的请求地址
/system/dashboard-ui/embypremiere/embypremiere.js/
# 网页播放器
/system/dashboard-ui/modules/emby-apiclient/connectionmanager.js
# 连接组件
/system/Emby.Server.Implementations.dll
# 服务组件,激活状态等
/system/MediaBrowser.Model.dll
# 后台页面
/system/Emby.Web.dll
# 网页端
步骤
修改两个js里面的请求地址mb3admin.com
为你的请求地址,比如:emby.yubanmei.com
下面的dll文件需要dnSpy,https://github.com/dnSpy/dnSpy
Emby.Web.dll
- Emby.Web -> Emby.Web.dll -> 资源
- 右键 -> 保存
Emby.Web.dashboard_ui.modules.emby_apiclient.connectionmanager.js
到任意位置 - 右键 -> 删除
Emby.Web.dashboard_ui.modules.emby_apiclient.connectionmanager.js
- 修改文件里面的请求地址
mb3admin.com
为你的请求地址。 - 右键 -> 创建文件资源,选择刚才修改的文件
- 保存文件
MediaBrowser.Model.dll
- MediaBrowser.Model -> MediaBrowser.Model.dll -> MediaBrowser.Model.Entities -> PluginSecurityInfo -> isMBSupporter -> get_isMBSupporter()
- 在方法的
return
上右键 -> 编辑方法 - 编辑为
return true;
- 保存文件
Emby.Server.Implementations.dll
- Emby.Server.Implementations - > Emby.Server.Implementations.dll -> Emby.Server.Implementations.Security -> PluginSecurityManager
- 在编辑器
帮助
选项后面找到C#
,修改为TL
ctrl + f
搜索mb3admin.com
- 找到
MBValidateUrl
-> 右键 ->编辑字段
,修改为你的请求地址 - 找到
MediaBrowser.Common.Net.HttpRequestOptions::.ctor()
方法前后的mb3admin.com
,大约在1390行到1400行,选择字段 -> 右键 ->编辑TL指令
,修改为你的请求地址 - 保存文件
然后将修改好的文件替换回去即可,也可以使用docker volumes替换。
然后在emby后台找到Emby Premiere,填入任意字符即可解锁小金标。
version: '2.1'
services:
emby:
image: emby/embyserver:4.8.1.0
container_name: emby
volumes:
- ./config:/config
- ./system/embypremiere.js:/system/dashboard-ui/embypremiere/embypremiere.js
- ./system/connectionmanager.js:/system/dashboard-ui/modules/emby-apiclient/connectionmanager.js
- ./system/Emby.Server.Implementations.dll:/system/Emby.Server.Implementations.dll
- ./system/MediaBrowser.Model.dll:/system/MediaBrowser.Model.dll
- ./system/Emby.Web.dll:/system/Emby.Web.dll
ports:
- 8096:8096
environment:
- TZ=Asia/Shanghai