Java Binary Enhancement Tool

Software screenshot:
Java Binary Enhancement Tool
Dettagli del software:
Versione: 3 R1
Data di caricamento: 3 Jun 15
Sviluppatore: Andrew Reisse
Licenza: Libero
Popolarità: 26

Rating: nan/5 (Total Votes: 0)

Java Binary Enhancement Tool (JBET) è uno strumento di analisi generale programma Java e la manipolazione. File di classe esistenti possono essere smontati, rimontati, o modificati a livello di programmazione tramite l'API JBET. JBET può essere utilizzato anche per creare nuovi file di classe Java da zero. JBET utilizza una rappresentazione interna conveniente di tutti i contenuti di file (.class) Java binari, permettendo all'utente di modificare le classi facilmente, in modo strutturato.
JBET è stato sviluppato come parte del DARPA Self-Proteggere progetto Mobile Agents sotto l'OASIS e programmi reti attive (numero di contratto N66001-00-C-8602), al fine di studiare l'offuscamento software automatici.
Il linguaggio Java è stato scelto per questo progetto a causa della (relativa) facilità di costruire strumenti di editing binari forniti dalla grande quantità di informazioni presenti nei file di classe tipo. Le nostre due relazioni, le tecniche di offuscamento relazione di valutazione e il report offuscamento, sono disponibili nell'area download. Lo strumento di offuscamento sviluppato non è parte di questo rilascio.
JBET è stato utilizzato anche nel progetto Survivable Server DARPA / AFRL (numero di contratto F30602-00-C-0183) per aggiungere ulteriori controlli di sicurezza per la libreria standard di Java. (L'API Java SecurityManager non supporta molti controlli di sicurezza auspicabili, come continua l'autorizzazione di accessi ai file dopo l'apertura.)
JBET è stato utilizzato per sostituire i riferimenti metodo nativo della libreria standard di Java con stub che richiedono una politica di sicurezza a innesto. Questo strumento, chiamato Jpolicy, è disponibile per il download su questo sito anche. Jpolicy è molto incompleta in questo momento, ma potrebbe essere interessante per coloro che lavorano in sicurezza Java o cambiando la libreria standard stessi.
La rappresentazione interna dei file di classe Java utilizzati da JBET è intented per rendere più facile per i programmatori di scrivere Java trasforma codice binario. Ogni elemento del file di classi Java ha una corrispondente struttura di dati interna: ClassInfo per intere classi, MethodInfo per i metodi, FieldInfo per i campi, snippit per blocchi di codice, e di istruzioni per singole istruzioni. Snippit e Istruzione capire Java sintassi codice operativo e la semantica, che consente la creazione automatica di programmi Java valide. Una classe verificatore compatibile con Java è anche incluso.
Alcune trasformazioni di codice sono difficili da programmare direttamente manipolando istruzioni Java. Per tali trasformazioni, un grafo aciclico diretto (DAG) la rappresentanza del codice è disponibile. Nella rappresentazione DAG, ogni blocco di base corrisponde un DAG, con un insieme di nodi di ingresso e uscita. Bordi del grafico collegano nodi "produttore" (come costanti o il risultato di calcoli) ai nodi "utente" (come le chiamate di metodo o di altri calcoli). I metodi sono divise in blocchi di base e controllo di flusso sono memorizzati a livello di blocco di base (possibile perché Java è fissato solo obiettivi di salto)
JBET richiede Java 1.4 macchina virtuale per l'esecuzione, anche se può operare su file di classe di versioni precedenti di Java. L'ambiente di confezionamento e di costruire in dotazione supporta Linux e Windows con Cygwin; Tuttavia, il processo di generazione è semplice e può essere effettuata manualmente su altre piattaforme. Perl è necessario per i test di regressione.
Jpolicy richiede Java 1.4 macchina virtuale per costruire, Linux o Windows NT / XP con Cygwin. gcc è necessario per costruire su Windows (fornito con Cygwin). Il sistema di runtime può essere Java 1.3 o 1.4 (con la sola JVM di Sun), in esecuzione su Linux o Windows NT / XP. Windows 9x e Windows 2000 possono funzionare così, ma non sono stati testati.
Installazione
1. Installare jdk 1.4.1.
2. Impostare CLASSPATH per jdk1.4.1 / jre / lib / rt.jar
3. cd src; creare
4. Se questo non ha funzionato, esaminare il makefile. java o javac non possono essere nel percorso.
5. Per creare un file jar che può essere utilizzato con "java-jar jbet.jar", eseguire "make jar".
6. Se è stato perl installato, eseguire i test con "make test".
Facoltativamente, eseguire "make rigenerazione; make test".
Creare un collegamento simbolico da jbet3 / bin / JBET da qualche parte nel tuo percorso.
Uso
JBET utilizza il formato JNI per i nomi di classe e tipologia e per metodi JNI descrittori. Per un riepilogo di questa sintassi, utilizzare 'la sintassi aiuto JBET'. Specifiche JVM di Sun può anche essere utile.
Per guardare un disassemblaggio classe, utilizzare 'stampa JBET'. Provare a smontare una classe avete sorgente, ed è stato costruito con informazioni di debug (-g): 'JBET -P Stampa '. Specifiche JVM Sun ha un riferimento di istruzioni.

Programmi simili

hexdump
hexdump

17 Feb 15

UMLet
UMLet

20 Feb 15

DiffJ
DiffJ

20 Feb 15

AdaControl
AdaControl

3 Jun 15

Commenti a Java Binary Enhancement Tool

I commenti non trovato
Aggiungi commento
Accendere le immagini!