Java Binary Enhancement Tool

Skjermbilde programvare:
Java Binary Enhancement Tool
Prog.varedetaljer:
Versjon: 3 R1
Last opp dato: 3 Jun 15
Utvikler: Andrew Reisse
Lisens: Gratis
Popularitet: 26

Rating: nan/5 (Total Votes: 0)

Java Binary Enhancement Tool (JBET) er en generell Java program analyse og manipulasjon verktøy. Eksisterende class filer kan demonteres, satt sammen, eller redigert programma gjennom JBET API. JBET kan også brukes til å lage nye Java klassefiler fra scratch. JBET bruker en praktisk intern representasjon av alt innholdet i Java binære (Class) filer, slik at brukeren kan redigere klassene lett, på en strukturert måte.
JBET ble utviklet som en del av DARPA Selv Beskytte Mobile Agenter prosjekt under OASIS og aktive nettverk programmer (kontraktsnummer N66001-00-C-8602) for å studere automatisert programvare tåkelegging.
Java språket ble valgt for dette prosjektet på grunn av den (relative) enkelt å konstruere binære redigeringsverktøy som leveres av den store mengden av typeinformasjon er til stede i klassen filene. Våre to rapporter, de tåkelegging Teknikker evalueringsrapport, og Obfuscation rapporten er tilgjengelig fra nedlastingsområdet. Den obfuscation verktøy utviklet er ikke en del av denne utgivelsen.
JBET ble også brukt i DARPA / AFRL Survivable Server-prosjektet (kontrakt nummer F30602-00-C-0183) for å legge til flere sikkerhetskontroller til Java Standard Library. (The Java Security API tillater ikke mange ønskelige sikkerhetskontroller, som fortsatt autorisasjon av filen åpner etter åpning.)
JBET ble brukt til å erstatte de opprinnelige metoden referanser i Java standard biblioteket med stubber som kaller en pluggbare sikkerhetspolitikk. Dette verktøyet, kalt Jpolicy, er også tilgjengelig for nedlasting på denne nettsiden. Jpolicy er svært ufullstendig på dette tidspunktet, men kan være interessant for de som arbeider i Java sikkerhet eller endre standard biblioteket selv.
Den interne representasjon av Java class filer som brukes av JBET er ment å gjøre det enkelt for programmerere å skrive Java binær kode transforme. Hvert element av Java class filer har en tilsvarende intern datastruktur: ClassInfo for hele klasser, MethodInfo for metoder, FieldInfo for felt, Snippit for kodeblokker og instruksjon for individuelle instruksjoner. Snippit og Instruksjon forstå Java opcode syntaks og semantikk, slik automatisert opprettelse av gyldige Java-programmer. En Java-kompatible klassen Kontrolløren er også inkludert.
Noen kodetransforme er vanskelig å programmere direkte ved å manipulere Java-instruksjoner. For de transforme, en rettet asyklisk graf (DAG) representasjon av koden er tilgjengelig. I DAG representasjon, har hver enkel blokk en tilsvarende DAG, med et sett av input og output noder. Kanter i grafen koble "produsent" noder (som konstanter, eller resultatet av beregninger) til "bruker" noder (for eksempel metodekall eller andre beregninger). Metoder er delt inn i grunnleggende blokkene og kontrollflyt er lagret på den grunnleggende blokknivå (mulig fordi Java har bare fikset jump mål)
JBET krever Java 1.4 virtuell maskin for å kjøre, selv om det kan operere på klassefilene fra tidligere Java-versjoner. Emballasjen og bygge miljø levert støtter Linux og Windows med Cygwin; Imidlertid er bygge prosessen enkel og kan utføres manuelt på andre plattformer. Perl er nødvendig for regresjon testing.
Jpolicy krever Java 1.4 virtuell maskin for å bygge, enten Linux eller Windows NT / XP med Cygwin. gcc er nødvendig for å bygge på Windows (følger med Cygwin). Runtime systemet kan være enten Java 1.3 eller 1.4 (med Suns JVM only), som kjører på Linux eller Windows NT / XP. Windows 9x og Windows 2000 kan fungere også, men har ikke blitt testet.
Installasjon
1. Installer jdk 1.4.1.
2. Sett CLASSPATH til jdk1.4.1 / jre / lib / rt.jar
3. cd src; gjøre
4. Hvis det ikke fungerer, undersøke Makefile. java eller javac kan ikke være i veien.
5. Å bygge en jar-fil som kan brukes sammen med "java-jar jbet.jar", kjøre "make jar".
6. Hvis du har perl installert, kan du kjøre tester med "make test".
Eventuelt kjøre "make regen, gjør test".
Lag en symbolsk link fra jbet3 / bin / jbet til et sted i din vei.
Bruk
JBET bruker JNI format for klassenavn, og JNI type og metodebeskrivelser. For et sammendrag av denne syntaks, bruke 'jbet hjelp syntaks'. Suns JVM-spesifikasjonen kan også være nyttig.
Å se på en klasse demontering, bruke "jbet print '. Prøv demonterer en klasse du har kilde for, og ble bygget med debug info (-g): 'jbet -P print ". Suns JVM-spesifikasjonen har en instruksjonsreferanse.

Lignende programvare

GBAconv
GBAconv

3 Jun 15

lindyFrame
lindyFrame

20 Feb 15

vAVRdisasm
vAVRdisasm

11 May 15

Ultimate++
Ultimate++

3 Jun 15

Kommentarer til Java Binary Enhancement Tool

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!