学习解锁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

  1. Emby.Web -> Emby.Web.dll -> 资源
  2. 右键 -> 保存Emby.Web.dashboard_ui.modules.emby_apiclient.connectionmanager.js到任意位置
  3. 右键 -> 删除Emby.Web.dashboard_ui.modules.emby_apiclient.connectionmanager.js
  4. 修改文件里面的请求地址 mb3admin.com 为你的请求地址。
  5. 右键 -> 创建文件资源,选择刚才修改的文件
  6. 保存文件

MediaBrowser.Model.dll

  1. MediaBrowser.Model -> MediaBrowser.Model.dll -> MediaBrowser.Model.Entities -> PluginSecurityInfo -> isMBSupporter -> get_isMBSupporter()
  2. 在方法的return上右键 -> 编辑方法
  3. 编辑为return true;
  4. 保存文件

Emby.Server.Implementations.dll

  1. Emby.Server.Implementations - > Emby.Server.Implementations.dll -> Emby.Server.Implementations.Security -> PluginSecurityManager
  1. 在编辑器帮助选项后面找到C#,修改为TL
  2. ctrl + f搜索mb3admin.com
  3. 找到MBValidateUrl -> 右键 -> 编辑字段,修改为你的请求地址
  4. 找到MediaBrowser.Common.Net.HttpRequestOptions::.ctor()方法前后的mb3admin.com,大约在1390行到1400行,选择字段 -> 右键 -> 编辑TL指令,修改为你的请求地址
  5. 保存文件

然后将修改好的文件替换回去即可,也可以使用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
 

本文链接:

https://yubanmei.com/archives/133.html
1 + 1 =
2 评论
    Bingo
    8月7日 回复

    an按照教程修改 我发现替换Emby.Server.Implementations.dll 后无法起来,已经核对过几遍了 是按着教程走的 我的搭在公网的伪站 返回值也是对的 是不是修改方式变了

      adminWindows 10
      9月30日 回复

      @Bingo 是不是你的版本对不上啊,tl和c#的文件是不一样的,需要修改两个地方,tl指令只能在tl界面下面找到。