Decompilers in Unix for C exes

We have a unix based application which was compiled using some old compiler for C. It has got some exes whose source code is not available with us.
We actually need to make the complete application GNU compiled

For some of the exes whose source code is available with us, it no problem.
But the exes whose source code is not available we are facing issues

Kindly let me know if you have any idea about the decompilers in Unix or can it be ported without decompilation

If such perfect decompilers are available,

then everything on this world is free.

then there wont be any closed group and contrast to open source community as such

Am not sure of this.

Let us what the Heroes are to say!!!

Most decompliers that kind of work are for Windows 16 bit apps.

Assuming old system is Linux:

objdump is a GNU product that produces assembly from an exe (same platform). gcc can compile assembly. The assembly is basically unreadable

http://boomerang.sourceforge.net produces (most of the time) somewhat readable assembler.

You cannot reverse engineer machine code into readable C code, to my knowledge.

As to porting - what was the old platform, what is the new?

It's very hard to go back. A lot of information is lost in going from source code to executable -- ALL preprocessor statements, ALL comments, ALL variable names, some function names, any inline functions... not to mention the dirty tricks a compiler does to optimize things.

Not to mention that if a program is closed-source, they've probably got something in the license agreement that forbids this kind of reverse engineering. I'm not sure it's technically legal to forbid that -- imagine being legally disallowed from mending your pants! -- but the courts are so ignorant about technology in general it hardly matters.