Deutsch
Assembler Forum

Möchte ASM lernen...

 
- Seite 1 -


Hallo Frank...

Da mir Cpp zuviel Beiwerk hat, was mich vielleich beim Treiberprogging stören könnte, habe ich mich dafür entschieden ASM zu lernen. Kannst du mal einen genauen Downloadlink der Version angeben, mit der du proggst?
Ich werde dich demnächst garantiert mit zigtausend Fragen nerven (hab jetzt schon Bauchschmerzen bei dem, was da auf mich zukommt)..

Gruß

Andreas
 
24.10.2006  
 



 
- Seite 1 -


Meinst du? Warum?
Hab weder Erfahrung mit ASM noch mit C.
 
24.10.2006  
 



Nun ich denke die Vorarbeit um mit Asm einen Treiber kompilieren zu können ist erheblich - zumal es für C bereits Libs & Co gibt. Das DDK für XP ist IMHO leider kostenpflichtig und ich bin auch ldr. nicht im Besitz dessen.

ASM hingegen ist deutlich einfacher als C zu verstehen - es gibt einfach weniger Fallen. Einen Treiber programmieren würde ich damit jedoch warscheinlich nicht.
 
24.10.2006  
 



Besten Dank! Dann vielleicht doch C. Ich schau erst mal nach dem DDK - das bräuchte ich eigentlich nur für NT oder Windows2000.
 
24.10.2006  
 




Frank
Abbing
Hi.

Ich habe zwar noch nie einen Treiber geschrieben, aber das sollte mit MASM32 ebenso funktionieren wie mit C. Im übrigen sind die C-Libs kompatibel zu MASM32 und können direkt verwendet werden.
In diesen beiden Assemblerforen findest du genügend versierte User, die dir mit Infos und Demos helfen werden, wie ein Treiber zu schreiben ist. Vorausgesetzt, du kannst ein wenig Englisch:

[...] 
[...] 
 
24.10.2006  
 



Danke dir, Frank.

Ich habe sogar ganz schwer den Eindruck, daß das was ich vorhabe mit ASM noch wesentlich einfacher und besser geht, als mit C.
Zum Start brauche ich auf jeden Fall eine Vorlage für einen Hallo Welt Kernel Treiber in ASM und ein Tutorial für den Einstieg zur Treiberprogrammierung (für C habe ich beides). Wenn ich das auch für ASM finde, ist klar mit welcher Sprache ich weitermache.

Ich möchte nochmal betonen, daß das was ich da vorhabe eigentlich nicht sehr viel anders als das Schreiben einer DLL ist - du wirst mir also sehr gut weiterhelfen können.

Gruß

Andreas
 
25.10.2006  
 




Frank
Abbing
Natürlich helfe ich dir, sofern ich kann.
 
25.10.2006  
 



Hallo Frank...

Helfen kannst du mir auf jeden Fall - hab ja von ASM überhaupt gar keine Ahnung.
Zuerst aber mal eine Bitte:
Unter diesem [...]  findest du eine Erweiterung für deine ASM Version, die es dir ermöglicht, Treiber zu schreiben. Kannst du vorerst mal installieren?

Was ich vorhabe läuft größtenteils auch im Usermode, benötigt aber einen speziellen API Satz (also keine Gefahr für deine Hardware).

Gruß und besten Dank

Andreas
 
25.10.2006  
 



Habs auch installiert - mal probieren...
 
25.10.2006  
 



So - und was sollte Dein Treiber nun anstellen?
 
25.10.2006  
 




Frank
Abbing
Habs auch installiert.
 
25.10.2006  
 



 
- Seite 2 -


[quote:5b3acf3584=iF]So - und was sollte Dein Treiber nun anstellen?[/quote:5b3acf3584]
Mein Treiber Nr.1 soll nur einen anderen Treiber anhand dessen Ladeadresse aus dem Kernel schießen - wie der im Prinzip auszusehen hat, weiß ich. Schreiben möchte ich den selbst (will ja was dazulernen), brauche nur evtl. Hilfe beim Lernen von ASM.

Mein Treiber Nr.2 soll eine DLL in den Kernel laden ohne irgendeine Einsprungsadresse auszuführen.
Wozu?
Mein Gedanke: Wenns klappt, konnte man DLLs nach dem Laden in den Kernel so verändern, das etwas möglich wird, was eigentlich gar nicht möglich ist - nämlich interaktive Treiber zu programmieren.
Wie man DLLs auf diese Art in den Kernel schießt, weiß ich in etwa.
Daß das im Prinzip möglich sein könnte, habe ich bereits im User Mode ausgetestet - ich habe DLLs ohne das Ausführen der Einsprungsadresse geladen und diese nachher so manipuliert, das die Exportfunktionen ausführbar waren (mit TNT läßt sich das testweise sehr einfach bewerkstelligen).

Beide Treiber werden Bestandteile von Mister Root werden.
Und was soll Dein Treiber veranstalten?
 
26.10.2006  
 



[quote:47fe3478ff=Andreas Hötker]Was ich vorhabe läuft größtenteils auch im Usermode, benötigt aber einen speziellen API Satz (also keine Gefahr für deine Hardware).
[/quote:47fe3478ff]
Das bezieht sich vor allen Dingen auf folgendes:
Ich muß dem Treiber irgenwie mitgeben, welches Modul er im Kernel entladen soll. Da ich keine Parameter übergeben kann, schreibe ich die Daten dazu auf die Festplatte bevor ich den Treiber starte. Auslesen kann ich aber nicht mit dem normalen API Satz - der befindet sich ja in der Kernel32 - ich muß dazu die Native-API aus der NTDLL verwenden => deshalb der Download (will hoffen, das die passenden Header dabei sind).

Zum Proggen komme ich frühestens ab Freitag, da ist meine Nachtschicht rum und ich hab einige Stunden Zeit zum Lesen und Ausprobieren.
 
26.10.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

17.370 Betrachtungen

Unbenanntvor 0 min.
Kutsche20.01.2016
Andreas Koch02.12.2014
Ernst18.10.2014
funkheld15.12.2013
Mehr...

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

unbekannt (7x)
iF (4x)
Frank Abbing (3x)


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