我玩过2D派对格斗游戏(在Adobe AIR上运行,使用As3 == S3),将所有指令代码存储在启动游戏时运行的.swf中。启动游戏时,将运行名为init()的方法,该方法将加载游戏所需的所有文件,其中包括swf和几个.swz。有一个名为init.swz的文件,该文件可能包含我要记录和编辑的游戏的所有变量,但是我不知道如何打开和编辑它。
在线搜索swz文件扩展名后,我尝试在更多网站建议的程序(adobe flash,flash builder和adobe flex)中打开它,但似乎没有打开该文件。我确实发现游戏确实在解压缩文件之前先将其读取为ByteArray。我通过读取RAM在十六进制编辑器中打开了游戏,它以使我联想起XML的格式显示了内容。
var _loc11_:ByteArray = new ByteArray();
var _loc12_:uint = int(_loc2_.readInt());
var _loc13_:uint = int(_loc2_.readInt());
_loc11_.length = _loc12_;
_loc8_ = 0;
_loc9_ = int(_loc12_);
while(_loc8_ < _loc9_)
{
_loc8_++;
_loc10_ = _loc8_;
_loc14_ = _loc10_ & 7;
_loc15_ = uint(_loc2_.readUnsignedByte());
_loc11_[_loc10_] = _loc15_ ^ _loc4_ & 255;
_loc4_ = uint(_loc4_ << uint(32 - _loc14_)) | uint(_loc4_ >>> _loc14_);
}
_loc11_.uncompress();
鉴于上述信息,是否仍然能够以可读格式进行访问并修改其中的某些内容? (很抱歉格式不正确,我是后继来Stackoverflow的新手)