Domanda

.

Vuoi migliorare questa domanda? Aggiorna la domanda quindi è On-topic per stack overflow.

chiuso 5 anni fa .

C'è un servizio di utilità (o plugin Eclipse) per Modifica dei file di classe Java ? Mi piacerebbe manipolare il bytecode di un file di classe Java senza ricompilandolo né avere un percorso di build completo.

E.G. Per rinominare i metodi, aggiungere / eliminare le istruzioni, modificare costanti ecc.

Le uniche utilità che ho trovato sono:

    .
  • classificatore Ma è molto limitato nella funzionalità ( E.G. Rinominare delle cose e le istruzioni di manipolazione non è possibile ).

  • jbe non salva le modifiche (forse perché la classificazione della classe fallisce - prima di apportare modifiche, sebbene la classe funzioni perfettamente)

    (Inizialmente JBE ha avuto un problema di classpath, aggiungendo il percorso di classe al file Jbe.bat aiutato)

È stato utile?

Soluzione

Non ho visto alcun codice byte -> Byte Code Frontend, ma in abbondanza di backend.

Ti suggerirei di dare un'occhiata alle numerose librerie di manipolazione del codice di byte come javassist Che consentono il caricamento del codice byte, manipolarlo e salvarlo su disco, quindi scrivi un piccolo principale che fa esattamente questo.

Altri suggerimenti

Io uso Rej per modificare direttamente i file di classe.

Ti consente di modificare istruzioni, metodi, piscina costante, classi diff e una vista divisa con un editor esagonale.

è ridicolmente fantastico.

Ho scritto un open source java assembler e dissasemblatore potresti trovare utile.

Ti consente di smontare un classfile in un assemblaggio leggibile in umano, modificarlo, quindi rimontarlo in una classe.È stato originariamente progettato per la scrittura di crackmes offuscati, quindi ci sono molte caratteristiche oscure che supporta che molti altri strumenti no.Se hai bisogno di funzioni non supporta attualmente, sentiti libero di contattarmi e vedrò cosa posso fare.

Trova Questa lista della manipolazione dei codici byte / Librerie di generazione del codice?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top