Hardwarenahe Programmierung und BIOS Interrupts unter WIndows

Knogle

Volt-Modder(in)
Hallo liebe Community ,
Ist es moeglich die oben genannten Dinge unter Windows durchzufuehren?
Ich habe versuch einige Sachen ueber den I/O Port 13h zu machen , jedoch crashte das Programm unter Windows jedes mal <.<
Desweiteren wollte ich Aenderungen am Dateisystem vornehmen jedoch laesst WIndows das auch nicht zu , noch nichtmal mit dem Administratorkonto und auch andere Dinge die in diese Richtung gehen funktionieren nicht
Warum ist das so und kann man das irgendwie aendern?


MfG
 
Windows ist für hardwarenahe Programmierung eigentlich nicht geeignet, nur mal so nebenbei angemerkt.

Ich habe versuch einige Sachen ueber den I/O Port 13h zu machen , jedoch crashte das Programm unter Windows jedes mal <.<
Out of the Box geht das nicht. Die einzige Lösung, die mir so ad hoc einfällt, wäre ein I/O-Port-Treiber. Kann man selber machen, da gibt es aber auch fertige Sachen.

Desweiteren wollte ich Aenderungen am Dateisystem vornehmen jedoch laesst WIndows das auch nicht zu , noch nichtmal mit dem Administratorkonto und auch andere Dinge die in diese Richtung gehen funktionieren nicht
Warum ist das so und kann man das irgendwie aendern?
MfG
Was für Änderungen willst du denn da machen? Das hat schon seinen Sinn, dass das nicht so einfach machbar ist.
 
Windows ist für hardwarenahe Programmierung eigentlich nicht geeignet, nur mal so nebenbei angemerkt.


Out of the Box geht das nicht. Die einzige Lösung, die mir so ad hoc einfällt, wäre ein I/O-Port-Treiber. Kann man selber machen, da gibt es aber auch fertige Sachen.


Was für Änderungen willst du denn da machen? Das hat schon seinen Sinn, dass das nicht so einfach machbar ist.
Einfach nur Experimente
Nichtmal mit nem Diskeditor ging das unter Windows

Ist das ganze denn unter DOS moeglich ?
Ich will eigentlich zusaetzlichen Code in die Datei $Reparse einfuegen und Aenderungen am $Extend Ordner vornehmne
Ich kann den mit Takeown uebernehmen aber nicht drauf zugreifen
 
Mit DOS hast du ja direkten Hardwarezugriff, also müsste das gehen. Du kannst aber auch über ein (Live-)Linux mit einer Hochsprache am Windows-Dateisystem herumschrauben.

Du meintest wohl auch Interrupt 13h und nicht Port 13h fällt mir gerade auf, oder? Auf diese BIOS Interrupts kannst du unter Windows auch mit einem Treiber nicht zugreifen, da es diese quasi nicht mehr gibt.
 
Ja stimmt sonst gäbs keine Fehlermeldung :D
Ich hab zwar kein Plan was du genau machen willst, aber die Seite codeproject.com ist voll von so Zeug.

Außerdem denke ich nicht das du im Userspace das Dateisystem manipulieren kannst. Dann könnten sich ja Viren im Userspace heraus nahezu unsichtbar machen.
 
Doch, das geht schon, wenn man die notwendigen Rechte hat. Mit der Funktion CreateDevice kann man auch Geräte "öffnen". Und es gibt durchaus Viren, die sich durch Manipulation des Dateisystems unsichtbar machen können, im laufenden Zustand findet die kein Virenscanner.
 
Mit dem Diskeditor kann ich ja alles editieren AUSSER wenn ich irgendwie in die Dateien wie $MFT , $UpCase etc. reinkomme steht dort Zugriff Verweigert
Warum schraenkt Windows eigentlich alles so massiv ein auch wenn man Aedmin ist?
 
Naja das hat Vor und Nachteile. Was jetzt besser ist kann ich mit meinem Wissen nicht beantworten ^^ Ich muss dazu sagen ich hab noch nie unter Linux Hardware nahe programmiert.

Edit: Bist du Admin oder Systemadmin? Letzteres musst du expliziert aktivieren.
 
Mit dem Diskeditor kann ich ja alles editieren AUSSER wenn ich irgendwie in die Dateien wie $MFT , $UpCase etc. reinkomme steht dort Zugriff Verweigert
Warum schraenkt Windows eigentlich alles so massiv ein auch wenn man Aedmin ist?
Weil du aus Sicht von Windows da nichts dran zu suchen hast. Das Risiko sich das System irreperabel zu zerschießen ist sehr hoch. Und außerdem dient das auch dem Schutz vor fehlerhafter bzw. böswilliger Software (wobei man jetzt über die Effizienz dieser Schutzmaßnahme noch diskutieren könnte)
 
Ich bin Systemadmin , ich habs auch aktiviert.
Ich habe einen PC extra fuer diesen ganzen Kram damit ich rumspielen kann ohne Einschraenkungen deshalb waere es nicht schlimm wenn das System irreperabel kaputt ist
Wie erlangt dann Windows Zugriff auf diese Dateien?
 
Kann man denn irgendwie Zugriff auf diese Dateien erlangen?
Wenn du kein kompatibles Programm findest, könnte man sich notfalls noch selbst an die Platte hängen. Also mittels CreateDevice() ein Handle holen und dann das Dateisystem manuell verarbeiten. Aber eigentlich müsste der Diskeditor genauso arbeiten. Hast du den auch wirklich mit Adminrechten gestartet (also Rechtklick -> Als Administrator ausführen)? Ansonsten bleibt halt nur die Platte nicht mit laufendem Windows zu bearbeiten (z.B. Live-Linux verwenden).

Gibts auch NTFS Support fuer DOS?
Damit sieht es eher schlecht aus. OOTB natürlich nicht, eventuell gibt es da aber irgendeinen 3rd party Treiber.

die FAT finde ich auch nicht bei FAT Dateisystem unter DOS..
Das ist ja auch keine Datei, sondern eine Datenstruktur auf dem Datenträger. Wenn du mit dem Kram rumspielen willst, müsstest du das aber eigentlich wissen. Ansonsten kann ich mir nämlich nicht vorstellen, was du auf der Ebene überhaupt machen willst.
 
Ja habe ich :D
Habe HxD genutzt
Mit FAT habe ich leider keine Erfahrung , deshalb frage ich.
Kann man das System denn irgendwie in den real mode versetzten ohne grosse Schwierigkeiten bzw. im realmode lassen?
Das System wechselt ja erst durch den bootmgr in den protected mode
 
Den Real Mode gibt es unter Windows nicht, da hast du keine Chance. Da bleibt dir auch wirklich nur DOS übrig. Wenn du keine Hardware hast, die "DOS-kompatibel" ist, könntest du dir z.B. eine virtuelle Maschine mit DOS einrichten (Virtualbox, QEMU, ...) und dann dort mit virtueller Hardware experimentieren.
 
Zuletzt bearbeitet:
Zurück