BinUtils

Direkte Linux-Programmierung, POSIX
Antworten
Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

BinUtils

Beitrag von Xin » Sa Apr 17, 2010 7:30 pm

Aus diesem Thread:
Dirty Oerti hat geschrieben:Ha, ich hab noch was vergessen:

objdump -D OBJEKTDATEI.o > disassembler.txt
Da fällt mir ein: Hast Du Erfahrung mit den BinUtils?
Also wie man eine Objektdatei erzeugt oder ein ELF-File oder Dokumentation dazu?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: BinUtils

Beitrag von Dirty Oerti » Sa Apr 17, 2010 8:23 pm

Ähm :) *noch* Nicht wirklich.
Das ganze wollte ich mir mal anschauen, schon im Bezug auf meinen Kernel.
Ich hab wegen ELF Files einiges an Links irgendwann irgendwo mal gespeichert.
Ich kann mal schaun, ob ich die wiederfinde.

Ansonsten ist das ja eigentlich ziemlich "simpel":

Man schreibt den ELF Header, der muss korrekt gefüllt werden. Dahinter kommen dann die einzelnen Sections.
Eben jeweils wieder mit Header, soweit ich weiß :)
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

Benutzeravatar
Jside
Beiträge: 377
Registriert: Di Nov 11, 2008 12:56 am

Re: BinUtils

Beitrag von Jside » Sa Apr 17, 2010 8:49 pm

Mhm, mann kann doch Assembler gleich vom Compiler ausgeben lassen a la:
cc -S -o asm.txt main.c
Wegen so nem zeug schaut man mal am besten bei Lowlevel, oder der OS Dev Wiki nach, da ist das ganz gut erklärt/referenziert;
http://wiki.osdev.org/ELF
http://lowlevel.brainsware.org/wiki/index.php/ELF

Zumindest mal das Laden einer solchen ist nicht weiter kompiliziert, nur ein bisschen getippe >= ~150 Zeilen code, generieren tja keine Ahnung, müsste man mal den NASM oder system as (man as) o.ä. auseinandernehmen...

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: BinUtils

Beitrag von Xin » Sa Apr 17, 2010 10:50 pm

Dirty Oerti hat geschrieben:Ähm :) *noch* Nicht wirklich.
Das ganze wollte ich mir mal anschauen, schon im Bezug auf meinen Kernel.
Ich hab wegen ELF Files einiges an Links irgendwann irgendwo mal gespeichert.
Ich kann mal schaun, ob ich die wiederfinde.
Schaumal bitte. Ich habe jetzt zwei Interpreter in Entwicklung und bei Gelegenheit muss ich mir Gedanken über den nativen Codegenerator machen. Unter'm Amiga habe ich das bereits soweit hinbekommen, aber ich glaube, das ist derzeit nicht mehr ganz so aktuell.

Für Deinen Kernel hast Du doch freie Auswahl, oder möchtest Du Deine Programme auch im ELF Format beschreiben?
Dirty Oerti hat geschrieben:Ansonsten ist das ja eigentlich ziemlich "simpel":

Man schreibt den ELF Header, der muss korrekt gefüllt werden. Dahinter kommen dann die einzelnen Sections.
Eben jeweils wieder mit Header, soweit ich weiß :)
Ich habe mir ein "Hello World"-kompiliert und den Hex-Dump ausgedruckt. Anschließend habe ich das Programm beschriftet und versucht nachzuvollziehen, was da passiert. Ich habe mir das Buch Linkers und Loaders gekauft und das damit auch soweit nachvollzogen bekommen. Aber ggfs. will ich natürlich die vorhandenen Libs gebrauchen. Dafür muss ich mir aber noch Tutorials raussuchen - oder halt selbst schreiben.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: BinUtils

Beitrag von Xin » Mo Apr 26, 2010 6:27 pm

Ich habe mich jetzt mal an die Übersetzung eines Textes über ELF gemacht.

Grundsätzlich scheint mir allerdings eine Frage offen zu bleiben: Ist jemandem eine Library bekannt, mit der sich ELF-Files genieren und verwalten lassen oder läuft das tatsächlich noch auf Handarbeit hinaus?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten