MTB Decompiler


[ Follow Ups ] [ Post Followup ] [ Signature.net Forum ]

Posted by John Gleason on September 12, 2007 at 12:00:22: Uploaded files: 1

I will be releasing a decompiler for MTB-compiled code in the near future. The two files attached to this message show the original source file (SAMPLE01.TXT) and the file resulting from decompiling the object code for SAMPLE01.TXT (SAMPLE01.DCP). The sample source code is for illustrative purposes only (in other words, I haven’t done business application programming in a very long time).

The decompiler will be GPL-licensed freeware.

Jim has requested and I have agreed to hold up the release of the decompiler until software vendors have an opportunity of preventing their code from being decompiled.

In the meantime I welcome anyone to send in code for further demonstrations of the decompiler. Because the decompiler is still being tested I will likely be scrutinizing each object file submitted for decompilation – there may be a few days until the decompiled code is sent back to you.

Please do not send any Comet utilities in for decompilation or any object files to which you are legally obligated not to reverse-engineer (or decompile). Comet utilities are already blocked from being decompiled.

There is no such thing as a 100% perfect decompiler. Jim wisely chose not to store the symbol names (i.e., the variable names in the source code) in the object file. Declared, but unused, variables are impossible to have symbols generated for them in the decompiler. If a numeric variable’s precision is undeterminable, some of the calculations in the code with the variable may be more challenging to understand in the decompiled code – some of these challenges have been eliminated by analyzing the context of the variable. All of these issues are issues that will be further addressed in the decompiler.

The next version of the decompiler is already being developed and will simplify adding meaningful names to the variable names the decompiler generates. Additionally conditional statements will always have any numeric or string literal appearing as the second term.

I welcome any and all questions or comments on the attached samples and the decompiler. Please send them and any MTB-compiled code to be decompiled to decomp1986@yahoo.com.

John Gleason




Follow Ups:



Post a Followup

Name:
E-Mail:

Subject:

What is the name of the main Signature System's Product?

Comments:

Optional Link URL:
Link Title:
Optional Image URL:

You may attach up to 5 files to your followup (see below):






[ Follow Ups ] [ Post Followup ] [ Signature.net Forum ]