Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Nachrichten - XanClic

Seiten: 1 ... 10 11 [12] 13 14
221
Offtopic / Re: Disassembler
« am: 07. October 2009, 15:48 »
wtf? Du weißt schon, dass man mit einem Disassembler auch sinnvolle Dinge machen kann. Oder ihn einfach zum Spaß schreibt. Schreibst du ein Betriebssystem, um es an viele Leute zu verkaufen? Ich hoffe mal, nicht, ehrlich gesagt.
Schon mal was von ndisasm gehört? Das ist der Disassembler von nasm. Es haben sich also schon Leute Gedanken über Disassembler gemacht, ohne Windows zu disassemblieren. Was auch überhaupt nix bringen würde, weil so viel Assembler ohne jegliche Bezeichnungen und alles wohl eher unverständlich ist. Und ich bezweifle, dass Microsoft viel Debugzeugs drin gelassen hat. :-D

Also. Nochmal. Ich sehe Lowlevel nicht als gemeine Cracker-Gemeinde, die unbedingt Windows disassemblieren wollen. Ehrlich gesagt: Ich habe überhaupt kein Interesse daran. Wenn ich Code von einem guten und weit fortgeschrittenen Betriebssystem haben möchte, schaue ich nach
/usr/src/linux.

Weiterhin möchte ich noch einmal wiederholen, dass man überhaupt nix mit dem disassemblierten Zeugs anfangen kann. Man säße Jahre daran, den Sprungmarken und Variablen einigermaßen vernünftige Namen zu geben und dann am Besten noch rauszufinden, wie das mal in C (oder worin auch immer Windows programmiert wurde) ausgesehen haben könnte.
222
OS-Design / Re: Deskriptor Confirm-Bit
« am: 06. October 2009, 17:37 »
2. Normalerweise liest die CPU die Privilegstufe des aktuell ausgeführten Codes aus dem aktuellen Codesegment aus. Es ist also der Prozessor. Wobei der Kernel dafür sorgen muss, welcher Code in welchem Codesegment und damit mit welchen Privilegstufen ausgeführt wird.
223
Offtopic / Re: Ergebnisse von find in einer Variablen speichern
« am: 01. October 2009, 09:21 »
Kann man die Standardausgabe wirklich in eine Variable umleiten? Wär ja lustig.
224
Das Wiki / Re: 2. Wikiathon!
« am: 01. October 2009, 09:17 »
Nur ist die Frage noch, ob sich das sagenumwobene Wikiteam wirklich in kompletter Besetzung in natura trifft. :wink:
225
Lowlevel-Coding / Re: Tastatur ohne Interrupts abfragen
« am: 06. September 2009, 21:41 »
Zitat von: bscreator
Zitat von: bluecode
den entsprechenden IRQ/Interrupt der Tastatur
Für die Tastatur gibts doch viele INTs, wie Zeichen lesen und ausgeben, Zeichen lesen, Tastaturpuffer abfragen,....
Zitat von: bluecode
zwischen "auf Interrupts verzichten" und "auf BIOS-Interrupts verzichten" ein rießiger Unterschied ist.
Wie bluecode damit gesagt hat, gibt es einen himmelweiten Unterschied zwischen IRQs (bzw. "einfachen" Interrupts) und den BIOS-Interrupts.
226
Lowlevel-Coding / Re: Port-Befehle unter C/C++
« am: 01. September 2009, 15:04 »
Zitat von: bscreator
Gibt es sonst noch Möglichkeiten, wie Programme miteinander kommunizieren können ?
Das hätte aber nicht ganz so viel mit I/O-Ports zu tun...
227
Lowlevel-Coding / Re: INT ruft INT auf und kehrt zurück?
« am: 30. August 2009, 21:49 »
Eigentlich sollte es da keine Probleme geben. Zur Sicherheit kannst du ja an den Anfang deines Interrupthandlers noch ein "sti" setzen.
228
Lowlevel-Coding / Re: INT ruft INT auf und kehrt zurück?
« am: 30. August 2009, 20:33 »
Soweit Interrupt Nummer 1 als Trap-Gate in der IDT eingetragen ist, sollte das möglich sein. Sonst weiß ich nicht, ob man Software-Interrupts auch mit gelöschtem Interruptflag aufrufen kann...
229
Lowlevel-Coding / Re: schei** Tastatur
« am: 30. August 2009, 13:57 »
týndur unterstützt doch aber solche Tasten?
230
Lowlevel-Coding / Re: Shutdown PC
« am: 20. August 2009, 15:35 »
Wenn man einfach nur den Computer ausschalten möchte, dann kann ich wirklich den von tarrox empfohlenen Thread empfehlen. Ich habe den Code ausprobiert und muss sagen, es war ziemlich einfach, ihn zu portieren.
231
Lowlevel-Coding / Re: C - Kernel wird nicht geladen
« am: 19. August 2009, 19:56 »
Ich hab nach diesem Jump zum Kernel ein "Endlossjump" gemacht also

stop:
jmp stop

Funktioniert doch auch, oder?

Nein, da du den Kernel mit "jmp" aufgerufen hast, er weiß also nicht, wohin er zurückkehren soll. Um das zu korrigieren, müsstest du "call" verwenden. :wink:
232
Soweit ich weiß, kann man mit GCC keinen 16-Bit-Code erzeugen...

Du könntest das aber natürlich per Inline-Assembler lösen:
inline void far_pokeb(uint32_t lin_addr, uint8_t val)
{
  __asm__ __volatile__ ("movw %ax,%es;"
        "movb %dl,%es:(%bx)"::
        "a"((lin_addr & 0xF0000) >> 4),"b"(lin_addr & 0xFFFF),"d"(val));
}

Ich kenne mich übrigens nicht so mit AT&T aus, das kann also doch fehlerhaft sein... :wink:
233
Im Realmode kann man nicht auf Adressen zugreifen, deren Offset größer als 0xFFFF ist. Daher kann man nicht auf 0xA8000 zugreifen.
Die Realmodeadresse wäre beispielsweise 0xA800:0x0000.  :wink:
234
Lowlevel-Coding / Re: format a:
« am: 08. August 2009, 14:06 »
Ich bezweifle, das Microsoft den Sourcecode für sein format freigibt... :evil:
Und du möchtest ja wissen, warum das Microsoft-format das so macht.
235
So sehe ich das auch...

Aber dafür brauchen wir eure Hilfe, Anhänger der Lowlevel-Community! Schreibt uns, was für Artikel ihr euch wünscht! :-D
236
Na ja, warten wir es ab :wink:
237
So, der erste Wikiathon-Tag ist rum.
Bilanz: 330 Änderungen! :-o
Die Anzahl nicht verlinkter Seiten ist von "unüberschaubar" auf gerade mal acht zusammengeschrumpft!

(Wertung von vorgestern (5. 8.) 22:00 Uhr GMT (also 6. 8. 00:00 Uhr MESZ) bis gestern (6. 8.) 21:59 Uhr GMT (also 6. 8. 23:59 MESZ))

EDIT: So, noch mal die Bytes gezählt. Es sind 27084 Bytes dazukommen (gelöschte Dinge wurden schon abgezogen)!
238
Aber macht schnell, Wikiathon ist nur bis Samstag! :-D
239
Lowlevel-Coding / Re: Determine Physical Memory
« am: 30. July 2009, 14:36 »
Ich weise nur mal nebenbei hier drauf hin: http://wiki.osdev.org/Detecting_Memory
240
OS-Design / Re: diskettenimage erstellen unter windows
« am: 03. July 2009, 13:49 »
Ah, stimmt... Mach ich gern, den Fehler mit dem Doppel-db  :-D

Sicher, dass das -($-$$) den Bootloader abzieht? Soweit ich weiß, müssten die Werte bei einem Beispielkernel (wird nach 0x10000 geladen und ist 4242 Bytes groß) folgendermaßen sein:
$$ = 0x10000
$ = 0x10000 + 4242 = 0x11092

Dann gilt:
1474048-($-$$) (oder eben 1474047) = 1474048-(0x11092-0x10000) = 1474048-4242 = 1470318
Das sind dann 1470318+4242 = 1474048 Bytes für kernel.bin, hinzu kommen noch die 512 Bytes des Bootloader.
Zumindest dachte ich, dass das so wäre... Denn nasm weiß beim Assemblieren von kernel.asm gar nichts von boot.bin - sollte es zumindest nicht.
Seiten: 1 ... 10 11 [12] 13 14

Einloggen