0

我有一个想要修改字节码的 swf 文件(我正在使用 ActionScript Extractor)。

什么是轻松输出变量的好方法,例如快速完成(在 JS 中)的等效方法

alert(theVariable);

我曾尝试使用 adobe 的跟踪功能,但效果很差,有时似乎根本不起作用。

4

2 回答 2

1

只要它是属性,而不是局部变量,您就可以尝试在SWFWire Debugger中运行 swf 。

您可以通过浏览属性或在对象选项卡中找到该变量,如下所示。

属性和对象

免责声明:我创建了这个项目

于 2013-10-12T08:18:09.723 回答
1

该函数被调用

Alert.show

http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00001965.html

Alert.show(message[, title[, flags[, parent[, clickHandler[, icon[, defaultButton]]]]]])

参数

message要显示的消息。

title警报标题栏中的文本。该参数是可选的;如果你省略它,标题栏是空白的。

flags一个可选参数,指示要在警报窗口中显示的按钮。默认值为 Alert.OK,它显示一个 OK 按钮。当您使用多个值时,请用 | 分隔这些值。特点。使用以下一个或多个值:Alert.OK, Alert.CANCEL, Alert.YES, Alert.NO.

您还可以使用Alert.NONMODAL指示警报窗口是非模态的。非模态窗口允许用户与应用程序中的其他窗口进行交互。

parent警报组件的父窗口。警报窗口以父窗口为中心。使用值 null 或 undefined 来指定 _root 时间线。父窗口必须是 UIComponent 类的子类,可以是作为 UIComponent 子类的另一个 Flash 组件,也可以是作为 UIComponent 子类的自定义窗口(有关更多信息,请参阅 Adob​​e Flash 中的学习 ActionScript 2.0 中的关于继承)。此参数是可选的。

clickHandler单击按钮时广播的单击事件的处理程序。除了标准的单击事件对象属性之外,还有一个附加的详细信息属性,其中包含被单击按钮的标志值(Alert.OK、Alert.CANCEL、Alert.YES、Alert.NO)。此处理程序可以是函数或对象。有关详细信息,请参阅使用 ActionScript 2.0 组件中的使用侦听器处理事件。

icon一个字符串,它是库中符号的链接标识符;此符号用作显示在警报文本左侧的图标。此参数是可选的。

defaultButton指示哪个按钮具有初始焦点并在用户按 Enter (Windows) 或 Return (Macintosh) 时单击。如果用户选择另一个按钮,则在按下 Enter 键时会触发该按钮。

此参数可以是以下值之一:Alert.OK, Alert.CANCEL, Alert.YES, Alert.NO

退货

创建的警报实例。

描述

方法(类);一个类(静态)方法,显示带有消息、可选标题、可选按钮和可选图标的警报窗口。警报的标题出现在窗口的顶部,并且是左对齐的。图标出现在消息文本的左侧。这些按钮位于消息文本和图标下方的中心。

例子

以下代码是带有 OK 按钮的模态警报窗口的简单示例:

mx.controls.Alert.show("Hello, world!");

以下代码定义了一个单击处理程序,该处理程序向“输出”面板发送有关单击了哪个按钮的消息。(您必须在库中有一个 Alert 组件,此代码才能显示警报;要将组件添加到库中,请将其拖到舞台上,然后将其删除):

import mx.controls.Alert;

// Define button actions.
var myClickHandler:Function = function (evt_obj:Object) {
 if (evt_obj.detail == Alert.OK) {
trace(Alert.okLabel);
 } else if (evt_obj.detail == Alert.CANCEL) {
trace(Alert.cancelLabel);
 }
};

// Display dialog box.
var dialog_obj:Object = Alert.show("Test Alert", "Test", Alert.OK | Alert.CANCEL, null, myClickHandler, "testIcon", Alert.OK);
于 2013-10-12T07:34:35.347 回答