Giter Club home page Giter Club logo

swfwire's People

Contributors

dmitriyyukhanov avatar magicalhobo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

swfwire's Issues

Namespaces are not decompiled

Namespaces references use the URI instead of global variable name.

this.http://www.adobe.com/2006/flex/mx/internal.topLevel = false;

Should be:

this::mx_internal.topLevel = false;

for .. in loops are not decompiled

This source code:

    var obj:Object = {};
    for(var iter:String in obj)
    {
        trace(iter);
    }

Decompiles into:

    forin(local3.hasNext())
    {
        local1 = String(nextname(undefined, undefined));
        trace();
    }

debugger hangs

just after the start of a air swf debug session. very unstable. fps down to 1 and ui freezed.

Interfaces are declared as classes

Interfaces should be declared with the interface keyword, methods should not have bodies, and there should be no constructor.

public interface ITest {}

Decompiles into:

public class ITest
{
    public function ITest() {}
}

"with" statements are not decompiled

    var obj:Object = {a: 'test'};
    with(obj)
    {
        trace(a);
    }

becomes

    var obj:Object = {'a': 'test'};
    var local1 = obj;
        //UNKNOWN OP: [object Instruction_pushwith]
    trace(a);

Test

This is a test.

Error #2030 encountered while parsing SWF

When I attempt to open this file in inspector 2.21, I get the following output:

Done loading.
Parsing 3240370 bytes...
Uncaught Error.
Error: Error #36

At the bottom of the window, it says:

Parsing SWF: 19%

hide properties button.

SWF Wire feature request:

create a configurable file with list of classes, that describe witch properties should be hidden, and it what order they should appear if shown.

Requirements:

  • every project has its own list of hidden proprieties.
  • this list is persistent. (stored in xml file in same place as swf file?)
  • every property gets a hide/unhide button.
  • every property gets a thumb to drag it up/down. (or arrows to put them up/down.)
  • swfWire get check-box - show/hide hidden files.

try...catch...finally not implemented

try/catch statements are displayed inline

    try
    {
        throw new Error('fail');
    }
    catch(e:Error)
    {
        trace('catch: '+e);
    }
    finally
    {
    trace('finally');
    }

Decompiles into:

    throw new Error("fail");
    trace("finally");

Debugger write error on large SWF files

I'd love to use the SWFWire Debugger to find objects that do not (but should) get garbage collected. But our rather large application fails with an error. Mac OS X 10.6. Here's the console:

Injection loaded
Attempting to load: file://localhost/private/tmp/game.swf
Loading: file://localhost/private/tmp/game.swf
Reading swf took: 829ms
Modifying swf took: 1423ms
Writing swf took: 3107ms
Writing to: /Applications/SWFWire Debugger.app/Contents/Resources/file:/localhost/private/tmp/game.swf.recompiled.0.swf
Error writing file to: file://localhost/private/tmp/game.swf.recompiled.0.swf

Everyone has read & write permissions in the tmp folder.

When I use an HTTP URL via localhost apache, I get the same thing, but the last line of the Console is:

Error writing file to: app-storage:/localhost-path-game.swf.recompiled.0.swf

Actionscript error

VerifyError: Error #1014: Class flash.system::Worker could not be found.

at SWFWireInspector/completeHandler()[/Users/crazy/flash/source/SWFWire/SWFWireInspector/src/classes/SWFWireInspector.mxml:248]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()

Constructor should not be typed

This code:

public class SWFCorpse extends Sprite
{
    public function SWFCorpse() {}
}

decompiles into:

public class SWFCorpse extends Sprite
{
    public function SWFCorpse():* {}
}

implements code not generated

This code:

public class SWFCorpse extends Sprite implements IEmpty

decompiles into:

public class SWFCorpse extends Sprite

document how SWFWire must be run

After cloning there is not hint about where/what the program entry point is.
Using a command-line based GNU/Linux distribution, what are the step the run the program?
And how compatible is it with gnash/lightspark/swfdec/...?

MovieClips nesting is broken after Read-Write

Hi!
Please, take a look at this files:
http://www.sendspace.com/file/jkwixe

gui.swf is an original file and gui_ren.swf is a file after this: http://pastebin.com/UudmEZYY
And this is a screenshot from ASV (decompiler): http://j.mp/PbFRnm
Left - original, right - re-saved.
As you can see, the re-saved file have a broken MovieClips nesting (and a much more items in the library at all).
E.g. Symbol 6 MovieClip is placed on the root, but originally it was inside the Symbol 7 MovieClip {bu1copy4}, etc.

Move com.swfwire.decompiler.* from SWFWireInspector to SWFWireDecompiler

Is there any reason the ABC bytecode to ActionScript generation code is in SWFWireInspector? Could it be moved SWFWireInspector to SWFWireDecompiler?

I made a small command line Air application that takes a SWF file as input and dumps all the classes as .as files in the current directory. (It's fairly slow, but works.). Almost all of the needed classes were in SWFWireDecompiler.swc and SWFWireUtils.swc, but I had to copy the com.swfwire.decompiler.* files from SWFWireInspector into my project. It would be nice to include them in the SWFWireDecompiler.swc library.

Q: Is it possible to edit some text inside swf file?

I'm trying to use the library to edit text inside an SWF file. The reason is that I want to do some kind of parser inside that SWF.

I am able to get content of the unknown tags. But they are in binary! Which makes modifying them just damage the file.

Help is much appreciated.

Local variables are not declared.

The type of local variables should be detected, then the declared at the first usage. Coercion should be removed when setting the variable.

local0 = Number(0);

Should be:
var local0:Number = 0;

Invalid identifiers should be changed

The SWF can contain package, class, and variable names like "%$^#". These should be rewritten to alphanumeric versions, or replaced with random words.

Imports are not created

Unambiguous package references should be turned into imports.

private var _moduleFactory:mx.core.IFlexModuleFactory;

Should be:

import mx.core.IFlexModuleFactory;
private var _moduleFactor:IFlexModuleFactory;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.