(keitai-l) Re: i-mode class files and emulators

From: Harry Behrens <Harry_at_Behrens.com>
Date: 01/29/01
Message-ID: <004a01c089e7$4c4058b0$0400a8c0@winter2000>
Dear Rolf,

> -----Original Message-----
> From: rolf van widenfelt [mailto:rolf@pizzicato.com]
> Sent: Monday, January 29, 2001 4:44 PM
> To: Harry Behrens
> Subject: Re: i-mode class files and emulators
>
>
>
> i think i get it now!  thanks.
>
> so, in some sense, the interface, even though it is public, has some
> internals (namely, the byte codes) that are not public.
>

Correct:
The interface is public, the implementation (which is stored as byte code)
is not.
The keitai itself does contain the implementation (the byte code) of
com.nttdocomo.ui.IApplication.start() and other functions/methods.

> if i understand this...
> since the keitai itself has some ROM that contains the
> implementation of
> com.nttdocomo.ui.IApplication.start() and other functions, it must be
> the few byte codes needed to call each of these functions
> that is secret.
> (not the byte codes that implement the functions, since that's in ROM)
>

Not correct:
What is secret, is the actual byte code (the implementation) not the call.
In fact you - as the midlet developer - write the calls into your i-appli,
for instance by invoking com.nttdocomo.ui.IApplication.start() -> wrong
assumption above.
When you compile your application, which is calling the proprietary
(com.nttdocomo.*) methods, only the calls (as opposed to the byte codes) to
the com.nttdocomo.* are compiled.
HOWEVER (and this is important) the Java compiler annotates this information
with (among other things) information about the classpath for these classes.
The classloader in the browser (running in your keitai) is configured to use
only the internal byte codes for ntt.docomo.* and will therefore (probably)
generate a security exception when your midlet refers to com.nttdocomo.*
classes on your web server.

The above explanation assumes a 'correct' implementation of the KVM and for
lack of access to the actual class files (which is where the whole
discussion started) has not been verified in practice.

> i wonder if you can "decompile" some working midlets to get
> this information?
>

That is actually a good idea and would be quite possible if you could point
your PC to an officially registered i-appli site. This too should not be
possible. If however you do manage to find an i-appli site that is
accessible from outside the walled garden I would be very interested to
know.



	Harry Behrens



[ Did you check the archives?   http://www.appelsiini.net/keitai-l/ ]
Received on Mon Jan 29 13:25:03 2001