ASKED QUESTIONS AND ANSWERS ON DECOMPILING:
Why should I decompile instead of rewriting a program?
to the programmers who use our decompilers, it's about 10-20
times less expensive and approximately 200 times faster.
That's not an exaggeration. Our standard pricing is based
upon an average size of 1,000 lines of code. For small programs
of 500 lines, we'll discount normally.
What does the new source look like-how close is it to the
With Observable RPG/400, DDS, CLP and COBOL,
the new source is 100% accurate; it's identical to the original
except for internal comments.
Non-observable RPG/400 and CLP, the source is functionally
equivalent. It looks somewhat different because field and
file names haven't been stored in the program object. However,
once the decompiled source is recompiled it runs exactly
the same as the currently running program objects.
How do you know if an object's non-observable?
Do a "DSPPGM" (Display Program) Command.
On the screen you'll see "Observable", and then it will
either say, "*ALL" (meaning it's observable), or "*NONE"
(meaning it's non-observable).
How do you work? Do we send you the objects or do you have
a tool you can send to us?
Both. We provide licensed copies of JGS RPG/400
(works for RPG/36, RPG/38 and RPG/400), JGS DDS (for printer
and display files) and JGS COBOL if the code is observable.
It's easy to load and run the decompilers on your CPU. If
the code is Non-observable RPG or CLP, we decompile the
program objects at our technical facility and send you the
What if we want you to decompile our observable RPG (or DDS
or COBOL) as a service? Will you do that?
Yes, we just charge a little more (normally
20% - 30%).
How much space will the tool take up on my system and is there
a big learning curve?
It only takes up about 7 mgs on your system
and it's very easy to operate. Our easy-to-read User's Manual
is just a few pages long. And if you have any problems or
questions, all you have to do is call our toll-free technical
line for support.
We want to buy, but we really want to see how this works first.
Will you do a demo for us or can we do a test program?
We can do it one of two ways. You can download
a printout of original source compared with our new source
from our website; or you can pay our regular per-program
rate to decompile one or two programs, and as long as you
purchase a license within thirty (30) days, we will credit
the test against the purchase price of your license.
If we need you to decompile
our non-observable objects, how long will it take?
Our normal turnaround for 100 or less programs
is 1-2 weeks. For 100 to 500 programs, about 2-3 weeks. If
you have over 1000 it's 4-6 weeks. It depends on how much
work we have in house at the time, and whether or not your
programs are small and/or how old they are. We can handle
anything going back to CPF8 through V5R2.
you have a website and can your software be downloaded from
the web? What do we need to do and what paperwork do we need
to fill out to get going?
Yes. Our website is www.juggerSoft.com.
You can download the decompilers from our website once you've
purchased and received a User ID and Password. Just complete
an Order Form and either a License Agreement (if you're purchasing
a license) or a Service Agreement (if we're doing the work
at our facility). All of our documents can also be downloaded,
or we'll be glad to mail or fax them to you. Return the documents
to us by fax, email or regular mail, along with your payment
(Payment Options are explained below). If you're sending us
a tape or emailing your programs, we need cleared copies of
all externally referenced files (logical and physical files).
The media we accept is listed on the Order Form.
How do you charge and what are your payment
Two options. We charge by the number of programs
you wish to decompile and by the language. Please call for
pricing and quantity discounts. We require payment in full
with your order, in U.S. dollars, either by check or wire
transfer. All major credit cards are accepted.
So, how exactly does a decompiler work?
AS/400 compilers produce not only executable
code, but also a number of structures and tables which contain
information associating the source member to the executable
program object. An ODT (object definition table) is constructed
containing information (length, type, decimal positions)
about variables and constants. A BOM (break offset mapping)
table is constructed associating a source statement with
an MI instruction number. At that MI instruction number,
a string of MI instructions are performed corresponding
to the original RPG source instruction. A symbol table is
constructed, containing the names of source fields, tables
and arrays. Altogether, the program template contains almost
all of the information from the original source member.
The decompiler, then, has the capacity to generate a new
source member identical to the original, except for internal
comments, for any program object which has not had observability
How long does decompiling take?
benchmarks put the time required to decompile a program
at approximately three times (3x) longer than the time required
to compile the source program. That is, a program which
would take 1 minute to compile would take 3 minutess to