找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 15|回复: 0

Swf反编译编辑器

[复制链接]

32万

主题

0

回帖

96万

积分

超级版主

积分
964681
发表于 2025-3-14 10:55:12 | 显示全部楼层 |阅读模式
软件标签:  swf   反编译   yogda
swf反编译yogda是针对flash打造的反编译调试程序,主要是为开发人员提供反编译修改功能,超强的的使用功能为程序员们软件开发提供更多的帮助,需要的用户快来绿色资源网下载吧!
swf反编译编辑器介绍:
反编译调试flash的程序,有了yogda,开发人员可以修改/优化的adobe flash应用程序编译后的字节码。

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



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? getlocal01? pushscope2? getlocal04? pushbyte 606? initproperty _w7? getlocal09? pushbyte 6011? initproperty _h12? getlocal014? getlex graphics16? initproperty gr17? getlocal019? getproperty gr22? callpropvoid clear,023? getlocal025? getproperty gr27? pushbyte 129? pushint 132? callpropvoid linestyle,233? getlocal035? getproperty gr37? pushint 239? pushdouble 142? callpropvoid beginfill,243? getlocal045? getproperty gr47? pushbyte 2048? dup49? getlocal051? getproperty _w52? g
etlocal054? getproperty _h57? callpropvoid drawrect,458? getlocal060? getproperty gr63? callpropvoid endfill,064? returnvoid}
看见红的那几行了吧(当然你编辑器上不是红的,看行号,要是没红的,看下面),就是gr.linestyle(1, 0x999999);反编译的结果了,0x999999呢?除了byte,bool类型,其他的一般都被索引代替了,可以翻看左面的integers,里面依次有编号,但是编号和这里的编号不对应,应该+1。 不扯远了,再次对比:

gr.linestyle(1, 0x999999);

就是:

23? getlocal025? getproperty gr27? pushbyte 129? pushint 132? 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……晕了吧,开个玩笑。


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|ziyuan80.com

GMT+8, 2025-8-14 19:21 , Processed in 0.073749 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表