Сейчас на форуме: vsv1, johnniewalker, Magister Yoda, Kybyx, r0lka (+5 невидимых) |
eXeL@B —› Крэки, обсуждения —› Экзамен ПДД для мобильных |
Посл.ответ | Сообщение |
|
Создано: 10 марта 2010 17:43 · Личное сообщение · #1 Привет. reactivephone.ru/java-app/pdd.php - страничка программы reactivephone.ru/files/pddexam.jar - прямая ссыль на програмку (текущая версия 2.3.3 350кб) Запускаю на компе через эмулятор Sjboy. В оригинальной версии открыты только 5 билетов (всего 40). При запуске есть пункт "активация программы", поле где нужно ввести ключ, ключ состоит из цифр, вводится число, пишет "Неверный ключ, введите ключ повторно!". Вот решил поковырять чтоб такого не было... Простой распаковкой получилось почти 200 файлов .cls и .class. Кроме того в ..\pddexam\org\reactivephone\pddexam есть ещё 28 файлов .class. Воспользовался jd-gui.exe - Java Decompiler - декомпилер. Помогает из .class преобразовать в читаемый код .java, перегнал всю прогу. Экспериментально нашел, что проверка идёт в файле az.java, там снизу такой текст: if (s.jdField_d_of_type_Int == s.jdField_a_of_type_Bd.a()) Как я думаю, нужно логическое равно == поменять на логическое не равно != Теперь в собраной версии можно будет вписать любое число, и активация пройдёт удачно. Но проблема в том, что я не понимаю как исправленный текст перегнать обратно в .class и сделать готовый .jar файл. Помогите скомпилировать? Подскажите что делать, или лучше выложите готовый файлик пожалуйста. |
|
Создано: 10 марта 2010 17:55 · Личное сообщение · #2 |
|
Создано: 11 марта 2010 02:24 · Поправил: Jucen · Личное сообщение · #3 такс.. где то билзко. Было: if (s.jdField_d_of_type_Int == s.jdField_a_of_type_Bd.a()) Стало: while (s.jdField_d_of_type_Int != s.jdField_a_of_type_Bd.a()); При нажатии "Активация программы" эмулятор закрывается. Это я наверное напутался с таким - if_icmpne - надо поменять на что то другое, и у меня нули там в конце оказались, хотя было что то другое. Помогите, уже совсем немного осталось. Чего то не хватает самую малость. 9e79_10.03.2010_CRACKLAB.rU.tgz - скрин22.png |
|
Создано: 11 марта 2010 10:54 · Личное сообщение · #4 |
|
Создано: 11 марта 2010 12:07 · Личное сообщение · #5 Выше говорится о том, как в стек кинуть единицу iconst_1. Хоть две недели буду читать, там не описываются условия. Способ защиты другой. Ещё надумал. Можно не только знак равно на неравно поменять, но и сделать так, чтоб сравнивались две одинаковые величины. Или изменить количество билетов в незареганой версии до 40. Но это всё задумки, реализация хромает. Где можно почитать про условия в java? Может легче что то в другом месте изменить? |
|
Создано: 11 марта 2010 12:19 · Личное сообщение · #6 |
|
Создано: 11 марта 2010 16:58 · Поправил: Jucen · Личное сообщение · #7 Понятно. Что могут посоветовать другие форумчане? аахахах поменял на if_icmpeq 001A, теперь при нажатии на строчку "активация" эта строчка пропадает! Но билетов всё равно пять штук остаётся вот беда блин. Надо ещё что-то где-то искать. Люди, помогите по ЭТОЙ проге, а не по всей спецификации байт кода? Эту строчку оставим, пусть пункт меню убирает. Где найти тот кусок кода, который за ограничение на 5 уроков даёт? |
|
Создано: 11 марта 2010 19:37 · Личное сообщение · #8 |
|
Создано: 11 марта 2010 20:45 · Поправил: Ultras · Личное сообщение · #9 |
|
Создано: 11 марта 2010 21:39 · Личное сообщение · #10 |
|
Создано: 12 марта 2010 01:22 · Личное сообщение · #11 Нет мыслей, одни догадки. Полез (экспериментально) в o.class, там нашел такое: a("Выберите билет"); this.jdField_a_of_type_Int = 0; if (0 != (s.d ^ s.jdField_a_of_type_Bd.a())) this.jdField_c_of_type_Int = 5; else this.jdField_c_of_type_Int = 2147483647; решил что это и есть условие на ограничение. Полез в байт код. Там увидел единственное if_icmpeg 0000004D, поменял на if_icmpne 0000004D. сохранил, запихал раром в jar, запустил экзамен и увидел все 40 билетов. Попробуйте, всё так сделал? slil.ru/28780441 |
|
Создано: 12 марта 2010 12:24 · Личное сообщение · #12 |
|
Создано: 12 марта 2010 15:36 · Личное сообщение · #13 |
|
Создано: 13 марта 2010 16:20 · Поправил: mamont · Личное сообщение · #14 |
|
Создано: 13 марта 2010 23:18 · Личное сообщение · #15 |
|
Создано: 14 марта 2010 09:04 · Личное сообщение · #16 |
|
Создано: 14 марта 2010 15:33 · Личное сообщение · #17 |
|
Создано: 01 июля 2010 03:02 · Личное сообщение · #18 |
|
Создано: 01 июля 2010 04:29 · Личное сообщение · #19 |
|
Создано: 01 июля 2010 11:18 · Личное сообщение · #20 |
|
Создано: 22 июля 2010 02:20 · Личное сообщение · #21 |
|
Создано: 22 июля 2010 04:08 · Поправил: SReg · Личное сообщение · #22 |
|
Создано: 22 июля 2010 09:28 · Поправил: karim · Личное сообщение · #23 Теперь AvtoExam тоже показывает все 40 билетов безрезультатно пытался сделать ее PreRegged... сделал как автор топика, убрал проверку при открытии билета. вопрос к Гуру: кто нибудь может показать как сделать кейген для ява приложения? например чтоб вместо сообщения о неправильном серийном номере выводила правильный код Code:
правильно ли я понял, что если _acStringZ равна _acString то программа зарегистрирована? и что под переменной _acStringZ спрятан правильный рег код? |
eXeL@B —› Крэки, обсуждения —› Экзамен ПДД для мобильных |