kay_man Признанный телефонист В миру: Антон Откуда: Россия, Ульяновск С нами с: 26.10.2003 Плодовитость: 892
Рейтинг
Подано 125 (110/15) голосов
|
Пишем на J2ME. Руководство новичкам. Меняем код Java под себя.
|
Под лозунгом "Даёшь больше мидлетов интерестных и нужных!" создаю эту тему для привлечения народа к программированию на J2ME.
На 27.09.04 все ссылки (кроме WTK) работают!
SOFT
Для начала необходимо скачать J2SDK. Весит это добро 50 метров.
j2sdk-1_4_2_05-windows-i586-p.exe
Потом поверх него ставим Siemens Mobility Toolkit - разработка приложений под Siemens.
smtk_2_00_3b.exe, 12.2 Мбайт
На данный момент самая простая среда разработки J2ME приложений это Sun ONE Studio 4 ME. Весит 23 метра.
ffj_me_win32.exe
Более продвинутый IDE под win32 - Eclipse. Качаем здесь (82 метра). Этот проект OpenSource, также есть версии и под *nix ситемы. Оффсайт http://www.eclipse.org
Наконец Вам потребуется эмулятор телефона. Эмуляторы под телефоны ниже 60-й серии можно найти на сайте клуба - http://archive.siemens-club.smpda.com/soft-emul.php
Прямая ссылка на эмулятор CX65 14.2 Мбайт
Оффсайт http://communication-market.siemens.de
Замечу, что последний J2ME Wireless Toolkit 2.2 beta содержит библиотеки для разаботки 3D Java приложений + поддержка операций с плавающей точкой (т.е. поддержка MIDP2.0). Скачать можно здесь. Весит 16 метров.
ДОКУМЕНТАЦИЯ
Первая программа под J2ME
Статья из Хакера №60 "Твоё первое приложение для мобилы"
Статья из Хакера №52 "Взлом Java-апплетов" (подойдёт и для мидлетов)
Остальные доки по J2ME.
Part 1 899 kb
Part 2 444 kb
Картузов А.В. Программирование на языке JAVA
Thinking in Java, 2nd edition, Revision 11 ©2000 by Bruce Eckel
Также читайте доки, идущие с SMTK:
smtkdocindex.html
И смотрите сорсы:
smtksrc
ВЗЛОМ JAVA
Скомпилированное Java классы можно легко декомпилировать в Java-код. Для этого существуют соответствующие программы.
Последнюю версию DJ Java Decompiler можно взять здесь. Эта версия бесплатная.
Также есть платная программа NMI's Java Code Viewer. 6.0a - последняя версия. Скачать можно здесь или здесь. Keygen ищем здесь.
Переделка игр на заданные соотношения экрана
Кустарный способ, которым пользуюсь я:
Распаковываем *.jar, декомпилируем все классы, находящиеся там, и ищем строчки, отвечающие за соотношения экрана.
Наиболее просто поступает Siemens:
[code]public int getHeight()
{
return 130;
}[/code]
Т.е. тут видно, что стандартная процедура getHeight заменяется на подставную.
Тут возаращается значение Int, значит в WinHEX надо искать строчку 04 11 00 82, где 04 - возвращение значения процедуры, 11 - это тип данных Int, а всё остальное - само значение. Встречаются также тип byte, который записывается как 10 54, где 10 - тип byte, а 54 - число 84 в HEX. Присваивание можно определить по байту 2A (хотя могу и ошибаться, поправьте если что). Т.е. если мы ищем строчку
[code]B_int_fld = 130;[/code]
то нам в WinHEX придётся искать 2A110082 и заменить значение 0x82 (130) на нужное. Таким же образом, если нам недо найти присвоение byte, то надо искать 2A10xx.
Рассмотренный пример предельно прост, так как в других играх встречаются совершенно дикие заточки под определённый экран. Такое ощущение, что программистов не учили пользоваться константами.
В идеале нужно перекомпилировать все классы со всеми изменениями, но при декомпиляции код становится практически нечитабельным и приходится исправлять кучу ошибок.
P.S. Кто знает другие значения байт - делитесь |
____________________________
bfcWorx_v0.28- в помощь копателям BFC.
Железо на x65, Хотите писать на J2ME? (также учимся ломать J2ME под себя)
Дрова для DCA-51x (PL-2303), DCA-540, схема DCA-540 |
|