Ich versuche, JPF zu verwenden, um meinen Bytecode zu überprüfen, der während der Laufzeit mit javassist generiert wird.Java Path Finder für Bytecode Verifikation in einem bestehenden Projekt, Bytecode Verifikation
Der Code, den ich versuche zu überprüfen, wird vom Benutzer während der Ausführung meines Programms bereitgestellt. Da ich nicht alle OOP-Modelle und solche Sachen überprüfen kann, brauche ich einen Überprüfungsprozess, bevor ich seinen Code ausführe.
Im Moment erzeuge ich einfach Bytecode mit javassist aus seinen Klassen.
Mein Problem ist jetzt, dass ich manchmal Ausnahmen bekomme, weil der Benutzer einige Vererbungsfehler und so Sachen gemacht hat und meine Anwendung mit einer Ausnahme heruntergefahren ist, weil ich versucht habe, seine Klassen zu laden und auszuführen.
Daher möchte ich diesen generierten Bytecode in Laufzeit überprüfen, um solche Ausnahmen zu vermeiden und früher zu wissen, ob die vom Benutzer bereitgestellten Klassen fehlerhaft sind (oder ein Problem enthalten).
Ist dies mit JPF während der Laufzeit möglich?
Irgendwelche anderen Lösungen auf diesem?
Danke!
versuchen, einen Hash auf den Byte-Code zu machen; Vielleicht wählen Sie Bytes an verschiedenen/zufälligen Orten und sehen, ob sie übereinstimmen; es sollte viel schneller sein, als die gesamte Datei zu überprüfen – Adrian
Ein Hash wäre nur mit den Dingen zu vergleichen oder liege ich falsch? Ich muss überprüfen, ob der Code gültig ist und ohne eine Ausnahme ausgeführt werden kann oder nicht! – Evils
Mein Eindruck war, dass Sie Gleichheit auf allen Bytes machten ... nicht, dass die Bytes gültiger Code sind. Habe ich missinterpretiert? – Adrian