cc004 / pcrjjc2

本插件是pcrjjc插件的重置版,可以独立于后端api运行
GNU Affero General Public License v3.0
157 stars 51 forks source link

请问渠道服是否支持 #36

Closed zh616110538 closed 3 years ago

zh616110538 commented 3 years ago

如果支持的话 是否需要修改client中platform和channel的值? 另外账号密码该如何填,是填b站的账号还是渠道服的账号?

感谢回答

cc004 commented 3 years ago

使用 57838944cae7a61a430b74dcc6e5cb0953ffe309 抓包版本

zh616110538 commented 3 years ago

我对比了一下,渠道服没有找到bili_key.xml和login.xml文件

在九游的客户端里只有这些文件

ls /data/data/com.bilibili.priconne.aligames/shared_prefs
Alvin2.xml
BaseSDK.xml
ContextData.xml
SP_Router_CACHE.xml
WebViewChromiumPrefs.xml
alipay_tid_storage.xml
cn.uc.gamesdk.httpdns.pref.xml
cn.uc.gamesdk.pref.svr.xml
cn.uc.gamesdk.pref.usr_simple_cache.xml
cn.uc.gamesdk.pref.xml
cn.uc.paysdk.pref.xml
com.bilibili.priconne.aligames.v2.playerprefs.xml
com.bilibili.priconne.aligames.xml
com.bilibili.priconne.aligames_preferences.xml
config_data.xml
device_detail.xml
game_detail.xml
permissionConfig.xml
sdk.NetworkConfig.xml
serviceMemory.xml
system_config_pref.xml
uo_sdk_config_data.xml
cc004 commented 3 years ago

com.bilibili.priconne.aligames.v2.playerprefs.xml

zh616110538 commented 3 years ago

这个跟文件跟bilibili的不太一样,用BiliPrefReader.exe无法正确解析 这里是不是只要获取到账号密码就行,能否给个方法或者思路,谢谢

D:\pcrjjc2\toolchain>adb pull /data/data/com.bilibili.priconne.aligames/shared_prefs/com.bilibili.priconne.aligames.v2.playerprefs.xml
/data/data/com.bilibili.priconne.aligames/shared_prefs/com...1 file pulled, 0 skipped. 1.1 MB/s (19701 bytes in 0.017s)

D:\pcrjjc2\toolchain>BiliPrefReader.exe

未经处理的异常:  System.IO.FileNotFoundException: 未能找到文件“D:\pcrjjc2\toolchain\bili_key.xml”。
   在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   在 System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   在 System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize)
   在 System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials, IWebProxy proxy, RequestCachePolicy cachePolicy)
   在 System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)
   在 System.Xml.XmlTextReaderImpl.FinishInitUriString()
   在 System.Xml.XmlReaderSettings.CreateReader(String inputUri, XmlParserContext inputContext)
   在 PCRPrefReader.Program.ReadSharedPrefs(String filename)
   在 PCRPrefReader.Program.Main(String[] args)

D:\pcrjjc2\toolchain>rename  com.bilibili.priconne.aligames.v2.playerprefs.xml bili_key.xml

D:\pcrjjc2\toolchain>BiliPrefReader.exe

未经处理的异常:  System.Collections.Generic.KeyNotFoundException: 给定关键字不在字典中。
   在 System.ThrowHelper.ThrowKeyNotFoundException()
   在 System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   在 PCRPrefReader.Program.Main(String[] args)
cc004 commented 3 years ago

这里获取的是你的access_key,你可以参考pcrjjc-backend的古法尝试一下

zh616110538 commented 3 years ago

我看了一下pcrjjc-backend的ApiController.cs文件,我的理解是抓取https://l3-prod-uo-gs-gzlj.bilibiligame.net/tool/sdk_login post的消息然后进行base64解码和AES解密获取到access_key。

如果我理解的没错的话,那我现在是否可以使用fiddler抓包,然后手动解密获取access_key? 我对C#不是特别了解,这里的解密算法的看的不是很明白,所以能不能说一下这里的解密思路

cc004 commented 3 years ago

是的,可以的,解密可以看pcrclient.py的代码