sol文件修改器,安卓端可兼容,数值参数一键修改,技术解析

完整工具源码已上传:https://www.pan38.com/share.php?code=4RPYk 提取码:8888
一、Sol文件技术背景

Flash本地共享对象(.sol)本质是AMF格式的二进制文件,常用于存储游戏存档。其存储路径通常为:

Windows路径示例

path = "C:/Users/[user]/AppData/Roaming/Macromedia/Flash Player/#SharedObjects/[随机目录]/game.sol"

二、Python解析方案

  1. 使用pyamf解析

from pyamf import remoting

with open('game.sol', 'rb') as f:
sol_data = remoting.decode(f.read())
print(sol_data) # 输出反序列化后的字典

  1. 关键值修改示例

修改金币数值

sol_data['gameData']['gold'] = 99999

重新编码为SOL格式

modified_sol = remoting.encode(sol_data)
with open('game_modified.sol', 'wb') as f:
f.write(modified_sol)

三、Android适配方案

  1. 获取安卓端路径

adb pull /data/data/com.game.package/app_flash/.sol

  1. 十六进制编辑(需root)

import binascii

with open('game.sol', 'rb+') as f:
hex_data = binascii.hexlify(f.read())
# 替换特定数值(如生命值0x64→0xFF)
modified_hex = hex_data.replace(b'64', b'FF')
f.seek(0)
f.write(binascii.unhexlify(modified_hex))

四、注意事项

不同游戏的加密方式可能不同,需逆向分析

修改前建议备份原文件

部分游戏会校验文件哈希值

posted @ 2025-06-10 11:00  爷很困扰  阅读(304)  评论(0)    收藏  举报