Flash 如何向现有swf文件添加脚本?

Flash 如何向现有swf文件添加脚本?,flash,actionscript,decompiling,recompile,Flash,Actionscript,Decompiling,Recompile,我知道关于这个问题已经讨论了很多。 我不想改变一个值或地址,我可以做这些事情,没有问题。但是我想在SWF文件中的现有代码中添加一些代码 我尝试使用JPEXS Free Flash反编译程序,但无法保存添加到SWF文件中的代码。该软件报告了文件其他行中的荒谬错误,并且没有保存更改:“第779行中应为CURLY\u CLOSE,但找到分号” 还有别的办法吗 我补充说: var tmp_a = 10; JPEx的遭遇: 777 enterFrameDispatcher.addEventListen

我知道关于这个问题已经讨论了很多。 我不想改变一个值或地址,我可以做这些事情,没有问题。但是我想在SWF文件中的现有代码中添加一些代码

我尝试使用JPEXS Free Flash反编译程序,但无法保存添加到SWF文件中的代码。该软件报告了文件其他行中的荒谬错误,并且没有保存更改:“第779行中应为CURLY\u CLOSE,但找到分号” 还有别的办法吗

我补充说:

var tmp_a = 10;
JPEx的遭遇:

 777 enterFrameDispatcher.addEventListener(Event.ENTER_FRAME,function():*
 778      {
 779        testRenderLoop(psurface);
 780      },false,0,true);
它确切地说“testRenderLoop”有一些问题

这是我的建议 . 我正在处理swf中名为VEngine.as的脚本。

尝试添加数据类型(因为变量声明需要它):


让我知道进展如何。我还关心
enterFrameDispatcher…
,但这是以后的事。

SWF是Flash编译的应用程序格式,实际上不应该被修改。或者你的技能和理解(无意冒犯)不足以完成任务。无论如何,据我所知,JPEXS是你最好的选择,其他工具只允许将SWF反向工程到源文件中,然后你需要自己将它们构建到SWF中。也许你是对的。但我不太可能知道我是否做过。在尝试将文件保存到JPEXS中之后,我遇到了一个错误“CURLY_CLOSE expected,但在第779行找到了分号”。这一行与我添加的代码无关。很明显,JPEXS有一些问题。您需要显示您添加的代码行的一些示例。他们可能需要一些你没有导入的API。另外,附加代码的结构是否正确?您的代码中是否缺少
括号?使用按钮向我们显示第775行至第780行的AS3代码,以帮助我们评估错误“
CURLY\u CLOSE expected
…”我添加了代码。有帮助吗!?不幸的是,同样的错误仍然存在。我把swf文件链接放在问题的末尾。如果可能的话,检查一下。ThanksI注意到文件可能被第三方应用程序压缩、优化或混淆,所以我从哪里知道如何处理这些工具?您是否看到
cord.swf
实际工作?它给我显示了一个空白屏幕,所以即使你编辑得很好,也不会有任何(可见的)事情发生。任何简单的编辑都会在JPEXS中导致错误。此外,代码的结构也很糟糕。返回类型为
*
而不是
void
的函数太多。最糟糕的是大量的内嵌函数(为什么要在其他函数中创建新函数,而这些函数本身已经包含在更多其他函数中???编写此代码的人不想让它工作?我不知道压缩/优化。代码显示正常,因此不会混淆。您会得到
\u loc\uu
名称,因为编译器不需要它们的名称,它知道这意味着什么(当应用程序数据在内存中时)。SWF中的问题基本上是第777行之前的一些错误代码,其中有一个丢失的
}
,因此您必须向上滚动以查找该错误。PS:查看您如何认为“一个括号丢失了”?它没有丢失,它位于第780行,结尾为
false,0,true);
。但是这种代码布局很混乱。如果缺少任何东西,现在就需要尝试找到它。基本上,函数看起来像示例
function1{…}
,外部分开
function2{…}
等等,但是开发人员在这里做的是
function1{…function2{…function3{…function4{..function5{..}..}..}..}
因此,将长函数放在其他长函数中会造成调试混乱&没有获得任何好处。注意我缺少的
}
var tmp_a :int = 10;