Компиляция Java Bytecode - PullRequest
3 голосов
/ 10 июля 2009

Используя javap, я могу разобрать класс java в байт-код. Если я хочу запустить этот байт-код или его модифицированную версию, как мне это сделать? Пожалуйста, избавьте меня от ответов «не беспокоить», поскольку я делаю это по образовательным соображениям. Я погуглил и посмотрел другие вопросы о переполнении стека, но не смог найти ответа.

Ответы [ 5 ]

7 голосов
/ 10 июля 2009

Возможно Жасмин - это то, что вы ищете.

2 голосов
/ 05 февраля 2011

Вы можете использовать комбо jasper / jasmin

  • яшма для разборки в формате, совместимом с жасмином
  • jasmin , который пересобирает вывод яшмы

как я описал в java дизассемблировать повторно собрать .

1 голос
/ 10 июля 2009

Используйте ClassLoader.defineClass() вместе с пользовательским загрузчиком классов. На странице Javadoc приведен пример практически того, что вы хотите сделать.

0 голосов
/ 10 июля 2009

Вы можете использовать дизассемблер Java для создания кода Java, который вы можете скомпилировать (возможно, с некоторым исправлением кода вручную)

Затем вы можете изменить код и заново скомпилировать его.

0 голосов
/ 10 июля 2009

Может быть Джакарта BCEL может быть интересно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...