Hallo LUG,
ich habe mal eine etwas OT Frage. Ich möchte mich in der nächsten Zeit etwas mit der Programmierung in Assembler beschäftigen. Ein gutes Einsteiger- Buch dazu habe ich auch schon gefunden, allerdings wird dort ein DOS vorrausgesetzt.
Wie verhält sich der DOSemu von Linux, wenn das in ihm laufende DOS einen Virus enthält, der z.B. den Bootsektor befällt. Erhält der DOSemu vom Kernel direkten Zugriff auf die Interrupts des BIOS oder würden sich sämtliche "Manipulationen" nur auf das von DOSemu verwaltete Image auswirken? Achso, und weiß jemand von euch wo man noch eine legal lizensierte 32-Bit-Version des Turbo-Assemblers mit Handbuch bekommt?
Viele Grüße,
Matthias
On Sat, May 12, 2001 at 04:18:21PM +0200, Matthias Petermann wrote:
Hallo LUG,
ich habe mal eine etwas OT Frage. Ich möchte mich in der nächsten Zeit etwas mit der Programmierung in Assembler beschäftigen. Ein gutes Einsteiger- Buch dazu habe ich auch schon gefunden, allerdings wird dort ein DOS vorrausgesetzt.
Eine nette Seite zu dem Thema ist übrigens http://www.linuxassembly.org Dort gibt es auch einen Link zu einem Online-Buch namens "The Art of Assembly Programming", was ich sehr empfehlen kann (auch wenn ich bis jetzt noch nicht zum Assemblerteil gekommen bin :)). Es geht mit den absoluten Grundlagen los (logische Schaltungen, Aufbau des Bussystems etc.) und ist ziemlich umfangreich (>> 500 Seiten).
just my $0.02
Wie verhält sich der DOSemu von Linux, wenn das in ihm laufende DOS einen Virus enthält, der z.B. den Bootsektor befällt. Erhält der DOSemu vom Kernel direkten Zugriff auf die Interrupts des BIOS oder würden sich sämtliche "Manipulationen" nur auf das von DOSemu verwaltete Image auswirken?
Soweit ich weiß, blockiert der Kernel standardmäßig die Interrupts auf das Bios komplett. Falls nicht, sollten diese auf jeden Fall nicht funktionieren, wenn du Dosemu als Nicht-Root startest (wäre ja ansonsten eine ziemliche Sicherheitslücke).
Benutzen Bootsektorviren überhaupt Bios-interrupts oder nutzen sie die Dos-Befehle? Ich hab hier zwar irgendwo noch eine Datei zum Thema Virenprogrammierung rumliegen, aber die läßt sich jetzt auf die Schnelle nicht öffnen :(.
Achso, und weiß jemand von euch wo man noch eine legal lizensierte 32-Bit-Version des Turbo-Assemblers mit Handbuch bekommt?
Turbo-Assembler? Das riecht so nach Borland. Die habe vor einer ganzen Weile mal ihren C++-Compiler freigegeben, vielleicht trifft das auf den Assembler auch zu.
Abgesehen von den üblichen proprietären Spezialbefehlen dürfte aber sonst auch jeder andere Assembler gehen, der die Intel-Notation benutzt. Einige Links auf der oben erwähnten Seite (wir wollen doch hoffentlich OSS benutzen ;))
Viele Grüße,
Matthias
PS: Allen Abiturienten auf der Liste viel Glück bei den Prüfungen :).
Hallo Ulf,
On Sun, May 13, 2001 at 08:46:44PM +0200, Ulf Lorenz wrote:
Benutzen Bootsektorviren überhaupt Bios-interrupts oder nutzen sie die Dos-Befehle? Ich hab hier zwar irgendwo noch eine Datei zum Thema Virenprogrammierung rumliegen, aber die läßt sich jetzt auf die Schnelle nicht öffnen :(.
ich hab hier ein ZIP mit asm-Quellen von fast 400 alten DOS- und Win32-Viren und habe auch schon versucht herauszubekommen was genau daran so schädlich ist. Die meisten scheinen tatsächlich den DOS-Interrupt int21h zu be- dienen, wahrscheinlich aber nur zur Infektion. Wenn ein Boot- sektorvirus wirklich ein Bootsektorvirus sein will muss er sich ja mit den BIOS-Interrupts begnügen, da zum Zeitpunkt seiner Aktivierung ja noch gar kein DOS geladen ist, oder? (/me *kein Virenspezialist ist*)
Turbo-Assembler? Das riecht so nach Borland. Die habe vor einer ganzen Weile mal ihren C++-Compiler freigegeben, vielleicht trifft das auf den Assembler auch zu.
Nein, leider nicht... die Versionen der C/++ -Compiler die dort im Borland-Community-Museum angeboten werden sind nur die "Standart- Editions", die in der Regel nur den "nackten" Compiler und die IDE bereitstellen - keinen Debugger und eben leider auch keinen Turbo- Assembler. Ich habe hier (original) Borland C++ 2.0, da ist der TASM 2.51 dabei, der allerdings keinen 32Bit-Code erzeugen kann. Der würde mir im Prinzip aber auch schon reichen, nur eben das Hand- buch vermisse ich sehr :(
Abgesehen von den üblichen proprietären Spezialbefehlen dürfte aber sonst auch jeder andere Assembler gehen, der die Intel-Notation benutzt. Einige Links auf der oben erwähnten Seite (wir wollen doch hoffentlich OSS benutzen ;))
...ich werd mich dort mal umsehen ;) OSS ist sicher die bessere Lösung, aber dann kann ich wahrscheinlich mein Lernbuch wegwerfen, da das sehr an den TASM angelehnt ist und ich assemblermäßig wirklich totaler Anfänger bin.
PS: Allen Abiturienten auf der Liste viel Glück bei den Prüfungen :).
...ich fühle mich da irgendwie auch angesprochen... Vielen Dank :) Bei uns (FOS) geht es ja erst am 23.05. los aber bis dahin ist es nicht mehr lange hin.
Bis bald und tschüss,
Matthias
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hallo,
Matthias Petermann matthias.petermann@gmx.de schrieb:
Wie verhält sich der DOSemu von Linux, wenn das in ihm laufende DOS einen Virus enthält, der z.B. den Bootsektor befällt. Erhält der DOSemu vom Kernel direkten Zugriff auf die Interrupts des BIOS oder würden sich sämtliche "Manipulationen" nur auf das von DOSemu verwaltete Image auswirken?
Soweit ich weiss, laufen alle Software-Interrupts ueber den Dosemu und der leitet die dann entsprechend seiner Konfiguration weiter (eben auch auf die wirklichen BIOS-Routinen, z.B. zum Video-BIOS, aber immer im VM86-Modus).
Normalerweise ist der Dosemu so konfiguriert, dass das Image eine Datei im Filesystem ist, aber wenn Du ihm sagst, dass er die ganze Festplatte kriegt, haben die laufenden Programme eben vollen Zugriff auf die Festplatte.
Holger - -- Holger Dietze, email: holger.dietze@advis.de "The more data I punch in this card, the lighter it becomes, and the lower the mailing cost." -- Stan Kelly-Bootle, "The Devil's DP Dictionary"
lug-dd@mailman.schlittermann.de