Skip to content

Instantly share code, notes, and snippets.

@Last-Order
Last active November 28, 2019 03:05
Show Gist options
  • Save Last-Order/97392a9e270f65e5cdb1b1e1f52f1900 to your computer and use it in GitHub Desktop.
Save Last-Order/97392a9e270f65e5cdb1b1e1f52f1900 to your computer and use it in GitHub Desktop.
# ShinyMas 请求分析

Idol Master Shiny Colors API 请求分析

本作与后台API的请求 payload,经过 WebAssembly 函数加密解密。XHR 请求返回格式为 JSON(经过加密)。图片、视频等资源文件路径加密但内容不加密。

封装了统一请求函数,位于app.js:1667,在app.js:1680调用 WebAssembly 对返回内容进行解密。

主要加解密函数

  1. decodeResponse(text, session)

该函数用于对服务器返回的内容进行解密。

第一参数为服务器返回内容,第二个参数是服务器返回头中x-session的值。注意,该x-session每次请求发生变化。

  1. encryptPath(path, name)

该函数对请求的路径进行加密。第一个参数是明文路径,第二个参数是文件名(不含扩展名)。

对于文本文件和图片文件,该函数的返回会去掉扩展名,而对于视频和音频则会保留。

返回内容

对于文本内容,将会进行加密,需要调用上面提到的decodeResponse()进行解密。图片、音频、视频不加密。

其他内容

每张卡有一个唯一ID,例如2020050010

第一位表示为idol或是support_idol

value meaning
1 idol
2 support_idol

第二位未知。第三位为稀有度。

value meaning
1 未使用
2 R
3 SR
4 SSR

第四位未知,猜测与后两位一起构成characterId

第七位起未知。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment