comp.lang.ada
 help / color / mirror / Atom feed
From: Mike Young <mikey@mcs.com>
Subject: Re: Ada News Brief - 96-05-24.txt [1/1]
Date: 1996/06/01
Date: 1996-06-01T00:00:00+00:00	[thread overview]
Message-ID: <31B0BD25.188F@mcs.com> (raw)
In-Reply-To: dewar.833629240@schonberg


JBC is *very* easily decompiled. All class member names are directly 
accessible in the class file, as are all classes and symbols referenced 
from that class. These names are exposed to support Java's run-time 
binding; a moment's reflection makes it very clear that this cannnot be 
otherwise. You don't have to take my word on this; the details are in 
the Java Virtual Machine spec, particularly section 2, the class file 
format. It was less than a week's effort to extract use, dependency, and 
structure graphs from Java class files. The only information not 
directly available are local variable names.

Mike.

=============

Robert Dewar wrote:
> 
> I find the claim that JBC is easier to reverse engineer than machine
> code unsupportable from a technical point of view. JBC is just machine
> code for a virtual machine. It is true this is a higher level machine
> code, which makes a difference, but that difference can be in either
> direction. Sometimes the encoding of stuff at a high level can be
> harder to disentangle. For example, access types in an Ada source
> program get translated to Java classes. Is it really true that this
> makes algorithms that at a conceptual level use pointers easier to
> understand by reverse engineering -- I think not.
> 
> At least it is now clear what Richard is concerned with (the mention of
> reverse engineering was not in his original note), but it is also pretty
> clear that this his opinion is borrowed from others rather than based on
> technical analysis, and I suspect that the opinion, as stated in the trade
> press, may also be based on a general theory that interpretors are easier
> to reverse engineer.
> 
> I am unconvinced, though to be fair, you really would have to try doing
> some reverse engineering to be sure. I think what you would find out is
> that some programs are far easier than others to reverse engineer, and
> these fundamental differences (having to do with how involved the
> algorithms are, and how extensively the code is optimized, etc.) will
> be much more significant than any minor difference caused by different
> machine models.
> 
> Finally, it is important to emphasize that this has *nothing at all* to
> do with the Java language, but rather with the specific delivery methods,
> i.e Richard's comments about reverse engineering apply to Ada or any
> other language converted to JBC, and do not apply to Java programs that
> are compiled into hard machine code.

-- 
-----------------------------------------------------------------
Michael Young, Technologist         Phone: (312)587-2329 Ext 3041
Strategic Technology Resources      Fax:   (312)266-9161
Chicago, IL 60610                   mailto:mikey@str.com




  reply	other threads:[~1996-06-01  0:00 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-05-24  0:00 Ada News Brief - 96-05-24.txt [1/1] AdaIC
1996-05-27  0:00 ` Brian Rogoff
1996-05-27  0:00 ` Tucker Taft
1996-05-28  0:00   ` Richard Riehle
1996-05-29  0:00     ` Andreas Zeller
1996-05-30  0:00       ` Robert Dewar
1996-06-01  0:00         ` AdaWorks
1996-06-01  0:00           ` Robert Dewar
1996-06-01  0:00             ` Mike Young [this message]
1996-06-03  0:00               ` Robert Dewar
1996-06-04  0:00             ` Richard Riehle
1996-06-01  0:00         ` AdaWorks
1996-06-01  0:00           ` Robert Dewar
1996-05-30  0:00       ` Java Risks (Was: Ada News Brief - 96-05-24 Richard Riehle
1996-05-31  0:00         ` Brian N. Miller
1996-06-02  0:00           ` Richard Riehle
1996-06-03  0:00           ` Ken Garlington
1996-06-04  0:00             ` Bill Brooks
1996-06-06  0:00               ` Bjarne Stroustrup <9758-26353> 0112760
1996-06-06  0:00                 ` Robert Dewar
1996-05-31  0:00         ` Java Risks (should be Java mis-speak) The Right Reverend Colin James III
1996-06-02  0:00           ` Richard Riehle
1996-06-03  0:00             ` Tucker Taft
     [not found]         ` <4omoh4$k0f@ansible.bbt.com <4ov36b$1665@watnews1.watson.ibm.com>
1996-06-04  0:00           ` Java Risks (Was: Ada News Brief - 96-05-24 Richard Riehle
1996-05-31  0:00 ` Jon S Anthony
1996-06-01  0:00   ` Java Risks David Hopwood
1996-06-02  0:00   ` Java Risks (Was: Ada News Brief - 96-05-24 Richard Riehle
1996-06-01  0:00 ` Bob Crispen
1996-06-05  0:00   ` Alan Brain
1996-06-03  0:00 ` Norman H. Cohen
1996-06-03  0:00   ` Imonics Corporation
1996-06-07  0:00   ` Peter Wentworth
1996-06-05  0:00 ` Norman H. Cohen
1996-06-05  0:00   ` Bill Brennamw
1996-06-08  0:00   ` Brian N. Miller
1996-06-09  0:00 ` Jim Kingdon
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox