写在开头:
!!!
本文章已过期停更,更新内容请看置顶评论
本人对应GitHub库也将从public-archive改为删除库
!!!
(1)本专栏声明不会在此发布和传播任何与Phigros游戏相关的原始铺面文件、曲绘文件和歌曲文件。尊重谱师画室曲师的知识产权。
(2)仅提供以Phigros为例的APK解包和文件的整理思路,本专栏不是最便捷途径的教程。
(3)仅供学习参考。
(4)本记录不面向纯新手小白,需要一点点的python和dos语法知识。
(5)所引用的部分都尽量贴上了源文章链接。
快开学了,想着用教室的希沃耍耍音游,因为不方便在安卓端装本体或者在win端装模拟器,模拟器一步到位yyds,就着手开始对现版本进行解包和文件打包整理。
(up只会一点点python,轻喷QAQ)
1.解包:
首先文件提取这一点参考了这篇B站的专栏:

由于我是从uptodown下载的xapk文件,版本号2.1.1,这边进行一个对xapk文件的补充。
首先用压缩软件打开xapk包,前往以下目录

众所周知,apk和xapk其实也是个压缩包
不难找到一个obb文件,再用压缩软件打开就可找到所需要的assets文件夹了。
2.1 曲绘和音乐文件
这边曲绘和音乐文件的整理采用比较笨的方式,听歌识曲+对照百科手动更名,玩得多一点的曲子基本听前奏就可以知道是啥了,大概一个小时整理完了这些文件,调用其他方法对我来说太难了QAQ
这边贴一个百科的链接:https://zh.moegirl.org.cn/Phigros/%E8%B0%B1%E9%9D%A2%E4%BF%A1%E6%81%AF

歌曲文件整理成果~

曲绘文件整理成果~
这边就是说,如果只是需要曲绘文件的可以不用去解包,直接从百科下载,都是2048x1080。
2.2 铺面文件
铺面文件的整(za)齐(luan)程度真的让人看着一头雾水,不过好在chart后面带了难度标识,可以用它来先进行一个简单的分类。

不会筛选建议用everything在当前目录直接搜索难度,如“AT”“IN”
下面是最折磨我的,写程序来提取铺面文件的特征进行进一步分类。
先是随手点开铺面文件看了看,不难发现里面的文件是json格式的,可以通过“NumofNotes”来得知当前这个铺面的物量。
那么就可以用物量特征作为铺面文件的文件名来查找该铺面的名字了。
(为什么不一个个打开看呢?因为加载慢啊 :) )
需要注意的是,从上文教程中得到的铺面文件是没有扩展名的,这里我们可以用菲菲更名宝贝进行批量更改拓展名为.json,这里也贴一个下载地址:
http://www.ffhome.com/works/1406.html
把全部文件拖拽导入,扩展名修改,全部改为.json

咱这边比较笨,不会直接读取文件的名字,所以还要把文件名字进行统一编号,注意是同一难度下的文件,还是用菲菲更名宝贝清空文件名,然后自动编号为数字。


记得保存哟
接着就是用python进行数据读取和更名,这边先给只需要扒代码的老哥上菜,写得不好请谅解。(注释写得啰嗦点哈)
#基于python3.10
#加载库
import json
import os
number = 0 #可能把for语句记叉了所以只会用while做循环,定义一个计数变量
workpath = input("请输入铺面位置(绝对路径):")+"//"
allcount = int(input("请输入总铺面数(即总文件数):"))-1
while number <= int(allcount):
os.chdir(str(workpath))
number = number + 1
try:
with open("{0}.json".format(number),mode="r") as f: #打开文件
s = f.read()
d = json.loads(s)
i = d.get("numOfNotes") #调取物量数据,同理还可以增加难度、bpm等信息
f.close
src = os.path.join(workpath,str(number)+'.json') #记录路径和更改后名字
dst = os.path.join(workpath,str(i)+'('+str(number)+')'+'.json')
os.rename(src,dst) #更名
print(str(number)+".json已处理,结果为:"+str(i)+'('+str(number)+')'+'.json') #输出结果
except:
print("Error:"+str(number)) 步骤拆分简单说就是读取json文件为字典,读取信息,改名。硬生生查了两小时资料,写了五分钟的码,缝合出这么一个小程序(嘻嘻)
按照读取出来的物量数据和刚刚上文提及的百科页面进行查表(Ctrl+F你值得拥有),再把文件名修改成对应的歌曲名字,如果遇到同物量的铺面可以查文件内的bpm数量来对比。
3.打包:
再贴个教程,如何把文件放入同名文件夹
https://www.cnblogs.com/li-mei-zi/p/9640495.html

如果把md删掉就变成分类文件啦,不过对应要求很苛刻而且容易出bug...(特别是铺面分类)
模拟器不方便挂连接,但是不难知道需要以下文件

截图自模拟器网站
并且打包为zip文件,只需要多选文件夹,在添加到压缩包的时候选上这个参数就好了

演示软件WinRAR
4.总结
摊牌了,虽然整体耗时不算找代码且只整理了AT和IN的铺面用了两个小时,但是还是太麻烦了,如果会爬虫多好(嘿嘿嘿)