Deutsch
Forum

DatenaustauschTreiber / Profanprogramm

 
Ich brauche mal etwas Brainstorming. Folgendes Problem:
Ein Profanprogramm startet einen Treiber, der im Kernelmode bestimmte Daten auslesen soll. Diese Daten müssen dann an das Profanprogramm übermittelt werden.
1.) Der Treiber muß wissen, welche Daten er auslesen soll - es müssen also Daten vom Profanprogramm an den Treiber übermittelt werden.

2.) Die Ausgelesenen Daten sollen vom Profanprogramm angezeigt werden. Es müssen also Daten vom Treiber an das Profanprogramm übermittelt werden.

Dabei gibt es folgendes Problem:
Der Treiber kann praktisch nur APIs aus der ntoskrnl.exe und der ntdll.dll benutzen, da in den Kernel die GDI32, USER32, KERNEL32.dll,... nicht geladen sind. Wie ließe sich das am besten bewerkstelligen?
Nur Ideen gewünscht, Quelltext natürlich nicht unbedingt.
 
05.11.2006  
 




Michael
Wodrich
Was steht denn an Möglichkeiten zur Verfügung?
Message-Handling?

Irgendwo muß doch in den Treiber-Kits stehen wie man Daten an die Treiber leitet und empfängt. Genau dort würde ich nach den Infos suchen.

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
05.11.2006  
 



[quote:77fcc8a5e9=Michael Wodrich]Was steht denn an Möglichkeiten zur Verfügung?
Message-Handling?
[/quote:77fcc8a5e9]
Messages vom Profanprogramm an den Treiber kann ich auf keinen Fall senden. Andersherum wird es wohl auch sehr schwierig werden.
Die Festplatte und die Registry stehen auf jeden Fall zur Verfügung.

[quote:77fcc8a5e9=Michael Wodrich]
Irgendwo muß doch in den Treiber-Kits stehen wie man Daten an die Treiber leitet und empfängt. Genau dort würde ich nach den Infos suchen.

Schöne Grüße
Michael Wodrich[/quote:77fcc8a5e9]
Mal schauen... Es könnte aber durchaus sein, das ein solcher Austausch gar nicht vorgesehen ist und man selbst improvisieren muß. Davon gehe ich eigentlich sogar fast aus....
 
05.11.2006  
 




Michael
Wodrich
Nein brauchst Du nicht von ausgehen.

Auch unter DOS war es schon so, daß mit IOCTRL eine Schnittstelle da war, mit deren Hilfe man Daten in beide Richtungen leiten konnte.

Wie sonst kann man Daten an einen Druckertreiber senden und dieser den Druckerstatus zurückmelden?

Es gibt da mit Sicherheit einen Weg, der in den Treiberkits auch beschrieben wird.

Habe leider im Moment wenig Zeit für einen Treiber-Ausflug, aber Du wirst dort mit absoluter Sicherheit fündig.

ALLE Treiber müssen Daten senden und empfangen können, sonst ist ihre Existenz doch sehr Zweifelhaft.

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
05.11.2006  
 



Besten Dank, das bringt mich schon etwas weiter.
 
05.11.2006  
 



FileMapping?
 
05.11.2006  
 



Mmmh... die Funktionen, die ich da kenne, kommen aus der Kernel32. Kann ja mal schauen, ob es in der NTDLL da was entsprechendes gibt.
Ein direktes Schreiben in den Speicher des Profan-Prozesses wäre auch möglich.
 
05.11.2006  
 



Hallöchen...

Das Schlagwort scheint hier Device Driver zu sein. Um das zu machen, was ich eigentlich vorhabe, werde ich mich da wohl komplett einarbeiten müssen . Ich werde also in der nächsten Zeit nur noch sporadisch hier sein und mir wirklich nur das durchlesen, was mir wichtig erscheint.

Was ich vorhabe, ist einen Memory-Scanner für Speicherbereiche oberhalb von 2GB zu entwickeln, in der Art wie das [...]  zur Zeit für Speicherbereiche unterhalb von 2GB tun kann. Es würde damit die Möglichkeit geben, nach beliebiegen Objekten im Speicher zu suchen und diese bei Bedarf direkt zu ändern.

Beispiel:
Ein als Treiber programmierter Virus hat einen Rechner befallen. Ein Virenscanner kann ihn nicht finden und durch bestimmte Methoden hat er sich für normale Treiberlistings unsichtbar gemacht. Mit einem solchen Tool könnte man dann zuerst nach der Liste der geladenen Module suchen und sich diese komplett anzeigen lassen. Sind hier bestimmte Veränderungen zu sehen, hat man schon mal dier Adresse (und Größe) des Treibers. Über diese Daten könnte man dann die entsprechende DRIVER_OBJECT Struktur des Virus ermitteln und den Treibernamen bekommen.

Da man mit dem Tool, das ich da bauen möchte, wie bei [...]  nach beliebiegen Daten im Speicher suchen können soll, ließe sich alles möglich damit anstellen und man könnte quasi dem Betriebsystem Windows die Unterwäsche ausziehen.

Das ganze ist für jemanden wie mich, der weder großartig Ahnung von ASM noch von Treiberprogrammierung hat eine riesengroße Aufgabe, und ich bin schon sehr gespannt, wie weit ich damit komme .

Gruß

Andreas
 
20.11.2006  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.906 Betrachtungen

Unbenanntvor 0 min.
Peter (3)27.11.2017
Thomas Zielinski12.10.2014
Uwe ''Pascal'' Niemeier14.01.2011

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

unbekannt (5x)
Michael Wodrich (2x)
iF (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie