Избавляемся от Trial'a или взлом программы EasyJack [ INTRO ] Насколько мне известно Trial ограничения находятся внутри самого софта. Это рода счетчики/датчики количества дней использования программы. На моём рабочем столе находится программа EasyJack триальность программы заключается в ограничении 10 сообщений. После отправки 10 сообщений высветится окно, предлагающее ввести код программы. [ Инструменты ] 1. EasyJackv2.jar - сама прога. 2. Эмулятор мобильного телефона (не обязательно, но если вы конечно уверены что всё сделали правильно). 3. JavaDecompilator (или любой другой декомпилятор). 4. JavaBite . [ Поехали ] Распаковываем EasyJackv2.jar WinAce'ом или 7ZIP в папку EasyJackv2 и еще раз распакуем в папку EasyJackv2_original. Запускаем Java Decompiler > File -> Open Folder выбираем папку EasyJackv2 > и жмём F9.Покидаем Java Decompiler. Далее в папке EasyJackv2 появились исходники что_то_там .java При отправке сообщения в приложении EasyJack есть сверху бегущая строка, в которой говорится об ограничении на 10 сообщений. Поищем число в что_то_там.java. Код: Code: if( i >= 10){ System.out.println("Trial Over"); m_aImage = _get_ExpiredlogovImage(); m_bZ = true; m_aZ = false; } else Так мне и хотелось поставить 1 != 1 вместо i >= 10 но нам это не нужно. Если изменить данное условие, то мы просто предотвратим вылет окна с формой ввода кода активации. Нам надо заставим приложение думать, так что мы вообще не отправляли ни одного сообщения .Этот код который идет сразу над тем кодом что приведен выше: Код: Code: if(ab._aStringZ(s, s1)){ m_aImage = _get_LogovImage(); System.out.println("Registered Version"); m_bZ = false; m_aZ = true; } Если условие в выражении if(ab._aStringZ(s, s1)) является (true), то наша программа считается зарегистрированной. Посмотрим в каком методе класса EasyJackv2.java находится интересующий нас фрагмент кода. Т.к. конструктор является инициализатором, то открываем JavaBite и идём далее ... Открываем JavaBite > Classes -> Add Java Class и указываем наш класс EasyJackv2midp/EasyJackv2.class только тот, который лежит в папке EasyJackv2_original. Раскрываем колонку(Methods). Интересующий нас код находится в конструкторе, который является инициализатором. Значит в методах класса в JavaBite открываем метод <init>. Находим строку Registered Version. Кому лень анализировать - строка номер 00CD. Там увидите следующее lcd_w #0116 что в нашем случае означает System.out.println() (lcd - system , _w - вывод (write)). Мы поподем в точку нашего условия if (...), а для тех, кто (в танке) переходим на строку 00BF там мы видим ife 000000E0 - здесь ife = IF Equals, а 000000Е0 - № строки. В строке 00Е0 мы видим iload 6, это подгрузка переменной/константы которая нас не интересует. Искомая строка 00BF. В строке 00BF происходит сравнение ife (IF Equals), если какая-то переменная равна какому-то значению, то результат выражения ife будет true. Далее, нам нужно чтобы программа считалось зарегистрированной. Изменяем условие IFE (IF Equals) на IFNE (IF Not Equals) => на строку 00BF, двойной клик на ife, в открывшемся окне выбираем в секции Instruction значение ifne. В секции Parameters двойной клик на BRANCH_OFFSET и выбираем Branch to line: 00E0 - iload.Дальше JavaBite > Classes > Save Class или <Ctrl+S>. Нам только осталось упаковать все файлы обратно в jar-архив. А потом уже закачать на свою мобилу. Запускаем WinAce выделяем в папке все файлы и каталоги тоже естественно . Тип архива JavaSoft-Jar и нажимаем ок. Могут возникнуть проблемы с установкой через и-нет, проверьте чтобы в настройках вашего сервера были прописаны майм типы (MIME Types): Код: Code: application/jar jar application/jad jad text/vnd.sun.j2me.app-descriptor .jad application/java-archive .jar Всем Удачи ! //-----------------------------------------// Софт упомянутый выше: JavaDecompiler JavaBite WinAce Эмулятор мобильного телефона EasyJackv2