[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Byte-swapping at load time
- From: Kein-Hong Man <mkh@...>
- Date: Fri, 06 Jan 2006 12:32:32 +0800
Hi all,
Lisa Parratt wrote:
Kein-Hong Man wrote:
After reading all the suggestions in the previous e-mails, I don't see
why bytecode need to be sent instead of the source code. Lua bytecode
doesn't offer any significant size, performance
Others have pointed out the benefits of not invoking the parser.
[In danger of extending this thread for too long and rehashing
known knowns... sorry :-)]
I should clarify my above statement; I was mainly responding to
Mike Henderson's e-mail on his app and talking about non-embedded
apps in general. Of course, some applications will have a valid
need to use bytecode. For Mac universal binaries with common
binary chunk data, obviously byte-swapping will be needed. With
known data sizes, perhaps bswap or lwbrx can even speed things up
a bit. But when there is no critical benefit, IMHO the use of
bytecode should be a last resort thing. Thus, vanilla Lua should
not encourage it.
or security advantage over source code.
I'd have thought encrypted source would be significantly easier to crack
than encrypted byte codes.
Answered by Mike Pall. I find that many x86 stripped binary chunks
are a bit smaller than the equivalent source code, but the source
code is usually more compressible (for x86 binary chunks,
floating-point numbers in its binary format somewhat inflates data
entropy.) Source code with all the non-essentials stripped out can
be quite small. Alternately, many zero-valued bytes can be
squeezed out of a binary chunk if one modifies the dump/undump
format of 32-bit ints and size_ts.
One might be using encryption for anything from a mild irritation
to a reverse-engineering deterrent to rock-solid security. The
last should not be susceptible to an attack based on known data
patterns. Both Lua source code and Lua binary chunks have known
data patterns. Thus, in making encryption strength independent of
data patterns, it follows that you end up with a flat playing
field -- neither format wins. Besides, when one deems it necessary
to seriously encrypt stuff, I think customizing Lua wouldn't be
much of a cost issue at all.
--
Cheers,
Kein-Hong Man (esq.)
Kuala Lumpur, Malaysia