I/O -Dateien
-
Hi Leute bin Anfänger in sachen Assembler.
Mal ein paar Fragen:
1.)Wie greife ich auf Dateien zu (I/O)? Ist die Methode: In C schreiben und dissasemblieren vernünftig?
2.)Hat ne .exe irgendein startupcode? Wenn ja wie lang (in bytes) ist er, und was beinhaltet er?Für eure Antworten wäre ich sehr dankbar
-
linu(x)bie schrieb:
1.)Wie greife ich auf Dateien zu (I/O)? Ist die Methode: In C schreiben und dissasemblieren vernünftig?
Das ist betriebssystemabhängig. Meinst du Windows, Linux, ein eigenes OS oder etwas ganz anderes?
linu(x)bie schrieb:
2.)Hat ne .exe irgendein startupcode? Wenn ja wie lang (in bytes) ist er, und was beinhaltet er?
Schau dir mal auf http://www.wotsit.org das PE-Format an.
-
THX
cd9000 (loggedout) schrieb:
linu(x)bie schrieb:
1.)Wie greife ich auf Dateien zu (I/O)? Ist die Methode: In C schreiben und dissasemblieren vernünftig?
Das ist betriebssystemabhängig. Meinst du Windows, Linux, ein eigenes OS oder etwas ganz anderes?
Na ich code unter c unter beiden systemen. Würd mich daher irgendwie Linux und Windows interessieren.
-
Unter Linux brauchst du einen syscall, dessen Name mir grad nicht einfällt.
Unter Windows brauchst du einen Treiber, den's bei Dr. Dobbs gibt. directio oder giveio oder so ähnlich.
Dann geht's einfach mit den Assemblerbefehlen in und out.
EDIT: ioperm heißt der syscall.
-
Zum lesen von Dateien musst du eben Systemcalls benutzen oder irgend welche Librarys, wie die libc und dann über man: fopen(3) etc. arbeiten
Ist die Methode: In C schreiben und dissasemblieren vernünftig?
Kommt drauf an, was du erreichen willst. Übrigens können viele Compiler dir den Assembler Code direkt ausgeben, dass ist idr. praktischer als zu disassemblieren. Beim GCC geht das mit der -S Option.
2.)Hat ne .exe irgendein startupcode? Wenn ja wie lang (in bytes) ist er, und was beinhaltet er?
Ja natürlich.
Siehe die Manpage man: elf(5) unter Linux.
-
-
Ist da schon immer was von I/O und Dateien gestanden oder wurde das hinzueditiert? Wenn ja, hab ich's offenbar jedenfalls falsch gelesen.
-
Vielen dank für eure Antworten