Pergunta

.

Existe um utilitário (ou plugin Eclipse) para editando arquivos de classe Java ? Eu gostaria de manipular o bytecode de um arquivo de classe Java sem recompilá-lo nem ter um buildpath completo.

e.g. Para renomear métodos, adicionar / excluir instruções, alterar as constantes etc.

Os únicos utilitários que encontrei são:

  • classEditor Mas é muito limitado em funcionalidade ( e.g. Renomear de coisas e instruções de manipulação não é possível ).

  • JBE não salva alterações (talvez porque a classe verificando falha - antes de fazer alguma alteração, embora a classe funcione perfeitamente)

    (JBE inicialmente tinha um problema de classe, adicionando o caminho da classe ao arquivo JBE.BAT ajudou)

Foi útil?

Solução

Eu não vi nenhum código de byte -> Frontês de código de byte, mas muita backends.

Eu sugiro que você tenha uma olhada nas bibliotecas de manipulação de código de byte como javassist que permitem o código de byte de carga, manipulá-lo e salvá-lo de volta ao disco e, em seguida, escreva um pequeno principal que faz exatamente isso.

Outras dicas

Eu uso rej para editar arquivos de classe diretamente.

Permite editar instruções, métodos, piscina constante, classes diff e uma vista dividida com um editor hex.

É ridiculamente incrível.

Eu escrevi um Montador Java de código aberto e dissasembler Você pode achar útil.

permite desmontar um classfile na montagem legível humana, editá-lo e, em seguida, remonque-o em uma aula.Foi originalmente projetado para escrever crackmes ofuscados, então há um monte de características obscuras que suporta que muitas outras ferramentas não.Se você precisar de quaisquer recursos, o atualmente não suporta, sinta-se à vontade para entrar em contato comigo e eu vou ver o que posso fazer.

encontrar Esta lista Lista de byte code Manipulação / bibliotecas de geração de código útil?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top