... please wait while loading ...

To view the complete site without permanently having to scroll, your browser-window should be maximized to support your screen-resolution of .
Tilman Heyl
hansjoerg bendiner
  1.566.529 Nedstat Basic - Kostenlose web site statistiken Persönliche Homepage webseite Zähler
Kostenlose Zähler
In memoriam C-BIT Information-Center Hannover (2.241/1075+2.241/1076 - no longer active)
Suchmaschinen-Optimierung Webdesign Hirschfeld Elbe Elster Webdesign Hirschfeld Elbe Elster
Sicherheitshinweis: Wir weisen vorsorglich darauf hin, dass wir bei der Anmeldung saemtliche automatisch uebermittelten Parameter wie IP-Adresse und/oder Einwahlrufnummer speichern, um uns und unsere Kunden vor Missbrauch zu schuetzen. Selbstverstaendlich werden wir bei Bedarf umgehend strafrechtliche Massnahmen ergreifen, um einen vorliegenden Missbrauch zu ahnden.

Wie transparent Abfangen von Procedure Calls in Windows

ACHTUNG: Der folgende Knowledge Base Artikel wurde durch ein maschinelles Übersetzungssystem ohne jegliche menschliche Mitwirkung übersetzt. Microsoft stellt diese Artikel deutschsprachigen Benutzern, die der englischen Sprache nicht mächtig sind, als Hilfe zur Verfügung, damit diese den Inhalt dieser Artikel verstehen können. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Artikel-ID:11623
Geändert am:Mittwoch, 29. Oktober 2003
Version:3.0

Zusammenfassung

Eine Technik für Aliasing-Prozedur-Namen in Windows ermöglicht es Prozedur-Aufrufe transparent abgefangen. Zu Überwachung von Aktivitäten wie dem Überprüfen von Argumenten auf Gültigkeit können Sie diese Technik verwenden.

Transparent ruft das Abfangen von Prozedur eine ausführbare Windows-Codebibliothek, die folgend entspricht, erste Erstellung auf:
          HANDLE MyGlobalAlloc( flags, size )
        WORD  flags;
        DWORD size;
        {
            /* Perform any type of monitoring necessary here.

               if ( !size )
                   return 0;

            */ 
            return RealGlobalAlloc( flags, size );
        }

        HANDLE FAR PASCAL main( argc, argv )
        WORD argc;
        LPSTR argv;
        {
            return 1;
        }
				
Schreiben Sie die Definitionsdatei oben für die Bibliothek wie folgt als nächste:
   BOO.DEF:
   LIBRARY BOO
   DESCRIPTION "Procedure call interception library."
   DATA SINGLE MOVEABLE
   CODE MOVEABLE DISCARDABLE
   EXPORTS
          GlobalAlloc=MyGlobalAlloc
   IMPORTS
           RealGlobalAlloc=KERNEL.15
				
Sie können die Kernel-Ordnungszahlen für die Routinen ( oder jede andere Routine) erhalten, indem Sie das LIB.EXE-Programm zu dem Auflisten der Inhalte von SLIBW oder MLIBW verwenden.

Erstellen Sie ein Dynamic Link Library (DLL) indem Sie IMPLIB BOO.DEF wie folgt ausführen:
   IMPLIB BOO.DEF BOO.LIB
				
Erstellen Sie die ausführbare Bibliothek, indem Sie die folgende Tabelle verwenden:
   link boo,,,mlibw mlibc,boo.def;
				
Verknüpfen Sie dynamisch zu BOO.EXE als nächste, indem Sie folgendermaßen zu BOO.LIB verknüpfen:
   link car,,,boo mlibw mlibc,car.def;
				
Jede Aufrufe von GlobalAlloc() werden zuerst zu MyGlobalAlloc() wegen des Namensaliasing weitergeleitet. Diese Technik ist sehr leistungsstark und kann zu dem Implementieren der Überwachung beliebigen Typen von Funktion verwandt werden. Im Fall von GlobalAlloc() ist die Überwachung in dem Sinn transparent, dass erneut das Kompilieren der Anwendung nicht erforderlich ist, die Fehlerüberprüfung zu entfernen, zu MLIBW.LIB zu BOO.LIB MLIBW.LIB erstellen Sie einfach eine Verknüpfung.

Die Informationen in diesem Artikel beziehen sich auf:
 Microsoft Windows Software Development Kit 3.0
 Microsoft Windows Software Development Kit 3.1

Zum Anfang

Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.


This mirror is sponsored by:
Hansjoerg G. Henker
A-Z Consulting & Development
[517]

Information-Center [20.11.2008 13:57:12]