FAQ по ковырянию ЯВЫ:
Автор:
Alek(S) Если кто не знает, то все ресурсы ЯВА приложения(игры) лежат в JAR файле. Открываем его WinRAR'ом (точнее распаковываем).
Ну начнём с самого лёгкого-изменение графики:
1)Ищём файлы .png это и есть графическое оформление ЯВЫ.
2)Если таких нет(ну или одно icon.png), то вся графика может быть
спрятанна в файлах с расширениями- .o .k .j (вообщем на чё фантазии
хватило ),переименовывем-если графика, то меняем, переименовываем
обратно...
3) Если и таких нету-то вся графика зарыта в код. Для
декомпиляции кода нам нужен Java Decompiler (http://wl.h15.ru/), ну а
для обратной компиляции нам понадобиться продукт компании SUN (sun.com).
В принципе куча примеров банального изменения графики у меня в подписи(модификация ЯВА приложений от GRAFMOTO)...
--------------------------------------------------------------------------------------------------------------
Изменение кода:
У меня не хватает трафика для скачки компилятора, поэтому я занимаюсь
модификацией с помощью JavaByte (http://wasm.ru/toollist.php?list=19).
1)Распаковываем JAR
2)Ставим JavaByte, запускаем, жмём Classes -> Add Java Class и
выбираем файлы с расширением .class, жмём на крестик и выбираем Constant
Pool (здесь куча констант+описание), ну или Method (код, пременные).
3)Запускаем Java Decompiler (http://wl.h15.ru/) анализируем код(запоминаем классы, переменные)
4)Вносим изменения в классы в JavaByte, жмём на изменённом классе правй кнопкой -> SaveClass
5)Собираем ЯВУ с помощью WinRAR'а...
Пример:меняем код иТюна(подходит тока к старой версии);меняем цвета в иШеле:
Skin.class
Поменял цвет фона(белый)
В JavaByte зыряем-меняем, первые две-прозрачность
-----------------------
Menu.class
Method- drawBox(цвет окошка и меню):
0001-sipush-(255)
0004-sipush-(255)
0007-sipush-(255)
0017-sipush-(0)
001A-sipush-(0)
001D-sipush-(0)
Method- paint(заголовок о шеле):
004F-sipush-0
Method- paintMenu(выделенный элемент меню):
0050-sipush-(128)
0053-sipush-(128)
0056-sipush-(255)
Старую версию выкладывать не буду(устарела).
Вот мануал для новой версии(Сборка Tim - New6 Билды (миксы) Itunes ):
Skin.class
адрес ---------| чё такое
0002-----------| фон иШела
0006------------| цвет заголовка окошка
0008(или 0013)| цвет выделенного пункта меню!!
000A-------------| квадратик, для выделения иконок
000C-------------| цвет фона окошек и форм(color Hint)
0010--------------| color Hintframe(я это не использую!!!)
ishell.plugin
Меняем местоположение иконок, для плагинов.
nm.plugin и nmm.plugin - добавляем свои плагин, если умеем.
РАБОТАЕТ ТОЛЬКО С iTunes+iShell(проверенно на сборке New6 от Tim2005)
Продолжим ковырять ЯВУ(вообще любую):
Если вы задались ковырянием, то нужно помнить, что только с разрешения автора данной программы вы в ней можете ковыряться.
Дальше-проще...Если Вы знаете ЧТО именно вас не устраивает в ЭТОЙ проге-Вы должны найти это в коде.
Числа:
с ними всё просто-распаковывем JAR,
запускаем Java Decompiler (естественно декомпилим),
ищем:
открываем TXT Правка->Найти ну и вводим то число-которое ищем;Нашли? - YES!!
Запоминаем в каком классе было это чудо число;
терь открываем этот класс в JavaByte, ищём число среди переменных (конечно число ищём среди ИНТЕДЖЕР)), нашли? МЕНЯЕМ!
сохраняем удаляем ТХТ которые получили от декомпиляции(советую просто скопировать для декомпиляции), собираем JAR .
СТРИНГИ(спокуха-эт я не про трусы!!!)Типа текст:
Распаковываем JAR
Терь проще работать только в JavaByte.
По классово открываем и зырим стринги(они обычно пишутся по два раза-вот так
это значит что значение можно поменять и увидеть в ячейке 0066 !!)
Меняем если надо
Сохраняем класс, пакуем обратно.