Re: How safe is intellectual property in compiled binaries?
- From: Richard E Maine <nospam@xxxxxxxxxxxxx>
- Date: Mon, 22 Aug 2005 08:17:42 -0700
In article <1124721143.662762.120860@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
"Random Programmer" <nonexistent2032@xxxxxxxxxxx> wrote:
> I don't really get the unscrambling bit...presumably the process of
> compiling source code into an executable is pre-defined. Hence, as long
> as you have the original "function" and an inverse function exists...
It doesn't.
> I would guess that an inverse function probably exists, because unless
> a compiler destroys information in the compilation process, all the
> information in the source is in the executable, just, as Kevin pointed
> out, scrambled.
You misinterpret Kevin... and some of the most basic fundamentals of
information theory (not to speak of the laws of thermodynamics). The
whole point of Kevin's comment is that scrambling eggs (and compiling
source), does *NOT* maintain the information. Yes, information is
destroyed. And entropy increases.
Information is destroyed in most data transformations. There is a
considerable theory of information processing, including a specific
technical, quantitative definition of the term "information". It takes
quite specific properties to keep information from being destroyed.
Unless you have verified those properties, you can usually assume that
data transformations destroy information. That is as important a part of
the theory of communication as entropy is in the theory of
thermodynamics. Processes that are 100% reversible are quite rare.
This is also quite important in practice when doing things like data
processing and analysis. It isn't just a point of abstract theory. I
quite often have to "beat" on people about the information lost by
"helpful" transformations they have done or are proposing to do to our
flight data. It seems to be one of those perpetual problems that keeps
coming back up unless I keep an active eye on it. People will make
decisions in this area without consulting the users because, of course,
we couldn't possibly object to processing that will "improve" the data.
:-(
> In this case though, the scrambled eggs have a highly specific and
> repeatable pattern...
I suggest reading up on information theory. The conditions for
invertability aren't that complicated.... and the above doesn't target
them very precisely. Heck, you don't even need the information theory.
Plain old simple function theory will do here. The function demonstrably
and trivially has cases where multiple different inputs will produce the
same output. That violates the most trivial condition for function
invertability.
Perhaps the most trivial case involves changing names of things. (I'm
giving a free pass for things like comments and spacing, which are even
more trivial). Yes, some names make their way into some executables as
debugging information. But some names don't (try looking for named
constants in the debugger with many compilers), and debug information
isn't a fundamental part of object code anyway - the whole reason it is
there is that the bare object code doesn't otherwise have the
information. Less trivial things include the many equivalent was to
write the source code for the same loop.
--
Richard Maine | Good judgment comes from experience;
email: my first.last at org.domain | experience comes from bad judgment.
org: nasa, domain: gov | -- Mark Twain
.
- Follow-Ups:
- Re: How safe is intellectual property in compiled binaries?
- From: Random Programmer
- Re: How safe is intellectual property in compiled binaries?
- References:
- How safe is intellectual property in compiled binaries?
- From: Random Programmer
- Re: How safe is intellectual property in compiled binaries?
- From: Jim
- Re: How safe is intellectual property in compiled binaries?
- From: Kevin G. Rhoads
- Re: How safe is intellectual property in compiled binaries?
- From: glen herrmannsfeldt
- Re: How safe is intellectual property in compiled binaries?
- From: Random Programmer
- How safe is intellectual property in compiled binaries?
- Prev by Date: Re: some fortran 77 language question
- Next by Date: Re: Any other freely available compilers?
- Previous by thread: Re: How safe is intellectual property in compiled binaries?
- Next by thread: Re: How safe is intellectual property in compiled binaries?
- Index(es):
Relevant Pages
|
|