我正在尝试从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_
是一个字符串缓冲区。
终于我
让它工作了。我需要对本地堆栈进行加密。
body
- maxstack 3
+ maxstack 4
initscopedepth 0