[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RE: Decompiler?




 
> Date: Sun, 21 Feb 2010 07:28:01 -0500
> From: zlinuxman@wowway.com
> To: debian-user@lists.debian.org
> Subject: Re: Decompiler?
>
> On Sun, 21 Feb 2010 05:06:21 -0500 (EST), Hadi Motamedi wrote:
> >
> > Dear All
> >
> > I have disassembled the object file on my Debian server , by the following :
> >
> > #objdump wmain
> >
> > In the output , I have recognized the intended subroutine that I need to
> > find the exact command syntax that it sends out. To this end, I asked
> > you guys on how to capture it through 'tcpdump' but didn't success. I
> > read this segment assembly language code but it is somewhat difficult to
> > decode. Can you please let me know what Debian decompiler is suitable for
> > this case? I tried with 'decompyle' but it didn't get through.
>
> First, let me make sure I understand what yo u are asking. You have some
> binary object code and you want to transform it back into the C source
> code that it came from. Is that right? Or did I misunderstand you?
>
> If that is what you want, then I doubt that it is possible. I've never
> heard of a decompiler. I have heard of a disassembler, but even they
> have their limitations. I myself have done extensive work as a programmer
> on a disassembler for the s390 platform. It happens to be the disassembler
> resident in the TRACK for z/VM freeware program. So I am speaking from
> experience here. Even a disassembler is a guess. Here are some things that
> you lose, even in a disassembler:
>
> 1. All comments.
> 2. The names of all variables
> 3. The distinction between code and data
>
> For example, if I encounter the hex string '41101004' that could be a
>
> LA 1,4(,1)
>
> instruction. But it might not be an instruction. It might be data. It
> might be
>
> DC F'1091571716'
>
> Or maybe it's a floating point number in traditional s390 hexadecimal
> floating point format. Or maybe it's part of an escape sequence of codes
> to be sent to a printer. You can never be sure. All these uncertainties
> are present in a disassembler. In assembly language, there is pretty much
> a one-to-one correspondence between assembler instructions and machine
> instructions. But in a high-level language, that is not so. A single
> statement in source code may generate a long sequence of machine instructions.
> How do you know where one statement ends and another begins?
>
> In short, I doubt if it is possible. Even if you do find something that
> purports to be a decompiler, its output will almost certainly not match
> the original input. Compilation is a one-way process.
>
> ;
>
> --
> To UNSUBSCRIBE, email to debian-user-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> Archive: http://lists.debian.org/1425884921.13942331266755281555.JavaMail.root@md01.wow.synacor.com
>
 
Thank you for your reply . Actually my Debian server is running an application program that sends commands toward an attached network element . The commands deal with 'profile read' , 'profile modify' , and 'profile delete' issues . On the application gui , there is an option to try for 'profile replace' that I cannot find the related command . As there is a need to try for this 'profile replace' in batch file , so I need to find the exact command syntax for this purpose . I tried to capture it through tracing with 'tcpdump' but it was un-successful . So I dis-assembled the code and I was lucky to find the related subroutine . It is short in length but I cannot decode it to find the logic in behind . So I need to find a de-compiler to de-compile it to some sort of higher level languages to see if I can understand the login behind . Please give me a hint on how to accomplish this .

 


Hotmail: Trusted email with Microsoft’s powerful SPAM protection. Sign up now.

Reply to: