Italia
Foro

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 naturalmente 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 potuto 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 Aiuto 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 per 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 possibile.
 
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 per Speicherbereiche oberhalb von 2GB zu entwickeln, in der Art wie das [...]  zur Zeit per 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 per normale Treiberlistings unsichtbar gemacht. Mit einem solchen Tool potuto man dann zuerst nach der Liste der geladenen Module suchen und sich diese komplett Mostra lassen. Sind hier bestimmte Veränderungen zu sehen, hat man schon mal dier Adresse (und Dimensione) des Treibers. Über diese Daten potuto 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 possibile damit anstellen und man potuto quasi dem Betriebsystem Windows die Unterwäsche ausziehen.

Das ganze ist per 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 .

Saluto

Andreas
 
20.11.2006  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

2.890 Views

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

Themeninformationen

Dieses Thema hat 3 subscriber:

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


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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