Java Binary Enhancement Tool

Software screenshot:
Java Binary Enhancement Tool
Software informatie:
Versie: 3 R1
Upload datum: 3 Jun 15
Ontwikkelaar: Andrew Reisse
Licentie: Gratis
Populariteit: 26

Rating: nan/5 (Total Votes: 0)

Java Binary Enhancement Tool (JBET) is een algemene Java-programma-analyse en manipulatie tool. Bestaande class-bestanden kunnen worden gedemonteerd, weer in elkaar gezet, of programmatisch bewerkt via de JBET API. JBET kan ook worden gebruikt om nieuwe Java-klasse-bestanden te maken vanuit het niets. JBET maakt gebruik van een geschikte interne representatie van de volledige inhoud van Java binary (.class) bestanden, zodat de gebruiker de klassen eenvoudig bewerken, op een gestructureerde manier.
JBET werd ontwikkeld als onderdeel van de DARPA Self-beveiligen Mobile Agents project onder de OASIS en Active Networks programma (contractnummer N66001-00-C-8602) om geautomatiseerde software verwarring te bestuderen.
De Java-taal is gekozen dat project vanwege de (relatieve) gemakkelijk construeren binaire bewerkingsgereedschappen door de grote hoeveelheid type informatie die in klassebestanden. Onze twee rapporten, de Obfuscation Techniques Evaluatierapport, en de Obfuscation Report, zijn verkrijgbaar bij de downloadsectie. De verduistering tool ontwikkeld is geen onderdeel van deze release.
JBET werd ook gebruikt in de DARPA / AFRL Survivable Server project (contractnummer F30602-00-C-0183) om extra veiligheidscontroles om de Java Standard Library toevoegen. (De Java SecurityManager API ondersteunt niet veel wenselijk veiligheidscontroles, zoals voortgezet toestemming van het bestand opent na opening.)
JBET werd gebruikt om de natieve werkwijze gevonden in de bibliotheek met standaard Java stubs die steekbare beveiligingsbeleid noemen vervangen. Deze tool, genaamd Jpolicy, is ook te downloaden via deze website. Jpolicy zeer onvolledig is op dit moment, maar interessant is voor degenen die in Java security of wijzigt standaard bibliotheek zelf zijn.
De interne representatie van Java-class-bestanden die worden gebruikt door JBET is bestemd om het makkelijk maken voor programmeurs om Java binaire code transformaties te schrijven. Elk element van de Java-klasse-bestanden heeft een corresponderende interne data structuur: ClassInfo voor hele klassen, MethodInfo voor methoden, FieldInfo voor velden, snippit voor code blokken, en instructie voor de individuele instructies. Snippit en instructie te begrijpen Java opcode syntaxis en semantiek, waardoor geautomatiseerde creatie van geldige Java-programma's. Een Java-compatibele klasse verificateur is ook inbegrepen.
Sommige code transformaties zijn moeilijk direct te programmeren door het manipuleren van Java instructies. Voor degenen die transformaties, een gerichte acyclische grafiek (DAG) vertegenwoordiging van de code is beschikbaar. In de DAG vertegenwoordiging, elk elementair blok heeft een overeenkomstige DAG, met een set van input en output nodes. De randen in de grafiek connect "producer" nodes (zoals constanten, of het resultaat van berekeningen) naar "user" nodes (zoals methodeoproepen of andere berekeningen). Methoden zijn onderverdeeld in eenvoudige blokken en control flow wordt opgeslagen bij de basis blokniveau (mogelijk omdat Java alleen heeft vaste jump doelen)
JBET vereist een Java 1.4 virtuele machine te draaien, maar het kan werken op de class-bestanden uit eerdere versies van Java. De meegeleverde verpakking en bouwen omgeving ondersteunt Linux en Windows met Cygwin; echter het bouwproces is eenvoudig en kan handmatig worden uitgevoerd op andere platformen. Perl is vereist voor regressietesten.
Jpolicy vereist een Java 1.4 virtuele machine te bouwen, zowel Linux of Windows NT / XP met Cygwin. gcc is nodig voor het bouwen van op Windows (met Cygwin meegeleverd). De runtime-systeem kan zowel Java 1.3 of 1.4 (met slechts Sun's JVM), draait op Linux of Windows NT / XP. Windows 9x en Windows 2000 kan net zo goed werken, maar zijn niet getest.
Installatie
1. Installeer jdk 1.4.1.
2. Stel CLASSPATH naar JDK 1.4.1 / jre / lib / rt.jar
3. cd src; maken
4. Als dat niet werkt, onderzoekt de makefile. java javac of niet in de weg.
5. Om een ​​jar bestand dat kan worden gebruikt met "java-jar jbet.jar" run "te maken jar" bouwen.
6. Als u perl geïnstalleerd, voert u de testen met "make test".
Optioneel run "te maken regen, zorg test".
Maak een symbolische link van jbet3 / bin / jbet om ergens op je pad.
Gebruik
JBET gebruikt de JNI formaat voor klasse namen en JNI type en omschrijvingen. Voor een overzicht van deze syntaxis, gebruiken 'jbet hulp syntax'. Sun's JVM specificatie kan ook nuttig zijn.
Om te kijken naar een klasse demontage, gebruik 'jbet print'. Probeer het demonteren van een klasse heb je bron voor, en werd gebouwd met debug info (-g): 'jbet -P afdrukken '. Sun's JVM specificatie heeft een instructie referentie.

Vergelijkbare software

DEMUX Framework
DEMUX Framework

17 Feb 15

Yasm
Yasm

17 Feb 15

Reacties op Java Binary Enhancement Tool

Reacties niet gevonden
Commentaar toe te voegen
Zet op de beelden!