2010-03-07 4 views
15

Какой бесплатный бесплатный редактор байт-кода? Я хочу редактора, что-то с GUI ...java bytecode editor?

Я пробовал jbe-0.1b без везения (не могу сохранить изменения байт-кода).

+0

Я просто скачал и испытаны JBE-0.1b и она работала хорошо для меня. После нажатия «Сохранить метод» класс был изменен (на диске). –

+0

Да, он должен работать, но при сохранении я получаю консольную ошибку, и она ничего не спасает ... может быть, что-то связано с методом, имеющим много строк ... То, что я действительно хочу, просто альтернатива – AlfaTeK

+0

jbe разбивает методы, содержащие команда invokeinterface. Он пытается проанализировать имя метода интерфейса как целые числа с предсказуемыми результатами. Он включает источник, поэтому теоретически он может быть исправлен. – yatima2975

ответ

9

Ничего достойного с пользовательским интерфейсом, но вы можете использовать плагин Eclipse Bytecode Outline, чтобы превратить любой класс Java в код ASM, отредактировать его и создать измененный класс. Наверное, это самый безболезненный способ на данный момент.

http://asm.ow2.org/eclipse/index.html

0

Просто, чтобы быть уверенным. Вы пытались декомпилировать файлы классов? Я не знаю, что вы пытаетесь сделать точно, но вы можете сначала декомпилировать классы, отредактировать источники и снова перекомпилировать.

JAD - очень хороший декомпилятор, который может обрабатывать довольно уродливый байт-код и получать из него читаемые источники.

+2

из-за отсутствия зависимостей и сложных вещей. Я не могу перекомпилировать источники. Поэтому мне просто нужно байткод некоторых глупых строк :) – AlfaTeK

+0

Если вам просто нужно изменить строки, любой редактор должен быть в порядке :-). Серьезно, я считаю, что они хранятся так же, как строки. – pajton

3

Я понимаю, что jasmin и jasper - обычная пара, используемая для перевода между байт-кодом и соответствующим представлением языка.

IIRC, Apache BCEL поставляется с инструментом для дизассемблирования файлов классов для кода, который создает файл класса с BCEL.

Я использовал vi. :)

0

Чтобы создать java-байт-код, вы можете использовать ASM, который предлагает также плагины eclipse.

ASM - это универсальная структура манипулирования и анализа байт-кода Java. Он может использоваться для изменения существующих классов или динамического генерации классов непосредственно в двоичной форме.

+1

ASM на самом деле не предназначен для ручного редактирования. – Antimony

Смежные вопросы