📜 ⬆️ ⬇️

Elves living in a mobile phone



Android flooded everything. Wherever you look, the new super-duper smartphone on Android 2.0, 3.0, 4.0 ... The technology is becoming obsolete before our eyes, Progress is stepping forward and this is good. But there was a time when no one knew about Android, and the phones were worth as much as smartphones are now.

In those days, there were both custom firmware and patches on regular phones, but there were not enough applications - good and different. “But what about Java?” You ask. Yes, there were Java applications. But what can Java? And most importantly, how fast does it work? In general, when everyone was tired of jerked Java with disabilities, he came - ELF .

Elf - This is a unix-format executable file. He allowed to use all the features of the iron phone and all the features of the firmware. In a word, this is a native application that works many times faster than Java. Elves turned a regular phone into a smartphone and gave almost unlimited possibilities.
')
The first mobile platform from where I know of elves appeared was Siemens, then they appeared on SonyEricsson and Motorola. It must be said that just because an elf on the phone cannot be launched - an elf loader needs a special patch that “converts” the format into a regular binary, loads it into memory and launches it. Well, if you want (or rather even have to start an elf) to use ready-made functions of the firmware, then you need a library of functions (function names + addresses). The main problem here is that the addresses of these functions are different for all firmware, but there is a way out - the code of these functions is almost the same and you can search for these same functions by the so-called patterns.

The whole coding of elves for Motorola is quite complicated and at the same time very interesting occupation, which is directly related to the reversal of the firmware code. It adds complexity that applications are implemented on events (i.e., almost everything is asynchronous). Events are queued, event handlers catch them, thus multitasking is implemented. The elves themselves are written in C or C ++, but in most cases you can do without OOP.

What can elves do? Let their capabilities show screenshots (by the way, to create screenshots, you also have your own elf):



Informer - on the left, Infograph - in the middle, DeskUtils - on the right. All these elves are designed to display various information on the desktop: weather, location, SIM card balance, battery charge, signal level, etc.



Audio player eTunes in various "skins". Perhaps one of the largest elves on Moto.



A few more applications from left to right: reader, calculator, additional menu, hex editor.



So where do without games: bomberman, penguin Tux, line, sapper, fool and tetris

Of course, this is not all elves. There is also a jaber, and mail agent, and ICQ, and much more. All elves for Motorola you can find on the forum motofan.ru

UPD: On the motofane remained an archival topic , on which you can learn about how the process of the birth of elves went

PS: If someone has information about how the elves developed on SE and Siemens, and wants to help with the continuation of the article, you can unsubscribe to me in ICQ or BOS

Source: https://habr.com/ru/post/149462/


All Articles