Symbian programs (.sis) are created in C or C++, which gets then compiled to a native binary file that uses cpu, os and library calls on the target system to work. Given that a compile uses several techniques to enhance performance of the end system, and that every compiler and library used to compile differs, it's impossible to decompile native binary code to other than assembly for the architecture.
Midlets, or J2ME programs, are coded in Java, a reduced version of java designed to fit mobile and small devices. Java is a completely different language to C/C++, and it compiles it's code to a special binary representation that is run by a virtual machine on the device, making calls to the virtual machine basic specs, and standard or self-included Java libraries to work.
So, your only recourse would be to decompile the sis program to assembly. Then spend a few months or years reading it line by line and reverse engineering by hand what each line and section of the decompiled program calls and does.
Then you would have to take your notes of how the program works, and write the program from scratch, line by line, based on the algorithms you've deciphered, in Java.
It would take several months if not years... and that is if it's possible at all, since the API (calls available to the program) in Symbian is much wider and in a sense powerfull than those available to J2me (java), since Symbian is the OS in a device, and you're basically writing programs that work with the OS directly. Java is a program inside the device and you interact with what the manufacturer decided to make available when coding the java engine for their mobile.
There are currently 1 users browsing this thread. (0 members and 1 guests)