On Mon, 21 Jun 1999, Sergio Carvalho wrote:
> I am just trying to state two things:
>
> 1. Java is feasible on the Pilot. The KVM has a smaller footprint than anyone
> would predict. The API doesn't promise portability of PC apps to the Pilot
> (that just isn't possible), but promises portability of Palm apps to the
> PC which is great news.
> 2. Obfuscation puts Java code on the same level with compiled code. You know
> you can disassemble compiled code, don't you? And if you know the
> compiler, you can go from assembly code to C or whatever, as you do with
> java classes.
obfuscation actually renames most "methods" and "attributes".. thus
it does not make sense when you decompile, or when the decompiler
tries to decompile.
there are cases where the obfuscator takes out "unecessary"
instructions for optimization - but the decompiler expects to
see them - hence it fails.. these obfuscators are nice.. not
many of them around tho.
obfuscation "expresions" does not work.
ie:
myVariable = 10 * myOtherVariable + 20;
obfuscated:
a = 10 * b + 20;
just imagine how messy it gets when you have the same function names
twice in a method etc.. but notice what happens here.. only the
variables, and function names are changed.. if these "magic"
numbers (10, 20) dont change.. and they are important.. then there
can be possible loopholes.
i have really investigated this.. otherwise tommorow afternoon in
Stockholm i will look like a fool.. :)) i am giving a presentation
on "security" in set-top boxes.. and obfuscation has its advantages,
and also its disadvantages.. all the topics we discussed here comes
into play.. set-top box = small device.. needs small JVM.. needs
security (web gaming etc).. - numbers are a big factor here.. :)
however.. there is never any easy solution.. :)) awareness is
they key. you can read our paper at my website:
http://www.hig.se/~ardiri
look for EMMSEC '99.. it is about awareness.. not solving the
problem.. encryption is one way to solve it.. (and is easy if
done at the hardware level).
> I agree it is not yet the time to move to Java. But I assure you I'm moving to
> Java as soon as Java 2 ME is out for the Pilot. It satisfies my minimum
> feature-list: It's small, fast enough for non CPU-intensive tasks and covers
> all PalmOS features.
by all means.. Java 2 ME for Pilot.. consider a LodeRunner port :P
(just to compare speeds).. native C vs' Java..
i am sure Java will kick butt.. i know of a lot of positions where
Object Orientation will make the optimization..
i just warn people from diving into Java right now.. one statement
i expressed earlier is the ability to "think about eventually going
to Java".. write some OO'ish C.. C will do for now.. Java is
definately the future..
> If at first you don't succeed, skydiving is not for you
:P
cheers.
az.
--
Aaron Ardiri
Lecturer http://www.hig.se/~ardiri/
University-College i G�vle mailto:[EMAIL PROTECTED]
SE 801 76 G�vle SWEDEN
Tel: +46 26 64 87 38 Fax: +46 26 64 87 88
Mob: +46 70 352 8192 A/H: +46 26 10 16 11