Browse Source

这才是更新的怪物数据

tags/v9.0
枫谷剑仙 5 years ago
parent
commit
ff4de1291e
7 changed files with 113 additions and 81 deletions
  1. +107
    -75
      monsters-info/README.md
  2. +1
    -1
      monsters-info/ckey.json
  3. +1
    -1
      monsters-info/mon_ja.json
  4. +1
    -1
      monsters-info/mon_ko.json
  5. +1
    -1
      monsters-info/official-API/ja-card.json
  6. +1
    -1
      monsters-info/official-API/ja-skill.json
  7. +1
    -1
      monsters-info/skill_ja.json

+ 107
- 75
monsters-info/README.md View File

@@ -1,87 +1,119 @@
使用Fidder从游戏内抓包获得怪物信息
Use Fidder to capture monster information from in-game capture
如何获取怪物数据 | How to acquire monster data
===
目前的获取API为
* 目前的获取API为
The current acquisition API is
| 语言 | API |
| --- | --- |
| 日语(ja) | https://api-adrv2.padsv.gungho.jp/api.php?action=download_card_data<br>https://api-adrv2.padsv.gungho.jp/api.php?action=download_skill_data |
| 英语(en) | https://api-na-adrv2.padsv.gungho.jp/api.php?action=download_card_data<br>https://api-na-adrv2.padsv.gungho.jp/api.php?action=download_skill_data |
| 韩语(ko) | https://api-kr-adrv2.padsv.gungho.jp/api.php?action=download_card_data<br>https://api-kr-adrv2.padsv.gungho.jp/api.php?action=download_skill_data |
| 语言 | API |
| --- | --- |
| 日语(ja) | https://api-adrv2.padsv.gungho.jp/api.php?action=download_card_data<br>https://api-adrv2.padsv.gungho.jp/api.php?action=download_skill_data |
| 英语(en) | https://api-na-adrv2.padsv.gungho.jp/api.php?action=download_card_data<br>https://api-na-adrv2.padsv.gungho.jp/api.php?action=download_skill_data |
| 韩语(ko) | https://api-kr-adrv2.padsv.gungho.jp/api.php?action=download_card_data<br>https://api-kr-adrv2.padsv.gungho.jp/api.php?action=download_skill_data |
2020年8月4日
目前夜神安卓5无法运行智龙迷城,需要使用安卓7,但是安卓7无法信任用户证书,所以需要把证书添加到安卓系统储存区。
参考 https://www.jianshu.com/p/035f7d7a0f7e
1. 将 Fidder 证书导出成文件,在电脑上找一个 openssl.exe 程序
1. 执行`openssl x509 -inform DER -in cacert.cer -out cacert.pem`将证书转换为pem格式
1. 执行`openssl x509 -inform PEM -subject_hash_old -in cacert.pem`获取证书的hash(第一行)
1. 将证书重命名为`[hash].0`
1. 将证书复制到`/system/etc/security/cacerts/`,并修改为 644 权限
1. 重启系统
* 但是有加密的参数,我不知道如何生成,所以我只能从游戏的下载过程截获。
But there are encrypted parameters that I don't know how to generate. So I intercepted from the game's download process.
将以下代码加入 Fidder 的自定义代码的`OnBeforeResponse`中就可以每次自动保存文件了
```js
//自动储存智龙迷城数据
var PADDataPath = "D:\\PADDashFormation\\monsters-info\\official-API\\";
if (oSession.HostnameIs("api-adr.padsv.gungho.jp") //日服域名
|| oSession.HostnameIs("api-ht-adr.padsv.gungho.jp") //港台服域名
|| oSession.HostnameIs("api-na-adrv2.padsv.gungho.jp") //美服域名
|| oSession.HostnameIs("api-kr-adrv2.padsv.gungho.jp") //韩服域名
) {
var serverName;
switch (oSession.hostname)
{
case "api-adr.padsv.gungho.jp": //日服域名
case "api-ht-adr.padsv.gungho.jp": //港台服域名
serverName = "ja"
break;
case "api-na-adrv2.padsv.gungho.jp": //美服域名
serverName = "en"
break;
case "api-kr-adrv2.padsv.gungho.jp": //韩服域名
serverName = "ko"
break;
}
if (oSession.uriContains("download_card_data")) { //自动保存怪物数据
oSession.SaveResponseBody(PADDataPath + serverName + "-card.json")
}
if (oSession.uriContains("download_skill_data")) { //自动保存技能数据
oSession.SaveResponseBody(PADDataPath + serverName + "-skill.json")
}
/*
if (oSession.uriContains("download_dungeon_data")) { //自动保存地下城数据
oSession.SaveResponseBody(PADDataPath + serverName + "-dungeon.json")
}
if (oSession.uriContains("download_limited_bonus_data")) { //自动保存limited_bonus数据
oSession.SaveResponseBody(PADDataPath + serverName + "-limited_bonus.json")
}
if (oSession.uriContains("download_enemy_skill_data")) { //自动保存敌人技能数据
oSession.SaveResponseBody(PADDataPath + serverName + "-enemy_skill.json")
}
if (oSession.uriContains("shop_item")) { //自动保存商店数据
oSession.SaveResponseBody(PADDataPath + serverName + "-shop_item.json")
}
if (oSession.uriContains("mdatadl")) { //自动保存交换所数据
oSession.SaveResponseBody(PADDataPath + serverName + "-mdatadl.json")
* 以[夜神模拟器](https://www.bignox.com/)为例,在安卓7里安装智龙迷城。
Take the [Nox Player](https://www.bignox.com/), for example. Install PAD in Android 7.
* 使用[Fidder](https://www.telerik.com/download/fiddler),执行*HTTPS中间人攻击*从游戏内抓包获得怪物信息。
Use [Fidder](https://www.telerik.com/download/fiddler), do *HTTPS man-in-the-middle attack* to capture monster information from in-game capture.
1. 参考/Reference: https://www.jianshu.com/p/035f7d7a0f7e
1. 将 Fidder 根证书导出到桌面
Export the Fidder Root Certificate to desktop
1. 在电脑上找一个 **openssl.exe** 程序
Find an **opensl.exe** program on computer
1. 执行代码,将证书由 *CER* 转换为 *PEM* 格式
Execute the code to convert the certificate from *CER* to *PEM* format
`openssl x509 -inform DER -in FiddlerRoot.cer -out cacert.pem`
1. 执行代码,获取证书的hash(第一行)
Execute the code to get the hash of the certificate (first line)
`openssl x509 -inform PEM -subject_hash_old -in cacert.pem`
1. 将证书重命名为`[hash].0`,如`269953fb.0`
Rename the certificate to `[hash.0]`,like `269953fb.0`
1. 打开安卓模拟器的**Root**
Turn on the **Root** of the Android simulator
1. 将证书复制到`/system/etc/security/cacerts/`,并修改为 **644** 权限
Copy the certificate to `/system/etc/security/cacerts/` and modify it to **644** permissions
1. **重启**安卓模拟器
**Restart** the Android simulator
1. 关闭安卓模拟器的 **Root**
Turn off the **Root** of the Android simulator
1. 将安卓模拟器内的 WiFi 代理设置到 Fidder 上
Set up the WiFi proxy in the Android emulator to Fidder
1. 打开 Fidder 的 HTTPS 解密,和 GZIP 解码
Turn on Fidder's HTTPS decrypt and GZIP decode
* 现在你运行模拟器内的游戏,Fidder 就能够截获和解密智龙迷城的数据了。
Now that you're running the game inside the simulator, Fidder will be able to intercept and decrypt the data from the PAD.
* 将以下代码加入 Fidder 的自定义代码的`OnBeforeResponse`中就可以每次自动保存文件了。
Add the following code to `OnBeforeResponse` of Fidder's **Customize Rules** to save the file automatically each time.
```js
//自动储存智龙迷城数据
var PADDataPath = "D:\\PADDashFormation\\monsters-info\\official-API\\";
if (oSession.HostnameIs("api-adr.padsv.gungho.jp") //日服域名
|| oSession.HostnameIs("api-ht-adr.padsv.gungho.jp") //港台服域名
|| oSession.HostnameIs("api-na-adrv2.padsv.gungho.jp") //美服域名
|| oSession.HostnameIs("api-kr-adrv2.padsv.gungho.jp") //韩服域名
) {
var serverName;
switch (oSession.hostname)
{
case "api-adr.padsv.gungho.jp": //日服域名
case "api-ht-adr.padsv.gungho.jp": //港台服域名
serverName = "ja"
break;
case "api-na-adrv2.padsv.gungho.jp": //美服域名
serverName = "en"
break;
case "api-kr-adrv2.padsv.gungho.jp": //韩服域名
serverName = "ko"
break;
}
if (oSession.uriContains("download_card_data")) { //自动保存怪物数据
oSession.SaveResponseBody(PADDataPath + serverName + "-card.json")
}
if (oSession.uriContains("download_skill_data")) { //自动保存技能数据
oSession.SaveResponseBody(PADDataPath + serverName + "-skill.json")
}
/*
if (oSession.uriContains("download_dungeon_data")) { //自动保存地下城数据
oSession.SaveResponseBody(PADDataPath + serverName + "-dungeon.json")
}
if (oSession.uriContains("download_limited_bonus_data")) { //自动保存limited_bonus数据
oSession.SaveResponseBody(PADDataPath + serverName + "-limited_bonus.json")
}
if (oSession.uriContains("download_enemy_skill_data")) { //自动保存敌人技能数据
oSession.SaveResponseBody(PADDataPath + serverName + "-enemy_skill.json")
}
if (oSession.uriContains("shop_item")) { //自动保存商店数据
oSession.SaveResponseBody(PADDataPath + serverName + "-shop_item.json")
}
if (oSession.uriContains("mdatadl")) { //自动保存交换所数据
oSession.SaveResponseBody(PADDataPath + serverName + "-mdatadl.json")
}
*/
}
*/
}
```
```
使用[pad-rikuu](//github.com/kiootic/pad-rikuu)的Card解析代码
* 使用 [pad-rikuu](//github.com/kiootic/pad-rikuu) 的 Card 解析代码
Parse Using the Card parsing code of the [pad-rikuu](//github.com/kiootic/pad-rikuu).
`CHT.json`与`CHS.json`信息来源于战友网,见子项目 https://github.com/Mapaler/Download-pad.skyozora.com
运行`提取整合怪物信息.bat`
* 运行`提取整合怪物信息.bat`
Execute the following code in CMD
```bat
node.exe extractByNode.js
```
会将几种语言的信息提取到一个文件内
Extract information from several languages into one file
`mon_ja.json`
```bat
node.exe extractByNode.js
```
* 会将每种语言的信息提取到一个文件内,互相之间也保留有不同语言的怪物名称、标签数据
Each language's information is extracted into a file, and monster names and tag data in different languages are retained from each other
---
### Only For 🇨🇳Chinese
`CHT.json`与`CHS.json`的中文信息来源于战友网,见子项目 https://github.com/Mapaler/Download-pad.skyozora.com
运行`提取中文数据.bat`,将战友网页面内容抽出,再使用Win64版 [OpenCC](https://github.com/BYVoid/OpenCC) 来繁转简。
然后再运行一遍`提取整合怪物信息.bat`把中文插进去。
然后再运行一遍 `提取整合怪物信息.bat` 把中文插进去。

+ 1
- 1
monsters-info/ckey.json View File

@@ -1 +1 @@
[{"code":"ja","ckey":{"card":"99194e5730c83b55d9b5099594993a43","skill":"09a53a512de7b895897637d95f9a44b0"},"updateTime":1608289647603},{"code":"en","ckey":{"card":"a1dd13cd3c7243536e66dee37375522b","skill":"1cfc69c93eed2ce73d642f98e288c384"},"updateTime":1608289647603},{"code":"ko","ckey":{"card":"4b3d3d1e9bc8d76c8111b2a888d90d87","skill":"ef7de03968a8673c034df0d05e5d94df"},"updateTime":1608289647603}]
[{"code":"ja","ckey":{"card":"82cbe2f566709463a3c887035c207383","skill":"d829065777d5b3d0519cca1a9a43ae2a"},"updateTime":1608292719184},{"code":"en","ckey":{"card":"a1dd13cd3c7243536e66dee37375522b","skill":"1cfc69c93eed2ce73d642f98e288c384"},"updateTime":1608289647603},{"code":"ko","ckey":{"card":"d1ece4a3ebeca15de94ddd1bc8adc5ce","skill":"ef7de03968a8673c034df0d05e5d94df"},"updateTime":1608292719184}]

+ 1
- 1
monsters-info/mon_ja.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/mon_ko.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/official-API/ja-card.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/official-API/ja-skill.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/skill_ja.json
File diff suppressed because it is too large
View File


Loading…
Cancel
Save