我试图从RABCDasm修补SWF的字节码。这是我的补丁:
findpropstrict QName(PackageNamespace("flash.net"),"URLRequest")
pushstring "http://www.example.com/fake_proxied_post"
constructprop QName(PackageNamespace("flash.net"),"URLRequest"), 1
coerce QName(PackageNamespace("flash.net"),"URLRequest")
setlocal 9
getlocal 9
getlex QName(PackageNamespace("sample.loaderDanmu"),"CModule")
getlocal3
pushbyte 16
callproperty QName(PackageNamespace(""),"readString"), 2
setproperty QName(PackageNamespace(""),"data")
getlocal 9
pushstring "POST"
coerce_a
setproperty QName(PackageNamespace(""),"method")
findpropstrict QName(PackageNamespace("flash.net"),"URLLoader")
constructprop QName(PackageNamespace("flash.net"),"URLLoader"), 0
getlocal 9
callpropvoid QName(PackageNamespace(""),"load"), 1
我收到错误VerifyError #1023 stack overflow occurred
。我的补丁有什么问题吗?原始SWF使用FlasCC,我修补了FlasCC生成的文件。我相信_loc3_
是一个字符串缓冲区。
答案 0 :(得分:0)
最后我开始工作了。我需要加强本地堆栈。
body
- maxstack 3
+ maxstack 4
initscopedepth 0