![]() |
eXeL@B —› Вопросы новичков —› Разбор Java-проги для мобилы |
Посл.ответ | Сообщение |
|
Создано: 17 августа 2013 07:05 · Личное сообщение · #1 Всем здравствуйте. Решил сделать оффлайн-версию Яндекс-карт, чтобы в инет не ползала вообще и не жрала мобильный трафик. По умолчанию прога при запуске лезет и проверяет версию, да и если случайно нажать клавишу масштаба, начинает качать в кэш недостающие карты с серверов. Потребовалось отучить ее от соединения вообще. Открыл архиватором 7z. Нашел в файле ab.class URL серверов, удалил. Но это решение костыльное, прога все равно жалуется что не удалось проверить подключение и вверху экрана горит красная мессага "оффлайн". Нашел процедуры, если не ошибаюсь, они в bp.class. Но дальше что делать, не знаю, ни отладчика, ни знаний по java нет. Удаление процедуры вело к зависанию проги при загрузке. Ковырял декомпилятором, редактировал JavaBite Подскажите, как мне ее вырубить, может быть, ничего удалять и не надо, сменить только условие где-нибудь... ![]() ![]() |
|
Создано: 17 августа 2013 16:20 · Личное сообщение · #2 Gerpes В классе et: public final void run() { CI_007a var1 = CI_007a.MP3a(); switch(this.fpa) { case 1: var1.mPe(); break; case 2: cz.MP1a().mPl(); break; case 3: cz.MP1a().mPm(); break; case 4: if("Оффлайн" == dm.FP2a.mPa("Оффлайн режим", "Не удалось установить соединение с сетью. Повторить попытку подключения еще раз или перейти в оффлайн-режим?", "Повторить", "Оффлайн")) { YandexMapsMidlet.MP2b(); } break; case 5: Отсюда поди плясать надо? ----- SaNX ![]() |
|
Создано: 17 августа 2013 19:38 · Личное сообщение · #3 Не знаю уже, я уже торможу. Много мелких файлов и кодировка которую не понимает ни декомпиль ни блокнот, меня с толку сбивает, Штирлицем каждый файл открывать то еще удовольствие. Чем вы открыли что у вас Юникод корректно отображается? А то я подозреваю что часть кириллицы проморгал. ![]() Пропатчил какой-то байт, сменил aload_0 на aload_1 ![]() ![]() |
|
Создано: 17 августа 2013 21:09 · Личное сообщение · #4 aload_0 - это загрузка 0 локальной переменной в стек. Обычно это this. Таки интересно, что такое лежало в 1, что оно даже работает ![]() ![]() |
|
Создано: 17 августа 2013 22:31 · Личное сообщение · #5 |
|
Создано: 17 августа 2013 22:35 · Личное сообщение · #6 |
|
Создано: 17 августа 2013 22:56 · Поправил: Gerpes · Личное сообщение · #7 Сам не знаю ![]() Не могу найти в патчере где , вырубить осталось последнее, все эти строки можно удалять и ничего быть не должно( по аналогии с предыдущим патчем ![]() public final void a(byte byte0, String s) { if(b_byte_fld >= byte0) return; if(c_fh_fld != null) d(c_fh_fld); b_byte_fld = byte0; bd bd1 = new bd(); switch(byte0) { case 4: // '\004' bd1.p = 0xff0000; bd1.o = 0xffffff; if(s.length() == 0) s = "Оффлайн"; break; case 2: // '\002' bd1.p = bd.c; if(s.length() == 0) s = "Проверка версии"; break; case 1: // '\001' case 3: // '\003' bd1.p = bd.b; if(s.length() == 0) s = "Загрузка"; break; default: return; sendersu Эт да, сам веселюсь, потому что не понимаю в этом ни черта. sendersu пишет: сделайте деобфускацию чтоль для начала... не умею, первый раз .jar трясу BoRoV Так то в Украине, видимо у вас не жадные. И потом немного сэкономить батарею хочу, помимо трафика. ![]() |
|
Создано: 17 августа 2013 23:30 · Поправил: SaNX · Личное сообщение · #8 Gerpes качни dex2jar, там в наборе есть батники. алго таков: d2j-init-deobf.bat yandexmaps-midp2full-18x18.jar d2j-jar-remap.bat yandexmaps-midp2full-18x18.jar -c yandexmaps-midp2full-18x18-deobf-init.txt java -jar fernflower.jar yandexmaps-midp2full-18x18-remap.jar src получишь сорцы. ссылки на обе тулзы есть в теме про взлом на андроид. ----- SaNX ![]() |
|
Создано: 18 августа 2013 00:44 · Поправил: Gerpes · Личное сообщение · #9 SaNX Спасибо, разобрал. Получил папку с названием src, в ней те же файлы, только с расширением .java, и добавились кучка CI_xxx.java. Стало гораздо удобнее смотреть, но вот например. Нужный мне сz.java расковырял, удалил кой-че в нем, а собирать его в class чем? тем более в нем вначале написано public final class cz extends fh implements cq, CI_018u // CI_018u.java-это такой файл появился и в нем немного но что-то есть. Или черт с ним с файлом, и так .class соберет? Чуть не забыл. Чем компилировать? Ну просто может кроме полной среды разработки есть что-нибудь поменьше, навроде декомпилятора. ![]() |
|
Создано: 18 августа 2013 09:44 · Личное сообщение · #10 |
|
Создано: 18 августа 2013 12:53 · Личное сообщение · #11 |
|
Создано: 18 августа 2013 13:45 · Личное сообщение · #12 |
|
Создано: 18 августа 2013 23:24 · Личное сообщение · #13 |
|
Создано: 20 августа 2013 15:43 · Личное сообщение · #14 |
![]() |
eXeL@B —› Вопросы новичков —› Разбор Java-проги для мобилы |
Эта тема закрыта. Ответы больше не принимаются. |