只会抓包拿到已有的卡的资源。有没有办法解包到所有的卡的资源,卡面图片、CG和音频等。
游戏链接:ログイン - FANZA
這遊戲和deepone 孤兒的工作同款無法在沒腳色的時候拿到連接
孤儿的工作实际上是可以的
https://minasigo-no-shigoto-app-g-server.orphans-order.com/mnsg/user/getVersion
拿版本
https://minasigo-no-shigoto-pd-native-res.orphans-order.com/2.5.072/resource.json
拿资产列表
只不过拿到的资产列表是加密的,我这里给解密函数
import json
import hashlib
from Crypto.Cipher import AES
from Crypto.Util import Counter
from Crypto.Util.Padding import unpad
from base64 import b64encode, b64decode
from typing import Union
def cjson(data: Union[str, bytes]) -> dict:
if isinstance(data, bytes):
data = data.decode("utf-8")
return json.loads(data)
def EVPKDF(password, salt, keySize=32, ivSize=16, iterations=1, hashAlgorithm="md5"):
if isinstance(password, str):
password = password.encode("utf-8")
final_length = keySize + ivSize
key_iv = b""
block = None
while len(key_iv) < final_length:
hasher = hashlib.new(hashAlgorithm)
if block:
hasher.update(block)
hasher.update(password)
hasher.update(salt)
block = hasher.digest()
for _ in range(1, iterations):
block = hashlib.new(hashAlgorithm, block).digest()
key_iv += block
key, iv = key_iv[:keySize], key_iv[keySize:final_length]
return key, iv
def decrypt(data):
passphase_hash = b64encode(hashlib.sha256('#mnsg#manifest'.encode('utf-8')).digest())
passphase = passphase_hash[:0x20]
salt = data[8:16]
ciphertext = data[16:]
key, iv = EVPKDF(passphase, salt)
ctr = Counter.new(AES.block_size * 8, initial_value=int.from_bytes(iv, byteorder='big'))
aes = AES.new(key, AES.MODE_CTR, counter=ctr)
dec = aes.decrypt(ciphertext)
try:
return cjson(unpad(dec, 16))
except:
try:
return cjson(dec[:-dec[-1]])
except:
return cjson(dec[:dec.rfind(b'}') + 1])
def decrypt_json_file(input_file: str, output_file: str):
with open(input_file, 'rb') as file:
encrypted_data = b64decode(file.read())
decrypted_data = decrypt(encrypted_data)
with open(output_file, 'w', encoding='utf-8') as file:
json.dump(decrypted_data, file, ensure_ascii=False, indent=4)
if __name__ == "__main__":
input_path = "resource.json"
output_path = "decrypted_resource.json"
decrypt_json_file(input_path, output_path)
解密后,链接自己拼一下就好了。md5那里优先选3的
普通资源像立绘卡面啥的能,寝不行(指孤儿的工作)
hh我更喜欢立绘点其他的没兴趣,费时费力去看cg不如直接看片
這只能拿普通例繪寢拿不到
寢只能拿你有的腳色,如果輸入你沒有的腳色會返回你沒有權限
有鉴权那确实没办法,关服的时候找个全角色大佬借号拆(
这种方式也适用于放课后战争这游戏吗?如果只是要卡面的话