
Zitat von
Mephistopheles:
Eine gesunde Einstellung für einen Entwickler ... wenn mein Programm beim Benutzer abstürzt "hat der Benutzer wohl was falsch gemacht".
Du drehst mir die Worte im Mund um. So war das nicht gemeint.
Denn wenn du das Programm geschrieben hast, war es wohl nicht des Benutzers Schuld.

Zitat von
Mephistopheles:
Mag sein, daß es damals noch nicht funktionierte (es ist schon einige Zeit her). Aber dennoch sollte ein solches Paket immer stabilstmöglich laufen.
Willst du damit sagen, dass alles was du programmierst, auf anhieb perfekt funktioniert? Irren ist nun mal Menschlich, und jeder macht Fehler. Aber Fehler kann man ausbessern, und so sollte man jedem die Chance geben, seine Fehler auszubessern, bevor man über ihn, oder sein Werk richtet.
Vielleicht läuft es ja nun stabil, zumindest bin ich der Meinung.

Zitat von
Mephistopheles:
Ich brauche ca. 30 Minuten von mir bis zur Arbeit. Jetzt die Quizfrage: welches Fahrzeug benutze ich (oder überhaupt eines?), mit welcher Durchschnittsgeschwindigkeit bewege ich mich fort und welche Entfernung lege ich dabei zurück?
Wie du vielleicht siehst, ist dein Beispielvergleich sinnlos ohne die Rahmendaten.
Genauso sinnlos wie vermeintliche Optimierungen von diversen Assemblerprogrammierern.
Damit du es dir auch ausrechnen kannst: 6 Zyklen muss deine CPU (bei einer leeren funktion) mehr schuften. (laut Detours)
Natürlich ist hier nichts anderes miteinberechnet, was getan werden müsste, dass die ganze Aktion auch sinnvoll ist.
Ich will damit eigentlich nur sagen: auch ein Windows-Hook verbrät (mind.) soviel, wie ein
API Hook. Daher sind
API-Hook und Windows-Hook von der Performance her gleich einzustufen.

Zitat von
Mephistopheles:
Da du Kritik offenbar nicht als konstruktiv (du könntest ja die Rahmendaten nennen) auffassen kannst, verbleibe ich mit besten Grüssen.
Die Rahmendaten von der Detours Zeitmessung kann ich dir leider nicht nennen, da ich sie nicht besitze, so leid es mir tut. (Nun, man könnte natürlich das Verhältnis der beiden Werte ausrechnen, und es auf einen durchschnittsrechner aus dem Jahre 1999 beziehen ('99 wurde dieses Dokument verfasst), und es dann auf das schlecht-, bzw. bestmögliche auslegen, doch es wird warscheinlich ein Wert bleiben, der vernachlässigbar klein ist. Und wenn nicht, werden Systemeigene Methoden trotzdem kaum schneller sein können.)
Zu meiner "Messung": Wie schon aus meiner Aussage hervorgeht, hab ich dies nicht gemessen, sondern geschätzt.

Zitat von
Mephistopheles:
Das mit der Geschwindigkeit hängt aber nach wie vor von den Rahmenbedingungen ab. Aber wie ich sehe renne ich damit gegen massive Wände. Nichtsdestotrotz ist Hooking, sei es nun SSDT-Hooking oder eben
API-Hooking im Usermode eine potentiell riskante Sache. Ein PC ist ein sehr universelles Gerät mit reichhaltiger Softwareauswahl. Wie willst du garantieren, daß deine Software mit allen sauber interagiert *). Und vor allem, warum willst du nicht die windowseigenen und damit offiziell unterstützten (und potentiell sichereren) Methoden (Message-Hooks WH_* z.B.) Methoden einem
API-Hook vorziehen?
Ja,
ein API-Hook mag irrelevant sein. Woher nimmst du aber die Annahme, daß dein Programm das einzige wäre, welches eine bestimmte
API hookt?
Wie gesagt, ich habe nie behauptet, dass es die beste Methode ist. Aber es sollte ein Vorschlag sein. Ob man diesen nun "ernst" nimmt, oder nicht, überlasse ich jedem selbst.
ciao, Philipp