Mein Design gefällt mir nicht
-
Hoi!
Vielleicht hat jemand zufälligerweise mitbekommen, dass ich an einer Memoryhacking-Bibliothek für Linux arbeite.
(Hier gibts Source: https://github.com/Ethon/Ethonmem )Eine Funktionalität ist zum Beispiel eine Scanner-Klasse, die im Speicher eines fremden Prozesses nach Bytesequenzen sucht.
Um ein Scanner-Objekt nutzen zu können, muss man mittlerweile folgende Schritte machen:1. Ein Prozess-Objekt erzeugen, dass einen Prozess im System repräsentiert, und es initialisieren.
2. Ein Debugger-Objekt mit dem Prozess-Objekt initialieren und den Debugger "starten".
3. Mit dem Debugger-Objekt wird jetzt ein MemoryEditor-Objekt initialisiert, das dazu zuständig ist, POD-Typen aus dem Fremdspeicher zu lesen und zu schreiben.
4. Nun kann man mit dem MemoryEditor ein Scanner-Objekt initialisieren und nutzen.Das geht auch rückwärts, ein
Scanner().getMemoryEditor().getDebugger.getProcess();
würde bis zum Prozess-Objekt zurückhangeln.
Mich persönlich stört diese Verschachtelung im Einsatz mittlerweile tierisch.
Hat eventuell irgendjemand eine Idee, wie man das sinnvoll schöner lösen könnte?Danke schon mal.
Grüße,
Ethon
-
Du gibst zu wenig Infos um dir da wirklich viel helfen zu koennen.
Aber eine Idee: Du musst das interne Design nicht ueber die oeffentlichen Schnittstellen kommunizieren. zB kann ein Process Objekt dir schon direkt den Scanner liefern. Auch wenn intern ueber Debugger, MemoryEditor, etc. gegangen wird.