JPEXS Free Flash Decompiler Issue Tracker

If you are looking for the decompiler itself, visit https://github.com/jindrapetrik/jpexs-decompiler

: WARNING - support of the decompiler is now VERY LIMITED. There are no active developers. This means waiting times in the issue tracker are very long and mostly depend on community. Sorry for the inconvenience.

List of issuesList of issues

#25 Invalid imports
Date created:
Type: bug
Visibility: Everybody
Assigned to:
Labels: AS3DecompilationGoogle CodeObfuscated
State: closed Help

Again, comparing to Trillix' output: package !] { import =&.*; import `!h.*; import flash.display.*; import flash.events.*; import flash.utils.*; public class >!w extends !].5 { public function >!w() { super(); this.createLogic(); mouseEnabled = false; mouseChildren = false; %"B = this; this.,"3 = =&."X.setInterval(6!R, 10000); =&.0"S.addEventListener(this, flash.events.Event.ADDED_TO_STAGE, this.addedToStage); =&.+Q.2c(=&.<k.2"G, this.?w); return; } asdec decompiles to this, producing much more imports, some of which are invalid (like, import _name5761.void): package _name5762 { import _name5761._name2121; import flash.display.Sprite; import _name5761._name4835; import _name5761._name166; import _name5761.Boolean; import _name5761._name163; import _name5761.stageWidth; import _name5761.int; import _name5761.stageHeight; import _name5761.void; import _name5761.Error; import _name5761._name4837; import _name5761.String; import _name5761._name993; import _name5761._name4838; import _name5761.uint; import _name5761.Object; import _name5761.isError; import _name5763._name95; import _name5763._name2; import flash.events.KeyboardEvent; import _name5761.errorHandler; import _name5761.stage; import flash.events.Event; import _name5763._name445; import flash.events.FullScreenEvent; import _name5763._name444; import flash.display.StageDisplayState; import _name5761._name167; import _name5761.mouseDownHandler; import _name5817._name446; import _name5761.mouseUpHandler; import _name5761.uiItemDownHandler; import _name5761.mouseMoveHandler; import _name5763._name243; import flash.utils.clearInterval; import _name5761.dispose; import _name5761.mouseEnabled; import _name5761.mouseChildren; public class _name24 extends _name155 { public function _name24() { super(); this.createLogic(); mouseEnabled=false; mouseChildren=false; _name4835=this; this._name160=_name243.setInterval(_name4836,10000); _name445.addEventListener(this,Event.ADDED_TO_STAGE,this.addedToStage); _name95._name484(_name444._name4846,this._name162); return; }
admin
Hi, I cannot reproduce this without original file. Could you try it without deobfuscation (rename identifiers)? Are the imports wrong too?
user
You were right, before renaming asdec imports are correct: package !] { import flash.display.Sprite; import =&.+Q; import =&.;!U; import flash.events.KeyboardEvent; import flash.events.Event; import =&.0"S; import flash.events.FullScreenEvent; import =&.<k; import flash.display.StageDisplayState; import `!h. x; import =&."X; import flash.utils.clearInterval; public class >!w extends 5 { public function >!w() { super(); this.createLogic(); mouseEnabled=false; mouseChildren=false; %"B=this; this.,"3="X.setInterval(6!R,10000); 0"S.addEventListener(this,Event.ADDED_TO_STAGE,this.addedToStage); +Q.2c(<k.2"G,this.?w); return; } File is attached, you can try yourself
admin
Hi, ASDec version 1.2.0 is out so please check it, identifier renaming should be better. I also changed generated names - instead of "name_xx" you will get string made of random characters. (I think it looks better than bunch of name + number variables)
user
hey I guess it would be nicer to have something like this: int int01; string string01; int int02 etc
user
State: →closed
Title: Invalid imports→Invalid imports
Type: →bug
Visibility: →Everybody