Subject: Re: Diff of executable files
From: [email-masked]

29 Dec 1997 20:39:38 -0800
Message-ID: <[email-masked]>
References: <[email-masked]>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7BIT
To: Jason Alan Nordwick <[email-masked]>,
        Martin Portmann <[email-masked]>, [email-masked],
        [email-masked]
Cc: Martin Portmann <[email-masked]>, [email-masked]

On 25 Dec 97 at 2:58,  Jason Alan Nordwick 
<[email-masked]> wrote:

> There is a fairly good one for being alpha, called Xdelta.
> Look for it at htp://www.xcf.berkeley.edu/~jmacd
> 

Nordwick offers a link to a utility that he created, called Xdelta,
an improvement of diff that will deal better with binary files. 
From what i can read in its site, it is a welcome idea.

However, this is not what this thread discusses:  a diff for
executables.  

That would be a useful tool. For a program that knows the structure 
of an executable file, or a library file would be far useful than a 
binary utility, like cmp, that equals any file format to an 
unstructured sequence of bytes. For instance, it could understand 
that an executable library files have sections; when comparing two 
such files, it would compare between section boundaries with the same 
name.

That could even more useful in ELF's DWARF debugging format, where an 
executable file is marked by tags of several types.

The idea of a diff program specialized in executables can be easily
understood by an analogy: diff, a text utility is line oriented and
doesn't know about the syntax of a program source: for instance, in
the diff versions i have access to the next two programs are
considered different: 

if (max < j) { 
  max = j; 
}

and 

if (max < j)
{
  max = j;
}

In other words, diff doesn't know about the C language syntax.  (Nor
does Nordwick's Xdelta.)  diff is usually very useful, but a syntax
differencer that would know about C syntax would be even more
useful. That way, one could compare two programs independently of its
indentation, comments etc.

> Amazing how COFF is called "new"

What i tried to say is that COFF is newer in a Microsoft context,
and PE is older.

But... hey, don't be picky! :-)

> I have been looking for a C API, but cant find one.  I can only find C++
> level API documentation.  (For the win32 subsystem)

There must be a misunderstood here: Win32 API is a C API; in its
beginnings (circa 1985), Windows API (then Win16) could only be
programmed in C.  If you want a link to Win32 API, it is
"Introduction to the Win32 Application Programming Interface", at
	http://www.microsoft.com/WIN32DEV/APIEXT/INTRO32.HTM

Maybe i'm being "unpolite" when i quote Microsoft's site pages.  
Well, people, i hate Microsoft just like the other guy; i don't use 
Office 97, i prefer TeX etc.  

However, i can't deny that i use Win95 / NT, like everyone else in
this list.  Like everyone else in this list, i'd like to use a better
OS, preferably an Un*x-like one. For professional reasons we 
have to use M$'s Win32. 

But sometimes even M$ can do good things. :-)

I'd like to talk more about this dilemma, but i'll leave this to
other day, other people.  

> 
> jay
> -- 
> Join the FreeBSD Revolution.
> Support the FSF, buy GNU.
> http://xcf.berkeley.edu/
> 
> 

Happy new year, everybody,
++Hilton
-------------------
Hilton Fernandes
email: [email-masked]
www:   http://www.lsi.usp.br/~hilton.html (inactive)
M. Sc. Student of Parallel Distributed Applications
at Escola Politecnica (Polytechic School)
University of S. Paulo - Brazil
-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".