软件标签: Swf 反编译 yogda

swf反编译yogda是针对flash打造的反编译调试程序,主要是为开发人员提供反编译修改功能,超强的的使用功能为程序员们软件开发提供更多的帮助,需要的用户快来绿色资源网下载吧!

Swf反编译编辑器介绍:

反编译调试flash的程序,有了Yogda,开发人员可以修改/优化的adobe flash应用程序编译后的字节码。

说起来修改flash游戏,理论上应该可以找到更好的解决办法——直接去修改二次编译后的代码,那样就可以为所欲为了,咕~~(╯﹏╰)b。有位老大爷说得好,工欲善其事必先利其器!这东东嘎哈的不用说了,这丫的可以直接修改代码……咕~~(╯﹏╰)b挺好挺强大。

Swf反编译编辑器

yogda详细介绍:

Yogda是一个AVM2 bytecode级的swf编辑器。
由著名flash开源3D引擎Yogurt3d的开发者开发,但Yogda是一个商业软件。
使用Yogda可更改/替换swf的tag,并可以直接对swf的doabc做汇编级别的修改(AVM2时代的flasm?),
可以把它看成一个高级一点的"闪客之锤"。
这意味着swf加解密又多了一个方便可靠的工具。

反编译举例说明:

用你选择的反编译器打开导出的SWF,Yogda则依次展开左边的树,来到这里:

Public function _fla:frame1();

看右面(我只是右键复制的):

function 0000 *():
{

    // Max stack    : 5
    // Local count : 1
    // Scope depth : 10
    // Max Scope depth : 11
    // Exception Count : 0
    // Trait Count : 0
    // Code Length   : 65 bytes.

       0 getlocal0
       1 pushscope
       2 getlocal0
       4 pushbyte 60
       6 initproperty _w
       7 getlocal0
       9 pushbyte 60
       11 initproperty _h
       12 getlocal0
       14 getlex graphics
       16 initproperty gr
       17 getlocal0
       19 getproperty gr
       22 callpropvoid clear,0
       23 getlocal0
       25 getproperty gr
       27 pushbyte 1
       29 pushint 1
       32 callpropvoid LINEStyle,2
       33 getlocal0
       35 getproperty gr
       37 pushint 2
       39 pushdouble 1
       42 callpropvoid beginFill,2
       43 getlocal0
       45 getproperty gr
       47 pushbyte 20
       48 dup
       49 getlocal0
       51 getproperty _w
       52 getlocal0
       54 getproperty _h
       57 callpropvoid drawRect,4
       58 getlocal0
       60 getproperty gr
       63 callpropvoid endFill,0
       64 returnvoid
}


看见红的那几行了吧(当然你编辑器上不是红的,看行号,要是没红的,看下面),就是gr.lineStyle(1, 0x999999);反编译的结果了,0x999999呢?除了byte,bool类型,其他的一般都被索引代替了,可以翻看左面的Integers,里面依次有编号,但是编号和这里的编号不对应,应该+1。 不扯远了,再次对比:

gr.lineStyle(1, 0x999999);

就是:

       23 getlocal0
       25 getproperty gr
       27 pushbyte 1
       29 pushint 1
       32 callpropvoid lineStyle,2


注:前面的数字不是行号,是字节号。

翻译一下,注意对照看ABC:

23,其语义应理解为This.

25,Gr.

27,咱就不说堆栈,参数1

29,咱还不说堆栈,参数2

32,调用

前面的俩参数,是给后面调用用的。很明白了吧。所以,我们想把这鬼子丫的改成清晰的黑框子,很易:

双击29那行,修改为pushbyte 1,点OK保存。然后小鼠标轻点工具栏上内保存按钮,重新运行那个new.swf,丫的黑了吧!

很易是不,不过还得说,我们还得用winhex,因为我习惯于WINHEX,直接CTRL+ALT+X查找一串标志性的16进制,然后去编辑——2D 01改为24 01……晕了吧,开个玩笑。

下载地址

远程下载