Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Как редактировать class файлы


Помогите - Как редактировать файлы .Class? | Bukkit по-русски

На данный момент я знаю о InClassTranslator что в принципе не поможет проблеме. Он просто удаляет содержимое переменной,а не вывод её самой.

Таким образом есть программка, которая позволяет просматривать содержимое самих классов т.е. исходник код ява-скрипта: jd-gui .Полезная штука. С помощью её нахожу код, который нужно отредактировать или удалить, но становится вопрос: Как это сделать? Можно ли Eclipc-ом, и как это сделать что бы потом скомпилировать обратно в .class без ошибок?

Еще есть такая штука как MCP которая распакует за вас весь клиент майна и у вас будет возможность редактировать файлы формата .java с чем Eclipc или любой другой Ide редактор справится без каких либо проблем. Но не так то все просто. Сам по себе MCP не всегда может правильно распаковать и запаковать клиент, т.к. есть множество обстоятельств :

- Если клиент с модами;
- Если вы уже что-то правили левыми путями;
- Если IDE редактору что-то не понравится, то он просто напросто вас пошлет. Возможно это моя недоработка за счет малоопытности в dev-java , но все же.

В целом нужна помощь старожил в этом плане.

 

inClassTranslator программа для изменения class файлов

Если нужно заменить какие-то надписи в *.class-файлах игры, он может помочь. Например, для перевода модов и плагинов, для замены ссылок на пути скинов, различных стандартных надписей в игре (а-ля Copyright MojangAB) и для многого другого. Интерфейс программы довольно простой, слева список строк открытого класса, справа сверху текст выбранной строки, а внизу мы пишем свой текст. После изменения нужной надписи, надо кликнуть по ней слева ещё раз. После этого сохраняем и заменяем старый класс изменённым.

Помогите - Как редактировать файлы .Class? | Bukkit по-русски

На данный момент я знаю о InClassTranslator что в принципе не поможет проблеме. Он просто удаляет содержимое переменной,а не вывод её самой.

Таким образом есть программка, которая позволяет просматривать содержимое самих классов т.е. исходник код ява-скрипта: jd-gui .Полезная штука. С помощью её нахожу код, который нужно отредактировать или удалить, но становится вопрос: Как это сделать? Можно ли Eclipc-ом, и как это сделать что бы потом скомпилировать обратно в .class без ошибок?

Еще есть такая штука как MCP которая распакует за вас весь клиент майна и у вас будет возможность редактировать файлы формата .java с чем Eclipc или любой другой Ide редактор справится без каких либо проблем. Но не так то все просто. Сам по себе MCP не всегда может правильно распаковать и запаковать клиент, т.к. есть множество обстоятельств :

- Если клиент с модами;
- Если вы уже что-то правили левыми путями;
- Если IDE редактору что-то не понравится, то он просто напросто вас пошлет. Возможно это моя недоработка за счет малоопытности в dev-java , но все же.

В целом нужна помощь старожил в этом плане.

 

Редактирование Class-файлов - Java/SIS приложения и Игры

Структура программы После запуска программы ми видим главное окно программы с кучей вкладок. На этих в кладках распложенны различные настройки (опишу их ниже). Для начала разберёмся с названиями вкладок:

Вкладка Общее - с этой вкладки начинаеться и закакнчиваеться процесс адаптации. На ней находяться элементы управления позволяющие открыть/закрыть/адаптировать приложение. Вкладка Основные опции - на этой вкладке как следует из названия расположены самые основные опции. Вкладка Дисплей - на этой вкладке расположены опции касающиеся экрана (дисплея) телефона и приложения.

Вкладка Изображения - на этой вкладке находяться опции связанные с изображениями (PNG) используемые Java приложением.

Вкладка Клавиатура - всё что качаеться клавишь телефона и приложения. Вкладка MANIFEST.MF - Редактор информации о Java приложении.

Вкладка Опции - там есть пара опций для автоматизации процесса адаптации.

Адаптирование Так вот для адаптировани приложения нам нужно указать путь до Java приложения (jar файла) - это делаеться кнопкой - "Выбрать Jar". Далее для загрузки приложения в программу нажимаем кнопку "Открыть". После этого произщводим выбот нужных настроек (следует обратить внимание на опции на вкладке дисплей -размер экрана приложения и телефона и на опции на вкладке клавиатура - раскладка клавиатуры приложения и телефона). А затем нажимаем кнопку "Адаптировать" и процесс адаптации пошёл. За ним можно наблюдать в списке выше, где отображаються выполняемые действия.

Настройки По вкладкам: Основные опции При адаптации использовать Canvas - Выбираем Canvas, который будем использовать при адаптайии. В большинстве случаев должен подойти Canvas Classic. Canvas'ы семейства TouchScreen следует выбирать тем у кого телефон с сенсорным экраном. Создать JAD файл - Создает к приложению JAD файл. Он нужен для установки приложения на некоторые телефоны.

Создать резервную копию файла - Перед адаптацией оригинальное приложение сохраняеться в файл название_приложения.jar.bak .

Не добавлятьфайлы с мелодиями - убирает из приложения все звуковые файлы (это позволяет уменьшить размер приложения).

Не адаптировать клавиатуру - эта опция означает, что Вы хотите попробовать адаптировать экран под свой, а кнопки у Вас и так работают.

Включить в дистрибутив приложения API - эта опция позволяет включить в дистрибутив дополнительные API? которых у вас в телефоне нет, а приложением они используються. (Узнать о том, что они используються можно в Log'е после нажатия кнопки открыть. Если приложение обнаружит API он напишет строчку "Обнаружено: Данный мидлет использует - "? в которой будет указано название API).

Дисплей Размер дисплея вашего телефона - Выбираем размер SetFullScree=True - опция, которая должна убирать софт полоску.

Размер дисплея в приложении - под какой экран написано приложение. Отклонение по высоте - Числа буду изменяться с учётом возможного отклонения значений. К примеру размер экрана по высоте 220px, а в этой опции указано отклонение 10, то в коде будут меняться вс е числа в дапозоне от 210px до 230px. Способ изменения чисел - каким образом числа будутизменяться в коде прилождения - самый качественный способ - это способ полного диассемблирования. Затем по качеству идёт Диассемблирование class файлов, а затем по маске.

Изображения Оптимизировать PNG графику - все графические файлы PNG будут пропущенны черз программу для оптимизации изображений, что позволяет кменьшить их размер. Изменять размер изображений - Для адаптации экрана в приложениях иногда бывает мало заменить числа в коде, ещё надо изменить размеры изображений, которые используються java мидлетом.

Клавиатура Раскладка телефона - Раскладка клавиатуры Вашего телефона. Раскладка с использованием которой написано приложение - та раскладка, которую использует приложение при своей работе. Если вы не знаете от каккого телефона это приложение начните пробовать с раскладки от Nokia, так как она встречаеться чаще всего. Настройки TouchScreen - в этой группе опций указываеться какие кнопки будут эмулироваться на экране телефона. А с опциями Обрабатывать повтороное нажати е отбрабатывать отпускание надо эксперементировать - с какой их комбинацией данное приложение будет коректней обрабатывать действия на экране телефона. Заменяемые клавиши - сдесь можно переназначить заменяемые кнопки. Например мождно поменять местами софт кнопки.

MANIFEST.MF - Редактор информации о приложении На этой вкладке таблица с параметрами приложения - ищем нужный парметр, меняем значение и нажимаем сохранить. Например параметр MIDlet-Name - означает название приложения.

Опции - Редактор информации о приложении Пробовать автоматически определять раскладку клавиатуры - Программа при открытиии может попробоватьсама определить раскладку, но вероятность автоматического определения мала.

Автоматически добавлять необхлдимые API - добавляет в приложение специфичские API, если они используються им.

Редактирование class файлов. Файл с расширением.class

Компилированный файл.JAVA, созданный компилятором Java. Содержит байтовый код являющийся бинарным программным кодом, выполняемым при запуске Java Virtual Machine (JVM). Обычно встраивается в файлы.JAR, которые входят в состав среды $CLASSPATH, подходящей для исполнения.

Файлы CLASS можно компилировать из файлов JAVA при помощи команды javac, входящей в состав пакета инсталляции JVM. Многие интегрированные среды разработки Java, такие как Eclipse, могут компилировать файлы CLASS на ходу, пока разработчики пишут программный код.

Поскольку существует множество версий JVM (например, 1.4, 1.5 и 1.6), некоторые файлы CLASS могут быть несовместимы с определенными версиями JVM. Java Runtime Environment (JRE) может выполнять файлы CLASS, но не может компилировать их, поскольку не включает в себя бинарный javac.

Примечание: компания Oracle приобрела Sun Microsystems - изначального разработчика Java. JRE и JVM часто используются как синонимы для ссылок на платформу, запускающую приложения Java.

Расширение файла.class представляет собой файл класса Java. Данный файл может быть открыт с помощью следующих программ: Oracle Java Runtime Environment, Eclipse IDE for Java Developers с подключаемым модулем JD-Eclipse, dirtyJOE, JD-GUI.

Файл формата CLASS открывается специальными программами. Чтобы открыть данный формат, скачайте одну из предложенных программ.

Чем открыть файл в формате CLASS

Расширение CLASS может быть представлено двумя основными исполнениями:

  • Формат CLASS (разработчик Oracle) относится к категории файлов, скомпилированных при помощи Java. Активируется двоичный байт-код расширения CLASS при инициализации Java Virtual Machine (JVM). Зачастую данный формат поддерживает совместную работу с файлами.

Выполняя команду javac, входящую в состав инсталляционного пакета JVM, можно получить расширение CLASS из Java-файлов. Некоторые интегрированные разновидности Java, например, Eclipse, поддерживают параллельную генерацию формата CLASS в процессе написания программного кода.

Ввиду того, что существует несколько модификаций JVM (включая версии 1.4-1.6), некоторые исполнения CLASS файлов могут не поддерживаться на определенных версиях JVM.

Отсутствие бинарного javac в комплексе Java Runtime Environment (JRE) не позволяет компилировать файлы CLASS, но не исключает возможности их фактического выполнения. JRE и JVM зачастую применяются как идентичные понятия, когда речь идет о платформе, запускающей Java приложения.

  • Расширение CLASS представляет собой исходник к (правообладателем лицензии является GNU Public). Gambas - полнофункциональный, объектно-ориентированный язык программирования, выполненный на базе интерпретатора BASIC.

Методы и средства программирования, а также архитектура языка во многом схожа с представлением Java.

В основе Gambas следующие программные модули:

  • компилятор;
  • транслятор;
  • архиватор;
  • скрипты;
  • рабочая программная область;
  • дополнительные компоненты и конструктивные элементы.

Программы для открытия CLASS файлов

Если CLASS расширение представляет собой категорию файлов, скомпилированную при помощи Java, для генерации и воспроизведения его на базе ОС Windows можно воспользоваться самыми разнообразными программными комплексами:

В данном представлении CLASS адаптирован и для платформы ОС Mac:

Расширение может быть открыто и на базе ОС Linux с применением все тех же программных плагинов

Обычно при компиляции Java-файла получаются.class-файлы примерно того же размера, что и исходник. Меня заинтересовало, можно ли по небольшому исходнику сделать.class-файл, который больше, сильно больше исходника.

Можно поискать какие-то короткие конструкции языка, которые компилируются в длинные цепочки байткода, но линейный прирост меня не устраивал. Я сразу подумал про компиляцию finally-блоков: про неё уже писали на Хабре . Если вкратце, то для каждого finally-блока при непустом try-блоке создаётся минимум два варианта в байткоде: для случая нормального завершения try-блока и для случая завершения с исключением. В последнем случае исключение сохраняется в новую локальную переменную, выполняется код finally, затем исключение достаётся из локальной переменной и перебрасывается. А что если внутри finally снова разместить try-finally и так далее? Результат превзошёл все ожидания.

Я компилировал с помощью Oracle javac 1.7.0.60 и 1.8.0.25, результаты практически не отличались. Путь для исключения формируется даже в том случае, если в блоке try совсем ничего предосудительного. Например, присваивание целочисленной константы в локальную переменную - это две инструкции iconst и istore , ни про одну из них в спецификации не сказано, что они могут сгенерировать исключение. Так и будем писать:
class A {{ int a; try {a=0;} finally { try {a=0;} finally { try {a=0;} finally { try {a=0;} finally { try {a=0;} finally { try {a=0;} finally { try {a=0;} finally { try {a=0;} finally { try {a=0;} finally { try {a=0;} finally { try {a=0;} finally { try {a=0;} finally { a=0; }}}}}}}}}}}} }}
Добавление нового нетривиального кода в самый внутренний finally вызывает ошибку компиляции code too large, поэтому ограничимся таким. Если кто-то подзабыл, это у нас блок инициализации , который подклеивается к каждому конструктору. Для нашей задачи метод объявлять смысла нет.

Такой исходник занимает 336 байт, а получившийся class-файл растаращило до 6 571 429 байт, то есть в 19 557 раз (назовём это коэффициентом растаращивания). Даже при отключении всей отладочной информации с помощью -g:none class-файл весит 6 522 221 байт, что ненамного меньше. Посмотрим, что внутри с помощью утилиты javap .

Пул констант
Пул констант получился небольшой: всего 16 записей. По сути всё самое необходимое: имена атрибутов типа Code, имя класса, Java-файла, ссылка на конструктор родительского класса Object и т. д. При отключении отладочной информации исчезают три записи: имена атрибутов LineNumberTable, SourceFile и значение A.java для атрибута SourceFile.
Код
Код конструктора по умолчанию составил 64507 байт, почти упираясь в максимально допустимый предел. Начинается он с нормального выполнения:

Код

0: aload_0 1: invokespecial #1 // Method java/lang/Object."":()V 4: iconst_0 5: istore_1 6: iconst_0 7: istore_1 8: iconst_0 9: istore_1 10: iconst_0 11: istore_1 12: iconst_0 13: istore_1 14: iconst_0 15: istore_1 16: iconst_0 17: istore_1 18: iconst_0 19: istore_1 20: iconst_0 21: istore_1 22: iconst_0 23: istore_1 24: iconst_0 25: istore_1 26: iconst_0 27: istore_1 28: iconst_0 29: istore_1 30: goto 38


То есть вызывается конструктор родительского класса, а затем 13 раз записывается единица в первую локальную переменную. После этого начинается длинная цепочка goto, которая обходит мимо всех остальных копий finally: 30->38->58->104->198->388->770->1536->3074->7168->15358->31740->64506, а по адресу 64506 мы находим долгожданную инструкцию return.

В промежутках между этими goto всевозможные комбинации нормальных и исключительных завершений каждого блока try. Неожиданным оказалось то, что для каждого finally, обрабатывающего исключение, для хранения исключения создаётся новая локальная переменная, даже если блоки заведомо взаимоисключающие. Из-за этого коду требуется 4097 локальных переменных. Небольшая статистика по инструкциям:

  • iconst_1 - 8191 раз
  • istore_1 - 8191 раз
  • goto - 4095 раз
  • athrow - 4095 раз
  • astore_2/aload_2 - 1 раз
  • astore_3/aload_3 - 1 раз
  • astore/aload - 252 раза (локальные переменные с номерами от 4 до 255)
  • astore_w/aload_w - 3841 раз (локальные переменные

Как открыть файл CLASS? Расширение файла .CLASS

Что такое файл CLASS?

Файл с расширением CLASS содержит скомпилированный исходный код, написанный на языке программирования Java. Файл CLASS генерируется компилятором из файла JAVA, который содержит классы. Таким образом, файл CLASS является результатом успешного процесса компиляции. Одиночный файл CLASS содержит байт-код, то есть двоичный код данной программы, который выполняется при запуске виртуальной машиной Java (JVM).

Процесс компиляции

Файлы CLASS генерируются автоматически в процессе компиляции файла JAVA. Файлы JAVA являются исходными файлами для любых приложений Java. Файл CLASS, с другой стороны, содержит байт-код, который не зависит от платформы. Файл JAVA может содержать один или несколько классов, и каждый класс получает свой собственный файл CLASS в процессе компиляции кода.

Дополнительная информация

Компиляция файлов JAVA в файлы CLASS выполняется с помощью команды javac, входящей в комплект программного обеспечения JVM.

Большинство сред программирования Java способны компилировать файлы CLASS на лету, когда программисты пишут код.

Java Runtime Environment поддерживает возможность выполнения файлов CLASS, но не разрешает его компиляцию, поскольку JRE не имеет команды javac.

ВНИМАНИЕ

Поскольку виртуальная машина Java доступна во многих версиях, следует иметь в виду, что не все файлы CLASS совместимы со всеми версиями механизма.

Программы, которые поддерживают CLASS расширение файла

Ниже вы найдете указатель программ, которые можно использовать для открытия файлов CLASS, разделенных на категории 4 в соответствии с поддерживаемой системной платформой. CLASS файлы можно встретить на всех системных платформах, включая мобильные, но нет гарантии, что каждый из них будет должным образом поддерживать такие файлы.

Updated: 01/14/2020

Как открыть файл CLASS?

Проблемы с доступом к CLASS могут быть вызваны разными причинами. С другой стороны, наиболее часто встречающиеся проблемы, связанные с файлами Java Class Format, не являются сложными. В большинстве случаев они могут быть решены быстро и эффективно без помощи специалиста. Ниже приведен список рекомендаций, которые помогут вам выявить и решить проблемы, связанные с файлами.

Шаг 1. Установите Java Runtime Environment программное обеспечение

Наиболее распространенной причиной таких проблем является отсутствие соответствующих приложений, поддерживающих файлы CLASS, установленные в системе. Эта проблема может быть решена путем загрузки и установки # РЕКОМЕНДОВАННОЙ # или другой совместимой программы, такой как Eclipse, dirtyJOE, DJ Java Decompiler. Выше вы найдете полный список программ, которые поддерживают CLASS файлы, классифицированные в соответствии с системными платформами, для которых они доступны. Одним из наиболее безопасных способов загрузки программного обеспечения является использование ссылок официальных дистрибьюторов. Посетите сайт Java Runtime Environment и загрузите установщик.

Шаг 2. Проверьте версию Java Runtime Environment и обновите при необходимости

Вы по-прежнему не можете получить доступ к файлам CLASS, хотя Java Runtime Environment установлен в вашей системе? Убедитесь, что программное обеспечение обновлено. Разработчики программного обеспечения могут реализовать поддержку более современных форматов файлов в обновленных версиях своих продуктов. Если у вас установлена более старая версия Java Runtime Environment, она может не поддерживать формат CLASS. Все форматы файлов, которые прекрасно обрабатывались предыдущими версиями данной программы, также должны быть открыты с помощью Java Runtime Environment.

Шаг 3. Настройте приложение по умолчанию для открытия CLASS файлов на Java Runtime Environment

После установки Java Runtime Environment (самой последней версии) убедитесь, что он установлен в качестве приложения по умолчанию для открытия CLASS файлов. Метод довольно прост и мало меняется в разных операционных системах.

Процедура изменения программы по умолчанию в Windows

  • Щелкните правой кнопкой мыши на файле CLASS и выберите «Открыть с помощью опцией».
  • Выберите Выбрать другое приложение → Еще приложения
  • Чтобы завершить процесс, выберите Найти другое приложение на этом... и с помощью проводника выберите папку Java Runtime Environment. Подтвердите, Всегда использовать это приложение для открытия CLASS файлы и нажав кнопку OK .

Процедура изменения программы по умолчанию в Mac OS

  • Щелкните правой кнопкой мыши на файле CLASS и выберите Информация.
  • Найдите опцию Открыть с помощью - щелкните заголовок, если он скрыт
  • Выберите подходящее программное обеспечение и сохраните настройки, нажав Изменить все
  • Наконец, это изменение будет применено ко всем файлам с расширением CLASS должно появиться сообщение. Нажмите кнопку Вперед, чтобы подтвердить свой выбор.
Шаг 4. Убедитесь, что файл CLASS заполнен и не содержит ошибок

Если вы выполнили инструкции из предыдущих шагов, но проблема все еще не решена, вам следует проверить файл CLASS, о котором идет речь. Проблемы с открытием файла могут возникнуть по разным причинам.

1. Убедитесь, что CLASS не заражен компьютерным вирусом

Если CLASS действительно заражен, возможно, вредоносное ПО блокирует его открытие. Немедленно просканируйте файл с помощью антивирусного инструмента или просмотрите всю систему, чтобы убедиться, что вся система безопасна. Если файл CLASS действительно заражен, следуйте инструкциям ниже.

2. Проверьте, не поврежден ли файл

Если вы получили проблемный файл CLASS от третьего лица, попросите его предоставить вам еще одну копию. Возможно, что файл не был должным образом скопирован в хранилище данных и является неполным и поэтому не может быть открыт. Это может произойти, если процесс загрузки файла с расширением CLASS был прерван и данные файла повреждены. Загрузите файл снова из того же источника.

3. Проверьте, есть ли у пользователя, вошедшего в систему, права администратора.

Иногда для доступа к файлам пользователю необходимы права администратора. Выйдите из своей текущей учетной записи и войдите в учетную запись с достаточными правами доступа. Затем откройте файл Java Class Format.

4. Убедитесь, что ваше устройство соответствует требованиям для возможности открытия Java Runtime Environment

Операционные системы могут иметь достаточно свободных ресурсов для запуска приложения, поддерживающего файлы CLASS. Закройте все работающие программы и попробуйте открыть файл CLASS.

5. Убедитесь, что ваша операционная система и драйверы обновлены

Регулярно обновляемая система, драйверы и программы обеспечивают безопасность вашего компьютера. Это также может предотвратить проблемы с файлами Java Class Format. Возможно, что одно из доступных обновлений системы или драйверов может решить проблемы с файлами CLASS, влияющими на более старые версии данного программного обеспечения.

Java - Как отредактировать файл класса

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.

Как мне отредактировать фактический код файла java .class?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.

java - как редактировать файл `.class` в зависимости Maven в Eclipse

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где девелоперы
.

Easy Java .class редактор файлов?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.

eclipse - Как редактировать файл класса Java в файле EAR

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.

java - Редактирование файла класса в jar

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.

Смотрите также