Original application files lost

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Original application files lost

Tom McNeer
Hi,

I won't go into the gory details, but despite backups and version control
systems, the source files for a very important application were trashed.
The files are not recoverable from version control.

After much work with file recovery tools, most of the original files were
restored. But many of them are versions that are several generations back
in terms of revisions.

Obviously, this is a bit of a disaster.

I have attempted to decompile the current application with the tools from
SoThink and Trellix. In both cases, the decompiler crashed, using both
Windows and Mac versions of both applications. Trellix development has
reproduced the problem and say they will out it on a bug list.

Which doesn't help much right now, obviously.

I have also attempted decompiling the application with the open source
JPEXS Free Flash Compiler. This appeared to work, in that nothing crashed
and I was able to export lots of files.

These files - even if they're correct - are all ActionScript, I assume the
intermediate AS files that the compiler creates as it works.

I have created an ActionScript project from those files and attempted
compilation. But evidently the relationships of the classes are somehow
lost. The compiler appears to only look at the file which represents the
core of the original Flex application file, and errors out immediately.

Thus, short of trying to reproduce lots of code, with lots of logic, from
documentation and the running application, I don't know what to try next.

Obviously, any advice would be greatly appreciated.

--
Thanks,

Tom

Tom McNeer
MediumCool
http://www.mediumcool.com
1735 Johnson Road NE
Atlanta, GA 30306
404.589.0560
Reply | Threaded
Open this post in threaded view
|

RE: Original application files lost

Alex Harui
I assume this was a Flex app with MXML files?


BTW, I don't think the de-compilers will resurrect local variable names.


I would suggest starting from both ends and working towards the middle.  If you use the -keep-generated-actionscript option in the MXMLC compiler, it should create a folder called "generated" in the output folder.  Comparing that to what the decompiler found for those same files might help you figure out what modifications need to go into whatever versions of the source you currently have.


HTH,

-Alex


________________________________
From: [hidden email] <[hidden email]> on behalf of Tom McNeer <[hidden email]>
Sent: Wednesday, February 19, 2014 7:55 AM
To: [hidden email]
Subject: [flexcoders] Original application files lost



Hi,

I won't go into the gory details, but despite backups and version control systems, the source files for a very important application were trashed. The files are not recoverable from version control.

After much work with file recovery tools, most of the original files were restored. But many of them are versions that are several generations back in terms of revisions.

Obviously, this is a bit of a disaster.

I have attempted to decompile the current application with the tools from SoThink and Trellix. In both cases, the decompiler crashed, using both Windows and Mac versions of both applications. Trellix development has reproduced the problem and say they will out it on a bug list.

Which doesn't help much right now, obviously.

I have also attempted decompiling the application with the open source JPEXS Free Flash Compiler. This appeared to work, in that nothing crashed and I was able to export lots of files.

These files - even if they're correct - are all ActionScript, I assume the intermediate AS files that the compiler creates as it works.

I have created an ActionScript project from those files and attempted compilation. But evidently the relationships of the classes are somehow lost. The compiler appears to only look at the file which represents the core of the original Flex application file, and errors out immediately.

Thus, short of trying to reproduce lots of code, with lots of logic, from documentation and the running application, I don't know what to try next.

Obviously, any advice would be greatly appreciated.

--
Thanks,

Tom

Tom McNeer
MediumCool
http://www.mediumcool.com<http://www.mediumcool.com/>
1735 Johnson Road NE
Atlanta, GA 30306
404.589.0560


Reply | Threaded
Open this post in threaded view
|

Re: Original application files lost

Barry Gold
On 2/19/2014 10:59 AM, Alex Harui wrote:
> I would suggest starting from both ends and working towards the middle.
> If you use the -keep-generated-actionscript option in the MXMLC
> compiler, it should create a folder called "generated" in the output
> folder. Comparing that to what the decompiler found for those same files
> might help you figure out what modifications need to go into whatever
> versions of the source you currently have.

How do you turn on  -keep-generated-actionscript using ant?  I think
that would help me a lot in debugging my output -- once I get it to
compile, that is.
Reply | Threaded
Open this post in threaded view
|

Re: Original application files lost

Tom McNeer
In reply to this post by Alex Harui
Hi Alex,

Yes, it was a fairly standard, though large, Flex 3.6 application. Some of
the decompilers seem able to resurrect .mxml files (but not mine, clearly);
I understand there's a problem with local variable names.

I never kept the generated actionscript files because (obviously
incorrectly) I thought my version control and backup routines were solid.
So there's nothing there to compare. And if there had been, they'd be gone,
too, unless I had placed them somewhere completely different.

So unless there's a way to resurrect the project from the current .as files
produced the the JPEXS Free Flash Compiler, a better working decompiler is
my only hope short of rebuilding things from docs and observation.


On Wed, Feb 19, 2014 at 1:59 PM, Alex Harui <[hidden email]> wrote:

>
>
>  I assume this was a Flex app with MXML files?
>
>
>  BTW, I don't think the de-compilers will resurrect local variable names.
>
>
>  I would suggest starting from both ends and working towards the middle.
>  If you use the -keep-generated-actionscript option in the MXMLC compiler,
> it should create a folder called "generated" in the output folder.
>  Comparing that to what the decompiler found for those same files might
> help you figure out what modifications need to go into whatever versions of
> the source you currently have.
>
>
>  HTH,
>
> -Alex
>
>
>  ------------------------------
> *From:* [hidden email] <[hidden email]> on behalf
> of Tom McNeer <[hidden email]>
> *Sent:* Wednesday, February 19, 2014 7:55 AM
> *To:* [hidden email]
> *Subject:* [flexcoders] Original application files lost
>
>
>
> Hi,
>
>  I won't go into the gory details, but despite backups and version
> control systems, the source files for a very important application were
> trashed. The files are not recoverable from version control.
>
>  After much work with file recovery tools, most of the original files
> were restored. But many of them are versions that are several generations
> back in terms of revisions.
>
>  Obviously, this is a bit of a disaster.
>
>  I have attempted to decompile the current application with the tools
> from SoThink and Trellix. In both cases, the decompiler crashed, using both
> Windows and Mac versions of both applications. Trellix development has
> reproduced the problem and say they will out it on a bug list.
>
>  Which doesn't help much right now, obviously.
>
> I have also attempted decompiling the application with the open source
> JPEXS Free Flash Compiler. This appeared to work, in that nothing crashed
> and I was able to export lots of files.
>
>  These files - even if they're correct - are all ActionScript, I assume
> the intermediate AS files that the compiler creates as it works.
>
>  I have created an ActionScript project from those files and attempted
> compilation. But evidently the relationships of the classes are somehow
> lost. The compiler appears to only look at the file which represents the
> core of the original Flex application file, and errors out immediately.
>
>  Thus, short of trying to reproduce lots of code, with lots of logic,
> from documentation and the running application, I don't know what to try
> next.
>
>  Obviously, any advice would be greatly appreciated.
>
>  --
> Thanks,
>
> Tom
>
> Tom McNeer
> MediumCool
> http://www.mediumcool.com
> 1735 Johnson Road NE
> Atlanta, GA 30306
> 404.589.0560
>
>    
>



--
Thanks,

Tom

Tom McNeer
MediumCool
http://www.mediumcool.com
1735 Johnson Road NE
Atlanta, GA 30306
404.589.0560
Reply | Threaded
Open this post in threaded view
|

Re: Original application files lost

Alex Harui
In reply to this post by Barry Gold
Check the doc.  There is either a keep=true flag or you can add

{code}
<arg line="-keep-generated-actionscript" />
{code}

From: Barry Gold <[hidden email]<mailto:[hidden email]>>
Reply-To: "[hidden email]<mailto:[hidden email]>" <[hidden email]<mailto:[hidden email]>>
Date: Wednesday, February 19, 2014 11:55 AM
To: "[hidden email]<mailto:[hidden email]>" <[hidden email]<mailto:[hidden email]>>
Subject: Re: [flexcoders] Original application files lost



On 2/19/2014 10:59 AM, Alex Harui wrote:
> I would suggest starting from both ends and working towards the middle.
> If you use the -keep-generated-actionscript option in the MXMLC
> compiler, it should create a folder called "generated" in the output
> folder. Comparing that to what the decompiler found for those same files
> might help you figure out what modifications need to go into whatever
> versions of the source you currently have.

How do you turn on -keep-generated-actionscript using ant? I think
that would help me a lot in debugging my output -- once I get it to
compile, that is.


Reply | Threaded
Open this post in threaded view
|

Re: Original application files lost

Alex Harui
In reply to this post by Tom McNeer
It is painful but theoretically possible to reconstruct MXML from the generated AS.

It is also possible to get MXMLC to build a SWF from the generated AS, but there are some downstream issues:  If you ever change this code and it requires changes to generated code like CSS, the compiler will not do the right thing.  Therefore it is best to try to get back to MXML.

In your original post, you said that file recovery tools found older versions of files.  I'm suggesting running these older files through MXMLC with -keep–generated-actionscript and comparing the results with what the decompiler saw in the final version.  The differences should show you what you need to modify in the older versions to bring them up to current.

HTH,
-Alex

From: Tom McNeer <[hidden email]<mailto:[hidden email]>>
Reply-To: "[hidden email]<mailto:[hidden email]>" <[hidden email]<mailto:[hidden email]>>
Date: Wednesday, February 19, 2014 1:24 PM
To: "[hidden email]<mailto:[hidden email]>" <[hidden email]<mailto:[hidden email]>>
Subject: Re: [flexcoders] Original application files lost



Hi Alex,

Yes, it was a fairly standard, though large, Flex 3.6 application. Some of the decompilers seem able to resurrect .mxml files (but not mine, clearly); I understand there's a problem with local variable names.

I never kept the generated actionscript files because (obviously incorrectly) I thought my version control and backup routines were solid. So there's nothing there to compare. And if there had been, they'd be gone, too, unless I had placed them somewhere completely different.

So unless there's a way to resurrect the project from the current .as files produced the the JPEXS Free Flash Compiler, a better working decompiler is my only hope short of rebuilding things from docs and observation.


On Wed, Feb 19, 2014 at 1:59 PM, Alex Harui <[hidden email]<mailto:[hidden email]>> wrote:


I assume this was a Flex app with MXML files?


BTW, I don't think the de-compilers will resurrect local variable names.


I would suggest starting from both ends and working towards the middle.  If you use the -keep-generated-actionscript option in the MXMLC compiler, it should create a folder called "generated" in the output folder.  Comparing that to what the decompiler found for those same files might help you figure out what modifications need to go into whatever versions of the source you currently have.


HTH,

-Alex


________________________________
From:[hidden email]<mailto:[hidden email]> <[hidden email]<mailto:[hidden email]>> on behalf of Tom McNeer <[hidden email]<mailto:[hidden email]>>
Sent: Wednesday, February 19, 2014 7:55 AM
To: [hidden email]<mailto:[hidden email]>
Subject: [flexcoders] Original application files lost



Hi,

I won't go into the gory details, but despite backups and version control systems, the source files for a very important application were trashed. The files are not recoverable from version control.

After much work with file recovery tools, most of the original files were restored. But many of them are versions that are several generations back in terms of revisions.

Obviously, this is a bit of a disaster.

I have attempted to decompile the current application with the tools from SoThink and Trellix. In both cases, the decompiler crashed, using both Windows and Mac versions of both applications. Trellix development has reproduced the problem and say they will out it on a bug list.

Which doesn't help much right now, obviously.

I have also attempted decompiling the application with the open source JPEXS Free Flash Compiler. This appeared to work, in that nothing crashed and I was able to export lots of files.

These files - even if they're correct - are all ActionScript, I assume the intermediate AS files that the compiler creates as it works.

I have created an ActionScript project from those files and attempted compilation. But evidently the relationships of the classes are somehow lost. The compiler appears to only look at the file which represents the core of the original Flex application file, and errors out immediately.

Thus, short of trying to reproduce lots of code, with lots of logic, from documentation and the running application, I don't know what to try next.

Obviously, any advice would be greatly appreciated.

--
Thanks,

Tom

Tom McNeer
MediumCool
http://www.mediumcool.com<http://www.mediumcool.com/>
1735 Johnson Road NE
Atlanta, GA 30306
404.589.0560<tel:404.589.0560>



--
Thanks,

Tom

Tom McNeer
MediumCool
http://www.mediumcool.com
1735 Johnson Road NE
Atlanta, GA 30306
404.589.0560


Reply | Threaded
Open this post in threaded view
|

Re: Original application files lost

Tom McNeer
Hi Alex,

Yes, I think you're right. Not a pretty process, but most likely the best
bet. Thanks for the suggestion.


On Wed, Feb 19, 2014 at 6:47 PM, Alex Harui <[hidden email]> wrote:

>
>
> It is painful but theoretically possible to reconstruct MXML from the
> generated AS.
>
>  It is also possible to get MXMLC to build a SWF from the generated AS,
> but there are some downstream issues:  If you ever change this code and it
> requires changes to generated code like CSS, the compiler will not do the
> right thing.  Therefore it is best to try to get back to MXML.
>
>  In your original post, you said that file recovery tools found older
> versions of files.  I'm suggesting running these older files through MXMLC
> with -keep-generated-actionscript and comparing the results with what the
> decompiler saw in the final version.  The differences should show you what
> you need to modify in the older versions to bring them up to current.
>
>  HTH,
> -Alex
>
>   From: Tom McNeer <[hidden email]>
> Reply-To: "[hidden email]" <[hidden email]>
> Date: Wednesday, February 19, 2014 1:24 PM
> To: "[hidden email]" <[hidden email]>
> Subject: Re: [flexcoders] Original application files lost
>
>
>
> Hi Alex,
>
>  Yes, it was a fairly standard, though large, Flex 3.6 application. Some
> of the decompilers seem able to resurrect .mxml files (but not mine,
> clearly); I understand there's a problem with local variable names.
>
>  I never kept the generated actionscript files because (obviously
> incorrectly) I thought my version control and backup routines were solid.
> So there's nothing there to compare. And if there had been, they'd be gone,
> too, unless I had placed them somewhere completely different.
>
>  So unless there's a way to resurrect the project from the current .as
> files produced the the JPEXS Free Flash Compiler, a better working
> decompiler is my only hope short of rebuilding things from docs and
> observation.
>
>
> On Wed, Feb 19, 2014 at 1:59 PM, Alex Harui <[hidden email]> wrote:
>
>>
>>
>>  I assume this was a Flex app with MXML files?
>>
>>
>>  BTW, I don't think the de-compilers will resurrect local variable names.
>>
>>
>>  I would suggest starting from both ends and working towards the middle.
>>  If you use the -keep-generated-actionscript option in the MXMLC compiler,
>> it should create a folder called "generated" in the output folder.
>>  Comparing that to what the decompiler found for those same files might
>> help you figure out what modifications need to go into whatever versions of
>> the source you currently have.
>>
>>
>>  HTH,
>>
>> -Alex
>>
>>
>>  ------------------------------
>> *From:*[hidden email] <[hidden email]> on behalf
>> of Tom McNeer <[hidden email]>
>> *Sent:* Wednesday, February 19, 2014 7:55 AM
>> *To:* [hidden email]
>> *Subject:* [flexcoders] Original application files lost
>>
>>
>>
>> Hi,
>>
>>  I won't go into the gory details, but despite backups and version
>> control systems, the source files for a very important application were
>> trashed. The files are not recoverable from version control.
>>
>>  After much work with file recovery tools, most of the original files
>> were restored. But many of them are versions that are several generations
>> back in terms of revisions.
>>
>>  Obviously, this is a bit of a disaster.
>>
>>  I have attempted to decompile the current application with the tools
>> from SoThink and Trellix. In both cases, the decompiler crashed, using both
>> Windows and Mac versions of both applications. Trellix development has
>> reproduced the problem and say they will out it on a bug list.
>>
>>  Which doesn't help much right now, obviously.
>>
>> I have also attempted decompiling the application with the open source
>> JPEXS Free Flash Compiler. This appeared to work, in that nothing crashed
>> and I was able to export lots of files.
>>
>>  These files - even if they're correct - are all ActionScript, I assume
>> the intermediate AS files that the compiler creates as it works.
>>
>>  I have created an ActionScript project from those files and attempted
>> compilation. But evidently the relationships of the classes are somehow
>> lost. The compiler appears to only look at the file which represents the
>> core of the original Flex application file, and errors out immediately.
>>
>>  Thus, short of trying to reproduce lots of code, with lots of logic,
>> from documentation and the running application, I don't know what to try
>> next.
>>
>>  Obviously, any advice would be greatly appreciated.
>>
>>  --
>> Thanks,
>>
>> Tom
>>
>> Tom McNeer
>> MediumCool
>> http://www.mediumcool.com
>> 1735 Johnson Road NE
>> Atlanta, GA 30306
>> 404.589.0560
>>
>>
>
>
>  --
> Thanks,
>
> Tom
>
> Tom McNeer
> MediumCool
> http://www.mediumcool.com
> 1735 Johnson Road NE
> Atlanta, GA 30306
> 404.589.0560
>
>    
>



--
Thanks,

Tom

Tom McNeer
MediumCool
http://www.mediumcool.com
1735 Johnson Road NE
Atlanta, GA 30306
404.589.0560