PDA

Просмотр полной версии : Избавляемся от Trial'a или взлом программы EasyJack


~!DoK_tOR!~
09.11.2007, 21:01
Избавляемся от 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.

Код:


if( i >= 10){
System.out.println("Trial Over");
m_aImage = _get_ExpiredlogovImage();
m_bZ = true;
m_aZ = false;
} else


Так мне и хотелось поставить 1 != 1 вместо i >= 10 :) но нам это не нужно.
Если изменить данное условие, то мы просто предотвратим вылет окна с формой ввода кода активации.

Нам надо заставим приложение думать, так что мы вообще не отправляли ни одного сообщения .Этот код который идет сразу над тем кодом что приведен выше:

Код:


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):

Код:


application/jar jar
application/jad jad
text/vnd.sun.j2me.app-descriptor .jad
application/java-archive .jar


Всем Удачи !

//-----------------------------------------//

Софт упомянутый выше:

JavaDecompiler (http://oneline.ucoz.ru/JavaDecompilator.zip)
JavaBite (http://java-crack.narod.ru/JavaBite.rar)
WinAce (http://www.winace.net/files/wace265i.exe)
Эмулятор мобильного телефона (http://java.sun.com/products/sjwtoolkit/download-2_2.html)
EasyJackv2 (http://download5.getjar.com/downloads/web/pub/6776/EasyJackv2.jar)