Closed zh616110538 closed 3 years ago
使用 57838944cae7a61a430b74dcc6e5cb0953ffe309 抓包版本
我对比了一下,渠道服没有找到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
com.bilibili.priconne.aligames.v2.playerprefs.xml
这个跟文件跟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)
这里获取的是你的access_key,你可以参考pcrjjc-backend的古法尝试一下
我看了一下pcrjjc-backend的ApiController.cs文件,我的理解是抓取https://l3-prod-uo-gs-gzlj.bilibiligame.net/tool/sdk_login post的消息然后进行base64解码和AES解密获取到access_key。
如果我理解的没错的话,那我现在是否可以使用fiddler抓包,然后手动解密获取access_key? 我对C#不是特别了解,这里的解密算法的看的不是很明白,所以能不能说一下这里的解密思路
是的,可以的,解密可以看pcrclient.py的代码
如果支持的话 是否需要修改client中platform和channel的值? 另外账号密码该如何填,是填b站的账号还是渠道服的账号?
感谢回答