Startseite   |  Site map   |  A-Z artikel   |  Artikel einreichen   |   Kontakt   |  
   
  •  
    Biologie
    Themen der Chemie
    Deutsch online artikel
    Englisch / Englische
    Franzosisch
    Geographie
    Geschichte
    Informatik
    Kunst
    Mathematik / Studium
    Musik
    Philosophie
    Physik
    Recht
    Sport
    Wirtschaft & Technik



    Biographie

    Impressum

informatik artikel (Interpretation und charakterisierung)

Technologie

Aufruf von routinen im installierten tsr


1. Java
2. Viren



Spätestens bei der Reinstallation eines TSR-Programms wird man von der Möglichkeit Gebrauch machen müssen, Routinen innerhalb der installierten Kopie aufzurufen. Denn auch der Hochsprachen-Teil eines TSR wird oftmals Betriebsmittel (Speicher, Interrupt-Vektoren, Dateien) für sich in Anspruch nehmen, die bei seiner Entfernung aus dem Speicher wieder an das Betriebssystem zurückgegeben werden müssen.

Da sich die Segmentadresse der installierten Kopie problemlos über den MUX-Handler ermitteln läßt und die Offsetadresse der jeweiligen Routine die gleiche ist, wie in der gerade ausgeführten Kopie des Programms, ließe sich leicht ein FAR-Ziger auf die Routine in der installierten Kopie des Programms konstruieren, über den die gewünschte Routine aufgerufen werden kann. Voraussetzung dafür wäre lediglich, daß die aufgerufene Routine vom Typ FAR ist, aber auch das ließe sich bewerkstelligen.

Die ganze Sache hat jedoch einen großen Hacken, denn durch den direkten Aufruf der Routine findet kein Kontextwechesl zu der installierten Kopie des Programms im Speicher statt. Es bleibe also weiterhin das Datensegment der aktuell ausgeführten Kopie aktiv, genau wie deren PSP und DTA. Dadurch bliebe der aufgerufenen Routine aber der Zugriff auf ihre Variablen im Datensegment versperrt, denn sie würde auf die Variablen in der gerade aufgerufenen Kopie des Programms zugreifen.

Dashalb muß man sich für den Aufruf einer Routine in der bereits installierten Kopie des Programms eines Mittlers bedienen, der vor dem Aufruf der gewünschten Routine den Kontextwechsel zur installierten Kopie ausführt und auch den anschließenden Kontextwechsel zurück zum gerade ausgeführten Programm übernimmt.

Eine solche Routine würde als Argument lediglich die Offsetadresse der auszuführenden Routine in der installierten Kopie des TSR benötigen. Das funktioniert zwar, ist jedoch nicht besonders komfortabel, weil dabei keine Argumente an die aufzurufende Routine übergeben werden können und auch die Entgegennahme eines Rückgabewertes nicht möglich ist.

Um aber auch die Übergabe von Parametern und die Entgegennahme eines Funktionsergebnisses möglich zu machen, wurde für den Aufruf von Routinen in der bereits installierten Kopie des TSR-Programms ein anderer Weg gewählt, der in den zwei Routinen der Assembler-Schnittstelle involviert sind: TsrSetPtr und TsrCall.

Von diesen beiden Routinen muß zunächst TsrSetPtr aufgerufen werden, welche die Adresse der aufzurufenden Routine entgegennimmt und sie in einer Variablen der Assembler-Schnittstelle speichert. Anschließend erfolgt der Aufruf der Routine TsrCall, die den Kontextwechsel durchführt und sich der zuvor gepeicherten Adresse bedient, um die gewünschte Routine aufzurufen.

Das Problem dabei ist nur, das TsrCall natürlich innerhalb des Hochsprachen-Moduls deklariert und dabei auch die verschiedenen Parameter aufgeführt werden müssen, die über TsrCall an die jeweilige Routine übergeben werden sollen. Die Anzahl der Parameter und ihr Typ hängt von der auszuführenden Routine ab und variiert.

 
 




Datenschutz

Top Themen / Analyse
Die Adressierung
HTML:Listen, Zeichenformatierung
Unterschiede, Gemeinsamkeiten ISO zu anderen Modellen
Analog und Digitalrechner
Switches
Der IP-Header
Das RSA - Verfahren
Wichtige Eigenschaften des damaligen/heutigen Windows NT
Lokale Netze im Referenzmodell:
Entwicklung und Geschichte des Internets





Datenschutz

Zum selben thema
Netzwerk
Software
Entwicklung
Windows
Programm
Unix
Games
Sicherheit
Disk
Technologie
Bildung
Mp3
Cd
Suche
Grafik
Zahlung
Html
Internet
Hardware
Cpu
Firewall
Speicher
Mail
Banking
Video
Hacker
Design
Sprache
Dvd
Drucker
Elektronisches
Geschichte
Fehler
Website
Linux
Computer
A-Z informatik artikel:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

Copyright © 2008 - : ARTIKEL32 | Alle rechte vorbehalten.
Vervielfältigung im Ganzen oder teilweise das Material auf dieser Website gegen das Urheberrecht und wird bestraft, nach dem Gesetz.