Re: Disassembler



Pete Dashwood wrote:
"CG" <carl.gehr.RemoveThis@xxxxxxxxxxxxxxxxxxxxx> wrote in message news:4ba4a$44013727$453db2dd$15883@xxxxxxxxxxx
Alistair wrote:
Reading in comp.lang.asm370 I came across the following item which may
be of some interest:

<QUOTE>

On Fri, 10 Feb 2006 13:54:57 -0500, Gilbert Saint-Flour wrote:
<usenet5...@xxxxxxxxx> wrote:
I found this page by accident a moment ago:
http://patents.nimblewisdom.com/patent/5946484-Method-of-recovering-source-code-from-object-code
It's a patent issued in 1999 by the USPTO for a disassembler, which
wasn't a
new concept back then (I've written my first disassembler in 1982).

The problem is that the language of patents is so arcane that it's
difficult
to spot the original elements of this patent, or if there's any
originality
in it at all. Hopefully, one of you will dig something up.


It appears to be more than just a dissassembler, based on the generated

assembly code it looks for known patterns charateristic of the IBM
Cobol
compiler and attempts to symthesize the Cobol source, as nearly as I
can
tell in 5 minutes. But this has been done for many years, I am not
sure
what is novel here.

</QUOTE>

Perhaps there will soon be an answer to the perennial "Where can I find
a cobol disassembler?"

This is not your typical disassembler. ["DisASSEMBLER" is probably a misleading term.] If you look carefully, you will see that the patent owner is Source Recovery Company. They turn executable code into _COBOL_source_. That's a simplified description. They also will use your variable names in the generated source if you provide record definitions.

Why would you need to disassemble something you have the source to? If you have the source fo the record definitions it is reasonable to suppose you have the source of the programs...? Am I missing something here?


Unfortunately, what you are missing is the real world! During our work with Y2K we found many, many sites that had production applications with no source code to go with the program. Because we looked at the executable code an not the source code as our first point of interest, our users could then match the executables with the source. When they did not have the match, then the panic set in and we referred them to Source Recovery.

From the production JCL, they could identify the files used and therefore, likely had a record layout. Even if they did not have a current, formal COPY book, it was usually not too difficult to create one.

BTW, this technology does not require the file layouts. My point was, IF you have the layout, the recovery technique would use your name. No COPY book, it just made up names as it did for the rest of the data items in the program.

Another reason for needing this technology is when we discovered multiple executables with the same name, but different compile dates and/or different sizes, but only one source program. When you have different sizes it is highly unlikely that you will have a single source program. When we find this situation in our normal course of assessing an inventory, it is important to know which executable the source matches and then to determine the differences in the program logic for the other executable(s). Can it be done with pure executables? Yes. Can it be done with Assembler equivalents? Sure. Is it easier to match COBOL to COBOL? Absolutely!

As I said... 'Reality' is what you missed.

Carl
.



Relevant Pages

  • Re: Disassembler
    ... new concept back then (I've written my first disassembler in 1982). ... to spot the original elements of this patent, ... compiler and attempts to symthesize the Cobol source, ... users could then match the executables with the source. ...
    (comp.lang.cobol)
  • Re: w32dasm
    ... > Skybuck Flying wrote: ... >> Since this modifieing of executables is pretty complex/new stuff for me ... Get the disassembler IDA Pro. ... Disassembling is not the problem;) Modifieing is the problem:D ...
    (alt.comp.lang.borland-delphi)
  • Re: elfdump beta test
    ... I can easily use ndisasm or my favorite disassembler ... > ndisasm probably doesn't know about ELF executables, ... No, but if I know the format of the Linux ELF file, I can disassemble ...
    (alt.lang.asm)
  • Re: A Disassembly Problem for Rene to Consider
    ... Or better yet, a "high-level disassembler?" ... It will accept as input .com files, MZ executables, PE ... uses two clicks to disassemble and reassemble the code isn't ... a *syntactically* correct file that RosAsm can assemble ...
    (alt.lang.asm)
  • Re: Disassembler
    ... new concept back then (I've written my first disassembler in 1982). ... to spot the original elements of this patent, ... compiler and attempts to symthesize the Cobol source, ... I have no direct involvement or interest in them. ...
    (comp.lang.cobol)