Сейчас на форуме: vsv1, johnniewalker, Magister Yoda, Kybyx, r0lka (+5 невидимых)

 eXeL@B —› Крэки, обсуждения —› Экзамен ПДД для мобильных
Посл.ответ Сообщение

Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 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 файл.
Помогите скомпилировать? Подскажите что делать, или лучше выложите готовый файлик пожалуйста.



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 10 марта 2010 17:55
· Личное сообщение · #2

Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 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



Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 11 марта 2010 10:54
· Личное сообщение · #4

Ты меняешь условие на цикл???????
Пройди по ссылка выше и недельку всё внимательно почитай. Тогда у тебя не возникнет вопроса Jucen пишет:
надо поменять на что то другое
.



Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 11 марта 2010 12:07
· Личное сообщение · #5

Выше говорится о том, как в стек кинуть единицу iconst_1. Хоть две недели буду читать, там не описываются условия. Способ защиты другой.
Ещё надумал. Можно не только знак равно на неравно поменять, но и сделать так, чтоб сравнивались две одинаковые величины. Или изменить количество билетов в незареганой версии до 40. Но это всё задумки, реализация хромает.
Где можно почитать про условия в java? Может легче что то в другом месте изменить?



Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 11 марта 2010 12:19
· Личное сообщение · #6

Jucen пишет:
Где можно почитать про условия в java

Хоть три недели, читай внимательно по второй ссылке пройди и увидишь там en.wikibooks.org/wiki/Java_Programming/Byte_Code



Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 11 марта 2010 16:58 · Поправил: Jucen
· Личное сообщение · #7

Понятно. Что могут посоветовать другие форумчане?

аахахах поменял на if_icmpeq 001A, теперь при нажатии на строчку "активация" эта строчка пропадает! Но билетов всё равно пять штук остаётся вот беда блин. Надо ещё что-то где-то искать.
Люди, помогите по ЭТОЙ проге, а не по всей спецификации байт кода?
Эту строчку оставим, пусть пункт меню убирает. Где найти тот кусок кода, который за ограничение на 5 уроков даёт?



Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 11 марта 2010 19:37
· Личное сообщение · #8

Статьи даны не понимаю в чём трабл? Сам ничего не сделал, хоть бы статьи почитал до посинения. В запросы однозначно.



Ранг: 123.0 (ветеран), 10thx
Активность: 0.060
Статус: Участник

Создано: 11 марта 2010 20:45 · Поправил: Ultras
· Личное сообщение · #9

Jucen, пиши кейген и не надо будет джампы менять и искать места с ограничениями. Заодно и опыт получишь неоценимый, в дальнейшем пригодится по-любому

P.S. А вообще стоимость программы составляет 100 руб. Неужели все равно охота поломать

-----
.[ rE! p0w4 ].





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 11 марта 2010 21:39
· Личное сообщение · #10

Jucen пишет:
Экспериментально нашел, что проверка идёт в файле az.java

вот это вообще гениально! Не расскажешь ход своих мыслей?
если бы ты сказал в bw.java я бы больше поверил что ты хоть что-то пытался найти
Ultras пишет:
пиши кейген

+1

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 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



Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 12 марта 2010 12:24
· Личное сообщение · #12

Работает. Закрывай тему и читай многооооо.



Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 12 марта 2010 15:36
· Личное сообщение · #13

Может теперь кто подскажет, как СРАЗУ убрать пункт из меню "активация программы"? Или тут принято на телепатии подсказывать?



Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 13 марта 2010 16:20 · Поправил: mamont
· Личное сообщение · #14

Не работает, так же 5 билетов и строчка не пропадает!



Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 13 марта 2010 23:18
· Личное сообщение · #15

mamont пишет:
Не работает, так же 5 билетов

Не гони.По какой ссылке скачал?

mamont пишет:
строчка не пропадает!

А должна??

Jucen пишет:
убрать пункт из меню

Ищи где происходит инициализция этого меню и киляй её, но придётся повозиться. Пляши от p.class



Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 14 марта 2010 09:04
· Личное сообщение · #16

Я не гоню!Скачал с 11 поста!На счет строчки, Jucen пишет:
аахахах поменял на if_icmpeq 001A, теперь при нажатии на строчку "активация" эта строчка пропадает!




Ранг: 0.1 (гость)
Активность: 0=0
Статус: Участник

Создано: 14 марта 2010 15:33
· Личное сообщение · #17

slil.ru/28792043



Ранг: 0.5 (гость)
Активность: 0=0
Статус: Участник

Создано: 01 июля 2010 03:02
· Личное сообщение · #18

raiser
перезалей пожалуйста на другой обменник

p.s: слил.ру 2й день не открывается у меня



Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 01 июля 2010 04:29
· Личное сообщение · #19

mtb --> dOwNLoaD <--



Ранг: 0.5 (гость)
Активность: 0=0
Статус: Участник

Создано: 01 июля 2010 11:18
· Личное сообщение · #20

спасибо



Ранг: 2.6 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 22 июля 2010 02:20
· Личное сообщение · #21

Добрый день!
тоже маюсь с подобной программулиной с avtodrom.org.ru/
здесь картинки на много лучше (но и вес 3,5мб..)

где можно более детально почитать про ковыряние Java приложений? (статью с этого сайта читал=)



Ранг: 315.1 (мудрец), 631thx
Активность: 0.30.33
Статус: Модератор
CrackLab

Создано: 22 июля 2010 04:08 · Поправил: SReg
· Личное сообщение · #22

karim пишет:
где можно более детально почитать про ковыряние Java приложений?

тут и тут есть немного...



Ранг: 2.6 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 22 июля 2010 09:28 · Поправил: karim
· Личное сообщение · #23

Теперь AvtoExam тоже показывает все 40 билетов
безрезультатно пытался сделать ее PreRegged... сделал как автор топика, убрал проверку при открытии билета.

вопрос к Гуру:
кто нибудь может показать как сделать кейген для ява приложения?

например чтоб вместо сообщения о неправильном серийном номере выводила правильный код

Code:
  1.        
  2.             if(exam.a._acStringZ(m_aca._acString()))
  3.             {
  4.                 int j = java.lang.Integer.parseInt(m_aca._acString());
  5.                 obj = this;
  6.                 exam.f.m_aI = j;
  7.                 ((exam.AvtoExam)((exam.e) (obj))._acMIDlet()).m_statisticcf._aV();
  8.                 exam.a._acDisplaycStringcDisplayableV(_acDisplay(), "Спасибо за покупку!", exam.a.m_acCanvas);
  9.                 return;
  10.             }
  11.             exam.a._acDisplaycStringcDisplayableV(_acDisplay(), "Извините, Вы ввели неправильный номер!", this);
  12.  


правильно ли я понял, что если _acStringZ равна _acString то программа зарегистрирована?

и что под переменной _acStringZ спрятан правильный рег код?


 eXeL@B —› Крэки, обсуждения —› Экзамен ПДД для мобильных
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати