Reinen Maschinencode ausfuehren

K

kotzkroete

Doppel-As
Hallo,
ich wollte mal fragen, ob es evtl. moeglich ist den reinen Binaercode auszufuehren. Also ohne den ganzen ELF Kram. Nur die Instructions. Das waer ganz lustig, dann koennte ich endlich mal richtig in Binaercode schreiben :)
 
Du willst Binär schreiben??? So richtig mit
Code:
00111001111100010101010
Naja.... Viel spass.

Aber ich glaube das geht nicht. Haste schon mal versucht ne Bin-Datei im Editor aufzurufen?
Da kommt nur kauderwelsch raus...
 
Das geht ganz bestimmt nicht. Dazu ist der Kernel ja auch da, als Zwischenschicht zwischen Hardware und Programmen/ Nutzer. Ist u.a. eine Frage des Schutzes der Maschine vor Fehlanwendungen.
 
theoretisch würde es gehen ABER ich würde es nicht machen wollen da man den byte code nicht vernünftig beenden kann (es sei denn du bist kernelhacker lvl99+)
 
Heisst das, wenn der Kernel mal nen schlimmen Fehler hat, kann einem die Maschine ins Gesicht springen?
Es gibt genuegend Viren, die Hardwareschaeden anrichten, und die muessen nicht mal direkten Zugriff auf die Hardware haben. Also ja, das kann sein.
 
Klar geht das, die praktischere Darstellung ist allerdings die Basis 8. Du solltest aber einen Assembler zu Rate ziehen, damit das, was Du als Binärsuppe zur Ausführung bringst, für die CPU auch einen Sinn ergibt.

Nur ist das unbedachte Exekutieren von Binärsuppe nicht gerade sinnvoll; die CPU quittiert nicht erkannte Instruktionen und für die Privilegienstufe der CPU unzulässige Instruktionen und Speicherzugriffe eh mit Ausnahmen. Die Kunst ist, irgendwo einen Fehler zu finden, der einem root-Rechte verschafft, noch schwieriger in den Ring-0 zu gelangen und dort Code auszuführen, wie es Kernel-Module machen.

Ansonsten machen die Exploit-Entwickler aber den ganzen Tag nichts anderes als das... ;)
 
Zuletzt bearbeitet:
Und wie fuehrt man auf einem System mit Betriebssystem reinen Maschinencode aus?
 
Mir ist schon klar, wie ich Maschinencode schreiben kann oder Assembly code uebersetzen kann. Nur meine Frage war, ob ich eine Datei mit REINEM Binaercode ausfuehren kann, ohne ELF haeder und den ganzen Krempel.
Der Inhalt ist ja derselbe. Nur das Dateiformat nicht.
Reiner Maschinecode:
http://rafb.net/p/7TyOzb87.html
ELF Datei:
http://rafb.net/p/kuNUew75.html

Wenn ich kein Betriebssystem habe, kann ich doch auch den reinen Maschinencode ausfuehren...muss doch auch so gehen.
Edit: @sim: Bei deinem Binaerbeispiel fehlt uebrigens ein bit :P
 
Zuletzt bearbeitet:
Sorry, jetzt kapier ich es erst... Ein schönes Betriebssystem wäre das, das so etwas zulässt. Das würde ich nicht auf der Platte haben wollen... ;)

Du wirst wohl den Umweg über ein Kernel-Modus machen müssen. Aber dann hast Du den Rechner wirklich voll in der Hand.
 
Zuletzt bearbeitet:
Und wie mach ich das?
Wenn du das Wissen hast, dann kannst du Binärcode schreiben.
Willst du den vom BIOS ausführbar machen, dann musst du den Startcode dort anschließen.
Mit einem OS hat das dann wenig zu tun.
Du kannst natürlich die CPU mit Microcode programmieren( wenn du es beherrscht).
Aber genau dafür gibt es ja Assembler, damit du dich nicht mit der internen Darstellung herumschlagen musst.
Als ich meine ersten Kontakte mit Computern hatte, war sowas noch alltäglich. Aber Heute ist das reichlich ineffizient, weil nicht unbedingt portierbar, und extrem aufwänding bei der Erstellung.
Das geht schon damit los, dass du die Register der CPU und den möglichen Befehlssatz perfekt kennen musst, und diesen im MC(HEX-BIN) beherrschen musst.
Schnöde Ausführungsrechte haben damit Nichts zu tun, das ist nämlich schon etliche Ebenen Höher (OS-Typisch).

Gruß Wolfgang
PS Ach ja, Um das zu erstellen, such dir einen Hexeditor. ;)
 
Naja, also effizient will ich das nicht unbedingt machen, einfach so zum Spass. Ist doch cool, auf der untersten Ebene zu programmieren :)
Und schreiben tu ich den Code eh anders: Mit Zettel und Stift, dann lass ich den Assembler das nochmal uebersetzen und gucke dann, ob ich alles richtig hab bzw. was ich falsch hab. Ich schreibe den Code, der spaeter mal ausgefuehrt werden soll eigentlich eh nicht selber, meiner steht aufm Papier.

So wie du es mir beschrieben hast, hoert es sich so an als ob ich das mit einem Betriebssystem nicht ausfuehren kann, stimmt das? Weil das ist ja nicht der Sinn der Sache, ein primitives Betriebssystem, das rebooten und die Hilfe anzeigen kann, hab ich auch schon geschrieben :P
Aber ich wollte ja eigentlich nur auf ELF verzichten :/
 

Ähnliche Themen

Samba 4 aus repository über lokale Source-Installation installieren?

Keine grafische Oberfläche (Debian Installation)

openSSH: SFTP / FTPS

Gruppenchat: OTP-Verschlüsselung

Telefoninterview (Wie sich auf Bash-Shell-Fragen vorbereiten?)

Zurück
Oben