我通过jpexs更改了某网页游戏的swf,然后用fiddler替换swf,达到了无限次进入副本的效果.
所以很自信的去改其它副本的swf,结果只能改本地数据。
为什么?是有bug才能修改成功吗?
ps:是不是因为这个比较简单,对比发现其它副本的overide protected function有点复杂
override protected function reallyShow() : void
{
ProgressFullSprite.show();
this.getInfo();
}
以下为成功修改的副本
private function initBtn() : void
{
this._btnOneKeyGet.visible = false;
var _loc1_:int = 0;
while(_loc1_ < this._btnArr.length)
{
if(this._select == -1)
{
SimpleUtils.setButtonEnable(this._btnArr[_loc1_],false,null,"请先选择一个神殿",true);
}
else if(this._leftTimes <= -9999)
{
SimpleUtils.setButtonEnable(this._btnArr[_loc1_],false,null,"挑战次数不足",true);
}
else if(int(UserInfo.isEvo) * 100 + UserInfo.level < LEVEL_LIMIT[_loc1_])
{
SimpleUtils.setButtonEnable(this._btnArr[_loc1_],false,null,"你还未达到挑战等级",true);
}
else
{
SimpleUtils.setButtonEnable(this._btnArr[_loc1_],true);
this._btnOneKeyGet.visible = UserInfo.level >= 70;
}
_loc1_++;
}
}
对应的p-code为:
rait method Qname(PrivateNamespace(null,"4"),"initBtn")
dispid 0
method
name null
returns Qname(PackageNamespace(""),"void")
body
maxstack 6
localcount 2
initscopedepth 11
maxscopedepth 12
code
getlocal_0
pushscope
getlocal_0
getproperty Qname(PrivateNamespace(null,"4"),"_btnOneKeyGet")
pushfalse
setproperty Qname(PackageNamespace(""),"visible")
pushbyte 0
setlocal_1
jump ofs00af
ofs0010:label
getlocal_0
getproperty Qname(PrivateNamespace(null,"4"),"_select")
pushbyte -1
ifne ofs0032
getlex Qname(PackageNamespace("mmo.play.utils"),"SimpleUtils")
getlocal_0
getproperty Qname(PrivateNamespace(null,"4"),"_btnArr")
getlocal_1
getproperty MultinameL([PrivateNamespace(null,"4"),PackageNamespace(""),PrivateNamespace(null,"13"),PackageNamespace("mmo.festival.ext14.superelementtemple"),PackageInternalNs("mmo.festival.ext14.superelementtemple"),Namespace("http://adobe.com/AS3/2006/builtin"),ProtectedNamespace("mmo.festival.ext14.superelementtemple:SuperElementTemplePanel"),StaticProtectedNs("mmo.festival.ext14.superelementtemple:SuperElementTemplePanel"),StaticProtectedNs("mmo.play.panel:CommonPanelBase"),StaticProtectedNs("flash.display:MovieClip"),StaticProtectedNs("flash.display:Sprite"),StaticProtectedNs("flash.display:DisplayObjectContainer"),StaticProtectedNs("flash.display:InteractiveObject"),StaticProtectedNs("flash.display:DisplayObject"),StaticProtectedNs("flash.events:EventDispatcher")])
pushfalse
pushnull
pushstring "请先选择一个神殿"
pushtrue
callpropvoid Qname(PackageNamespace(""),"setButtonEnable") 5
jump ofs00ad
ofs0032:getlocal_0
getproperty Qname(PrivateNamespace(null,"4"),"_leftTimes")
pushshort -9999
ifnle ofs0057
getlex Qname(PackageNamespace("mmo.play.utils"),"SimpleUtils")
getlocal_0
getproperty Qname(PrivateNamespace(null,"4"),"_btnArr")
getlocal_1
getproperty MultinameL([PrivateNamespace(null,"4"),PackageNamespace(""),PrivateNamespace(null,"13"),PackageNamespace("mmo.festival.ext14.superelementtemple"),PackageInternalNs("mmo.festival.ext14.superelementtemple"),Namespace("http://adobe.com/AS3/2006/builtin"),ProtectedNamespace("mmo.festival.ext14.superelementtemple:SuperElementTemplePanel"),StaticProtectedNs("mmo.festival.ext14.superelementtemple:SuperElementTemplePanel"),StaticProtectedNs("mmo.play.panel:CommonPanelBase"),StaticProtectedNs("flash.display:MovieClip"),StaticProtectedNs("flash.display:Sprite"),StaticProtectedNs("flash.display:DisplayObjectContainer"),StaticProtectedNs("flash.display:InteractiveObject"),StaticProtectedNs("flash.display:DisplayObject"),StaticProtectedNs("flash.events:EventDispatcher")])
pushfalse
pushnull
pushstring "挑战次数不足"
pushtrue
callpropvoid Qname(PackageNamespace(""),"setButtonEnable") 5
jump ofs00ad
ofs0057:findpropstrict Qname(PackageNamespace(""),"int")
getlex Qname(PackageNamespace("mmo.common.user"),"UserInfo")
getproperty Qname(PackageNamespace(""),"isEvo")
callproperty Qname(PackageNamespace(""),"int") 1
pushbyte 100
multiply
getlex Qname(PackageNamespace("mmo.common.user"),"UserInfo")
getproperty Qname(PackageNamespace(""),"level")
add
getlex Qname(PrivateNamespace(null,"4"),"LEVEL_LIMIT")
getlocal_1
getproperty MultinameL([PrivateNamespace(null,"4"),PackageNamespace(""),PrivateNamespace(null,"13"),PackageNamespace("mmo.festival.ext14.superelementtemple"),PackageInternalNs("mmo.festival.ext14.superelementtemple"),Namespace("http://adobe.com/AS3/2006/builtin"),ProtectedNamespace("mmo.festival.ext14.superelementtemple:SuperElementTemplePanel"),StaticProtectedNs("mmo.festival.ext14.superelementtemple:SuperElementTemplePanel"),StaticProtectedNs("mmo.play.panel:CommonPanelBase"),StaticProtectedNs("flash.display:MovieClip"),StaticProtectedNs("flash.display:Sprite"),StaticProtectedNs("flash.display:DisplayObjectContainer"),StaticProtectedNs("flash.display:InteractiveObject"),StaticProtectedNs("flash.display:DisplayObject"),StaticProtectedNs("flash.events:EventDispatcher")])
ifnlt ofs008f
getlex Qname(PackageNamespace("mmo.play.utils"),"SimpleUtils")
getlocal_0
getproperty Qname(PrivateNamespace(null,"4"),"_btnArr")
getlocal_1
getproperty MultinameL([PrivateNamespace(null,"4"),PackageNamespace(""),PrivateNamespace(null,"13"),PackageNamespace("mmo.festival.ext14.superelementtemple"),PackageInternalNs("mmo.festival.ext14.superelementtemple"),Namespace("http://adobe.com/AS3/2006/builtin"),ProtectedNamespace("mmo.festival.ext14.superelementtemple:SuperElementTemplePanel"),StaticProtectedNs("mmo.festival.ext14.superelementtemple:SuperElementTemplePanel"),StaticProtectedNs("mmo.play.panel:CommonPanelBase"),StaticProtectedNs("flash.display:MovieClip"),StaticProtectedNs("flash.display:Sprite"),StaticProtectedNs("flash.display:DisplayObjectContainer"),StaticProtectedNs("flash.display:InteractiveObject"),StaticProtectedNs("flash.display:DisplayObject"),StaticProtectedNs("flash.events:EventDispatcher")])
pushfalse
pushnull
pushstring "你还未达到挑战等级"
pushtrue
callpropvoid Qname(PackageNamespace(""),"setButtonEnable") 5
jump ofs00ad
ofs008f:getlex Qname(PackageNamespace("mmo.play.utils"),"SimpleUtils")
getlocal_0
getproperty Qname(PrivateNamespace(null,"4"),"_btnArr")
getlocal_1
getproperty MultinameL([PrivateNamespace(null,"4"),PackageNamespace(""),PrivateNamespace(null,"13"),PackageNamespace("mmo.festival.ext14.superelementtemple"),PackageInternalNs("mmo.festival.ext14.superelementtemple"),Namespace("http://adobe.com/AS3/2006/builtin"),ProtectedNamespace("mmo.festival.ext14.superelementtemple:SuperElementTemplePanel"),StaticProtectedNs("mmo.festival.ext14.superelementtemple:SuperElementTemplePanel"),StaticProtectedNs("mmo.play.panel:CommonPanelBase"),StaticProtectedNs("flash.display:MovieClip"),StaticProtectedNs("flash.display:Sprite"),StaticProtectedNs("flash.display:DisplayObjectContainer"),StaticProtectedNs("flash.display:InteractiveObject"),StaticProtectedNs("flash.display:DisplayObject"),StaticProtectedNs("flash.events:EventDispatcher")])
pushtrue
callpropvoid Qname(PackageNamespace(""),"setButtonEnable") 2
getlocal_0
getproperty Qname(PrivateNamespace(null,"4"),"_btnOneKeyGet")
getlex Qname(PackageNamespace("mmo.common.user"),"UserInfo")
getproperty Qname(PackageNamespace(""),"level")
pushbyte 70
greaterequals
setproperty Qname(PackageNamespace(""),"visible")
ofs00ad:inclocal_i 1
ofs00af:getlocal_1
getlocal_0
getproperty Qname(PrivateNamespace(null,"4"),"_btnArr")
getproperty Qname(PackageNamespace(""),"length")
iflt ofs0010
returnvoid
end ; code
end ; body
end ; method
end ; trait