If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Decompiling....

Is there a way to decompile a program... Nothing big like Windows or Linux but a crack for a program to see how it works.... Im thinking of stydying encryption algorithms...... And IMHO crackers must know a lot about the stuff to make keygens and the such...

Basically... not really. Once you have a program in machine code (I.E.: Executable format) it is near-impossible to re-create it in the original programming language, because it could have been done so many ways in the first place. (Some VB versions were an exception to this, I'm talking generalities here)

So you can't "decompile" code, but you CAN "disassemble" it. This means changing it into ASSEMBLY LANGUAGE, not C++, not Java, not VB, no high-level languages. That's just too complicated. So if you know assembly, you might be able to get an idea of what some simple programs do, but for the more complicated things, forget it, it would take years.

MS-DOS executables with the COM extension can
be unassembled by the DEBUG command.

DEBUG <filename> enter
U enter

this will display the assembly language mnemonics
for the machine language of the program.

studying short simple programs with this method
is one of the best ways to learn what's
really going on inside the computer.

For more sophisticated, high level programming/debugging,
every programming language/system usually
comes with a debugger. They can single step through
a program, but as far as I know, decompiling is an art, not a science.
That is, no program will decompile in a fully automated fashion unless
all debugging symbols are embedded in the prog.

Such symbols aid developers in debugging, but are stripped
out when programs are released on the market.