学习解锁emby服务端
原理概述
简单来说,本文的原理是通过建立一个伪站点来代替官方服务器,返回所需的请求数据。这可以通过修改几个关键文件来实现,从而绕过Emby的验证机制。
示例请求数据:
设备验证:
- URL:
https://mb3admin.com/admin/service/registration/validateDevice
返回:
{"cacheExpirationDays": 365, "message": "Device Valid", "resultCode": "GOOD"}
- URL:
设备状态:
- URL:
https://mb3admin.com/admin/service/registration/getStatus
返回:
{"deviceStatus":"0", "planType":"Lifetime", "subscriptions":{}}
- URL:
验证信息:
- URL:
https://mb3admin.com/admin/service/registration/validate
返回:
{"featId":"MBSupporter", "registered": true, "expDate":"2030-01-01", "key": 114514}
- URL:
操作步骤
导出和修改必要的文件:
从Emby服务器中导出以下文件,并修改其中的请求地址:
/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
(网页端)
修改JavaScript文件:
- 在
embypremiere.js
和connectionmanager.js
中,找到请求地址mb3admin.com
并将其替换为你自己的伪站点地址(如:yubanmei.com
)。
- 在
使用dnSpy修改DLL文件:
- 下载并安装dnSpy。
修改
Emby.Web.dll
:- 打开
Emby.Web.dll
,在Emby.Web.dashboard_ui.modules.emby_apiclient.connectionmanager.js
资源中右键点击,选择“保存”并将文件保存到本地。 - 删除原始的
connectionmanager.js
文件,并将修改后的文件添加回去。
修改
MediaBrowser.Model.dll
:- 在
MediaBrowser.Model.dll
中,找到PluginSecurityInfo
类的get_isMBSupporter()
方法,直接将return
语句修改为return true;
。
修改
Emby.Server.Implementations.dll
:- 在
Emby.Server.Implementations.dll
中,找到PluginSecurityManager
,修改MBValidateUrl
字段,将其指向你自己的请求地址。 - 查找
MediaBrowser.Common.Net.HttpRequestOptions
构造函数,将其中的mb3admin.com
地址替换为你的自定义地址。
替换文件并重启服务:
- 完成所有修改后,将更新后的文件替换回Emby服务器,或使用Docker volumes进行替换。
- 在Emby后台找到
Emby Premiere
选项,输入任意字符,即可解锁小金标。
Docker配置示例
如果你使用Docker部署Emby,以下是一个配置示例:
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
这样,你就可以通过伪站点和自定义请求数据绕过Emby的激活和验证机制,获得所需的功能。如果有任何疑问或需要进一步的帮助,请随时联系我!