Reinen Maschinencode ausfuehren

Dieses Thema im Forum "Programmieren allgemein" wurde erstellt von kotzkroete, 13.07.2007.

  1. #1 kotzkroete, 13.07.2007
    kotzkroete

    kotzkroete Doppel-As

    Dabei seit:
    22.10.2006
    Beiträge:
    132
    Zustimmungen:
    0
    Ort:
    /germany/berlin/zehlendorf
    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 :)
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 sim4000, 13.07.2007
    sim4000

    sim4000 Lebende Foren Legende

    Dabei seit:
    12.04.2006
    Beiträge:
    1.933
    Zustimmungen:
    0
    Ort:
    In meinem Zimmer
    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...
     
  4. #3 supersucker, 13.07.2007
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    AFAIK nein.

    Nimm halt assembler wenn du "cpu-nah" programmieren willst.
     
  5. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    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.
     
  6. #5 sim4000, 13.07.2007
    sim4000

    sim4000 Lebende Foren Legende

    Dabei seit:
    12.04.2006
    Beiträge:
    1.933
    Zustimmungen:
    0
    Ort:
    In meinem Zimmer
    Heisst das, wenn der Kernel mal nen schlimmen Fehler hat, kann einem die Maschine ins Gesicht springen?
     
  7. b00

    b00 Haudegen

    Dabei seit:
    28.03.2007
    Beiträge:
    597
    Zustimmungen:
    0
    Ort:
    /root
    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+)
     
  8. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Es gibt genuegend Viren, die Hardwareschaeden anrichten, und die muessen nicht mal direkten Zugriff auf die Hardware haben. Also ja, das kann sein.
     
  9. #8 der_Kay, 13.07.2007
    Zuletzt bearbeitet: 13.07.2007
    der_Kay

    der_Kay Doppel-As

    Dabei seit:
    28.02.2006
    Beiträge:
    140
    Zustimmungen:
    0
    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... ;)
     
  10. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Und wie fuehrt man auf einem System mit Betriebssystem reinen Maschinencode aus?
     
  11. #10 kotzkroete, 13.07.2007
    Zuletzt bearbeitet: 13.07.2007
    kotzkroete

    kotzkroete Doppel-As

    Dabei seit:
    22.10.2006
    Beiträge:
    132
    Zustimmungen:
    0
    Ort:
    /germany/berlin/zehlendorf
    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
     
  12. #11 der_Kay, 13.07.2007
    Zuletzt bearbeitet: 13.07.2007
    der_Kay

    der_Kay Doppel-As

    Dabei seit:
    28.02.2006
    Beiträge:
    140
    Zustimmungen:
    0
    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.
     
  13. #12 kotzkroete, 13.07.2007
    kotzkroete

    kotzkroete Doppel-As

    Dabei seit:
    22.10.2006
    Beiträge:
    132
    Zustimmungen:
    0
    Ort:
    /germany/berlin/zehlendorf
    Und wie mach ich das?
     
  14. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  15. #13 Wolfgang, 14.07.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    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. ;)
     
  16. #14 kotzkroete, 14.07.2007
    kotzkroete

    kotzkroete Doppel-As

    Dabei seit:
    22.10.2006
    Beiträge:
    132
    Zustimmungen:
    0
    Ort:
    /germany/berlin/zehlendorf
    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 :/
     
Thema: Reinen Maschinencode ausfuehren
Besucher kamen mit folgenden Suchen
  1. exploit maschinencode

Die Seite wird geladen...

Reinen Maschinencode ausfuehren - Ähnliche Themen

  1. iptables --src --dst vereinen

    iptables --src --dst vereinen: Hi, ich habe einmal eine kleine Frage zu iptables. Ich möchte nicht immer zwei iptables Regeln erstellen: iptables -t FORWARD -port 22 --src...
  2. Ich suche geeignete Distri für reinen Desktop

    Ich suche geeignete Distri für reinen Desktop: hi, ich habe.. verzeihung.. hatte openSuSE 11.1 nach dem letzten Upgrade via Yast hat er mir auf Grund diverser Paketabhängigkeite die...
  3. Reinen FTP Server erstellen?

    Reinen FTP Server erstellen?: Hallo Ich möchte gern einen reinen FTP Server bei mir hinstellen es soll nix anderes außer ein FTP programm laufen, Firewall is ja nich nötig da...