Interview mit DarkBug

© Thomas Antoni, Februar 2002





Vorwort von Thomas Antoni

DarkBug ist mir seit langem als eifriger und hochkompetenter Teilnehmer und Moderator diverser Q(uick)Basic und MS-DOS-Foren bekannt. Außerdem ist DarkBug Mitinhaber von www.East-Power-Soft.de, einer der besten und professionellsten deutschen Q(uick)Basic-Seiten. Hier findet man eine Unmenge von Profi-Tipps und -Tricks sowie gute deutsche Tutorials zu fast allen gängigen Programmierproblemen, z.B. über die Spieleprogrammierung in QBasic.

Neben Q(uick)Basic hat sich DarkBug dem Thema "Computerviren" verschrieben. DarkBug wurde als Jugendlicher durch einen Computervirus "stigmatisiert" und kämpft auf seiner privaten Seite www.darkbug.com wie ein Rambo gnadenlos gegen alle Viren, Würmer, Trojaner und sonstiges Gewürm, das den Computernutzern das Leben schwer machen will. Auf der Fotoseite kann man ihn sogar in vollem Rambo-Outfit bewundern



Interview

Thomas: Hallo DarkBug, wie ist Dein richtiger Name ?
DarkBug: Mein bürgerlicher Name: Dirk Hallensleben

Foto von DarkBug

Foto von DarkBug


Thomas: Wie alt bist Du und wo wohnst Du?
DarkBug: Ich wurde 1973 in Halle/Saale geboren und bin bis jetzt auch hier geblieben. Diese Stadt ist zwar nicht das "Gelbe vom Ei", aber es ist meine Heimat.

Thomas: Was machst Du ausbildungs- bzw. berufsmäßig?
DarkBug: Gleich nach der Schule habe ich meinen Traumjob ergriffen. Jetzt fahre ich schon über 10 Jahre Straßenbahn, und es macht mir immer noch Spaß, auch wenn ich in Schichten arbeiten muss.

Thomas: Was erwartet den Besucher auf Deiner Webseite?
DarkBug: Als "Mitarbeiter" von www.East-Power-Soft.de trage ich natürlich zum Gelingen unserer Projekte bei, aber meine private Webseite www.darkbug.com enthält keinerlei Basic-Inhalte. Dort befasse ich mich (vorerst) nur mit der Sicherheit im Internet. Ich erkläre die wichtigsten Dinge, die jeder kennen sollte, der sich im Internet "rumtreibt". Ich erkläre Viren, Trojaner und andere "böse" Software und wie man sich am besten davor schützt. Später werden noch wissenschaftliche und musikelektronische Themen behandelt. Aber das kann noch eine ganze Weile dauern.

Thomas: Wie sieht Dein Webdesign-Konzept aus?
DarkBug: Nun... Die "aufwändigste" Seite auf www.darkbug.com ist die Startseite. Dort stehen bereits die wichtigsten Fakten in Kurzform. Auf den Unterseiten habe ich auf alle grafischen Spielchen verzichtet und fast nur in Textform gearbeitet. Das beschleunigt den Seitenaufbau enorm, und das ist auch so gewollt. Ich verwende weder Frames noch Scripts oder ähnliches. Meine Seite sieht immer gleich aus, auch mit den höchsten Sicherheitseinstellungen oder mit alten Browsern. Ich versuche eine schnelle und einfache Navigation zu ermöglichen, damit niemand eine Ewigkeit warten muß, um dann enttäuscht festzustellen, daß er hier doch falsch ist.

Ich habe versucht, den Inhalt so kurzweilig wie möglich zu gestalten. Insbesondere weil meine Besucher für den ersten Moment von der Masse des Textes etwas "überrollt" werden. Beim Lesen stellt man aber schnell fest, dass es halb so schlimm ist wie angenommen. Mein Ziel ist es, in kürzester Zeit jedem Besucher die Information anzubieten, die er sucht. Eine übersichtliche Menüführung ist da unumgänglich.

Thomas: Wie war Dein Werdegang als Programmierer?
DarkBug: In der fünften Klasse besuchte ich einen Informatik-Kurs. Die Erfolge hielten sich aber stark in Grenzen. Erst als ich mir einen KC85/4 (DDR-Computer, der Vorgänger des KC-Compact) zulegte, hatte ich die Geduld und die Zeit, etwas zu experimentieren. Wir (TT-Soft und meine Wenigkeit) arbeiteten in den Ferien gemeinsam an den verschiedensten Rechnern und Projekten. Als TT-Soft mit Assembler experimentierte, habe ich mich auf den Hexdump gestürzt. Ich habe damals meine Grundkenntnisse in Hacken und Cracken erlernt, die mir heutzutage sehr weiterhelfen.

1994 bei der Bundeswehr wurde ich zum ersten Mal vor einen PC (386/DX40) gesetzt und gefragt, ob ich ich Computerkenntnisse hätte. Ich wußte bis dahin nur, wie ein Computer funktioniert. Der Hauptmann drückte mir einen "Wälzer" in die Hand und gab mir eine Woche, um mich mit dem Betriebssystem anzufreunden. So lernte ich die ersten Schritte in "MS-DOS 5.0". Nach den ersten Schwierigkeiten (durch den Befehlsumfang) wollte ich mehr über die Hardware wissen, und das "MS-DOS 3.0" Handbuch konnte viele Fragen beantworten. Später kaufte ich mir einen PC und stolperte kurz darauf wieder über BASIC. Mit QuickBasic konnte ich mein Wissen umsetzen und mich weiterbilden. Das Buch "PC-Intern" von "DATA Becker" gab mir dann den letzten Schliff.

Thomas: Hier einige Erläuterungen für die Leser: TT-Soft ist DarkBugs Kumpel und Co-Webmaster ihrer gemeinsamen QBasic-Programmierseite www.East-Power-Soft.de. Mit TT-Soft habe ich bereits ein Interview geführt, das ihr unter www.antonis.de/tt-soft.htm. lesen könnt.

"PC-Intern" von Michael Tischer ist quasi die unangefochtene "Bibel" für den Systemprogrammierer unter MS-DOS. Ich selbst besitze die Ausgabe 3.0, die über 1400 Seiten dick ist !! Da ist fast jedes programmierbare Bit des PC erklärt.

DarkBug: Sag doch mal ein paar Worte zu Deinen QBasic Programmen.

DarkBug: Zwischen TT-Soft und mir gibt es sicher sehr viele Gemeinsamkeiten, aber es gibt auch große Unterschiede. TT-Soft ist eher der "digitale" Typ. Er schreibt den Hauptteil unserer gemeinsamen Projekte. Ich hingegen beschäftige mich lieber mit "analogen" Dingen. Grafik, Sound, Text... naja, den restlichen Teil, der ja auch gemacht werden muß.

Meine Soloprojekte beziehen sich mehr auf cheaten, coden, verschlüsseln, hacken und cracken. Wahrscheinlich haben unsere Spiele deswegen immer Cheatcodes, und die Zusatzdateien sind kaum zu entschlüsseln. ;-)

Thomas: Was sind eigentlich Deine zwei allerbesten Q(uick)Basic - Programme? Erzähl doch mal etwas darüber. Kann man die irgendwo herunterladen?
DarkBug: Neben einem ganzen "Rudel" kleiner DOS-Prog's, die meine BATCH's "aufmöbeln", habe ich eigentlich nur wenige Programme auf www.East-Power-Soft.de veröffentlicht. Meine produktivsten Programme sind dort im Downloadbereich zu finden. Da wären der "Verifyer", der Dateiinhalte miteinander vergleicht und die Unterschiede als ASC und CHR$ mit Adresse ausgibt. Den brauche ich bei jedem neuen Cheatprogramm, das ich schreibe. Bis jetzt habe ich Cheater für "MEGARACE2" und Gamesavers für DOOM1+2 geschrieben. Den "OsziWave" habe ich mal gebraucht, um meine Musikanlage auf Herz und Nieren zu testen. Nebenbei konnte ich auch noch mein eigenes Gehör durchchecken. Das war sehr informativ.

Das beste Programm ist der BFXCode V1.2 den ich noch nicht veröffentlicht habe, denn ich schreibe gerade an der Version 2.0, die dann unter dem Namen "Chew2.0" veröffentlich wird. Dieses Programm ver- und entschlüsselt jede beliebige Datei mit Hilfe des anzugebenden Passworts. Dabei wird die Originaldatei um keine 50 Byte größer und vollständig "zerkaut". So wird zum Beispiel aus dem Datenblock einer WAVE-Datei ein gleichmäßiges Rauschen und aus dem Datenblock einer Bilddatei eine gleichmäßig bunte Pixelmasse. Nichts läßt mehr auf den Inhalt, oder das Format der Originaldatei schließen. Ohne Passwort ist die verschlüsselte Datei nur Datenmüll, der weder etwas über den Namen noch den Inhalt der Originaldatei preisgibt. Die Routine arbeitet zwar nur mit einem 64- Bit-Schlüssel, aber ohne Schloß ist der Schlüssel wertlos.

Der Hintergrund der Sache ist: Ich brauchte ein Programm, daß in der Lage ist, jede beliebige Datei so zu verstümmeln, daß damit behandelte Dateien streng vertraulichen Inhalts ohne Risiko per E-Mail verschickt werden können. Ich traue keiner Fremdsoftware, und die "normalen" Verschlüsselungsprogramme blähen die Datei nur unnötig auf. Der CCC dürfte wohl auch Schwierigkeiten haben, meine verschlüsselten Dateien zu knacken. ;-)

Thomas: Huch - was ist denn "CCC"? Kannst Du mich mal aufklären? Ist das ein Guter oder ein Böser?
DarkBug: "CCC" ist die Abkürzung für den "Chaos Computer Club". Das sind quasi meine großen Vorbilder. Die "guten" Jungs hacken (wie ich) im positivem Sinne. Das bedeutet, Sie knacken scheinbar "sichere" Systeme, um die Betreiber über die Mißstände aufzuklären. Das letzte und wahrscheinlich beste Beispiel war das Entschlüsseln des PIN-Codes der EC-Karte.

Thomas: In welchen Sprachen programmierst Du?
DarkBug: Jetzt arbeite ich nur noch mit QuickBasic 4.5 oder direkt im Hexdump, weil ich Assembler nur lesen aber nicht schreiben kann. Das alles basierend auf Systemen mit MS-DOS 5.0 bis WinME.

Thomas: Für die Leser, die es vielleicht noch nicht wissen: "Hexdump" ist ein Auszug eines Programm- oder Datenspeicherbereichs in Form einer Liste, in der die Inhalte und Adressen der Speicherzellen als hexadezimale Zahlen angegeben werden. Oft noch mit der Anzeige als ASCII-Text am rechten Listenrand. Dies ist eine für Hacker und Cracker optimale Darstellung, wie sie gute "Hex-Editoren" bieten.

Darkbug: Kannst Du etwas über Deine momentanen Projekte berichten?


DarkBug: Wie auch TT-Soft, arbeite ich an Routinen für unser drittes Spiel. Es gibt schon einige Screenshots und einen Titel: Es soll "Ralph - Abenteuer auf Gnommel" heißen und wird mit 800x600er Bildschirmauflösung und 256 Farben sowie einem eigenen Soundtrack und Soundeffekten das größte Projekt welches wir je realisiert haben. Meine Hauptaufgabe liegt zur Zeit bei der Entwicklung der Cryptroutine, die später die Hilfsdateien entschlüsseln soll (denn niemand soll in unserm Programm Dinge verändern ;-)

Nebenbei arbeite ich noch an automatisierten Startroutinen für mein Win98 und hacke die Registry. Was leider ab und zu das ganze System aushebelt. Einige Freunde nennen mich schon scherzhaft: "WinInster".

Thomas: Was rätst Du einem QB-Programmierer, der aus seinem Programm heraus aufs Internet zugreifen und z.B. E-Mails versenden will?
DarkBug: Mit dieser Problematik brauchte ich mich noch nicht zu beschäftigen. Deswegen kann ich dazu auch nichts sagen.

Thomas: Wie siehst Du die Zukunft von QBasic, QuickBasic und MS-DOS?
DarkBug: Die Zukunft sieht sicher nicht rosig aus, aber so lange es MS-DOS gibt, werden viele darauf nicht verzichten wollen. Und ein erfreulicher Trend hat sich bereits durchgesetzt: Das multibootfähige System. Ein Bootmanager macht es möglich. User, die bis jetzt unter Windows NT gearbeitet haben, aber auch DOS- Programme nutzen, verwenden diesen schon länger. So bleibt uns MS-DOS hoffentlich noch lange erhalten.

Thomas: Auf welche Windows-Programmiersprache sollte ein QB-Fan aufsteigen a) wenn er nur hobbymäßig programmieren will bzw. b) wenn er einen IT-Beruf anstrebt?
DarkBug: Da kann ich mich nur TT-Soft anschließen, der da schrieb... "Hobbyprogrammierern würde ich in jedem Fall zu Visual-Basic (für Anwendungen) oder zu Blitz-Basic (für Spiele) raten. Diese Sprachen sind einfach effizient, und man erreicht schnell das was man sich vorgestellt hat - also gerade für Anfänger die idealen Sprachen. Professionellen Programmierern würde ich zu C++, Perl, Delphi und Java raten. Nicht gerade Sprachen für mich, aber wenn ich vorhätte, einen IT-Beruf zu ergreifen, würde ich mich darauf spezialisieren."

Thomas: Was rätst Du einem QBasic Spiele-Programmierer, der Animationen, Sound und Mausbedienung in seine Spiele und sonstigen Programme hineinbringen will?
DarkBug: Gerade was Programme betrifft, die Hardware voraussetzen, kann ich eigentlich nur jedem empfehlen: Testet die Programme auch auf Systemen, die nicht- oder nicht 100 prozentig kompatible Hardware haben. In den Augen der Hersteller sind Standards nur dafür bestimmt, umgangen zu werden. Nicht alle Grafikkarten unter NT unterstützen den VESA-Modus und nicht alle Soundkarten sind auch BLASTER-kompatibel. Das nur so als Beispiel.

Also immer erst im Programm die vorhandene Hardware testen, bevor ihr darauf zugreift. Schutzverletzungen oder Abstürze sind die milde Ausnahme. Nicht selten geht dabei die Hardware drauf. Das ist uns nämlich schon passiert! Also Vorsicht!

Thomas: Wie schafft man sich den nötigen freien Speicherplatz für seine Spiele und überwindet die für QBasic geltende 160 KB Grenze für die max. Länge von Code und Daten?
DarkBug: Mir ist bis jetzt noch nicht der Speicher ausgegangen, aber das liegt sicher an den winzigen Tools die ich schreibe. Da hat TT-Soft schon größere Probleme und die Lösung hat er bereits auf www.East-Power-Soft.de veröffentlicht.

Thomas: Welche weiteren Ratschläge kannst Du einem QBasic-Einsteiger geben?
DarkBug: Eile mit Weile. Rom wurde auch nicht an einem Tag erbaut. Nichts überstürzt angehen. Sonst blickt ihr später nicht mehr durch. Für komplizierte Prozesse empfehle ich zuerst ein Konzept, dann einen Ablaufplan, und erst wenn das alles im Kopf funktioniert, dann kann der Quellcode folgen. Fast jedes Programm arbeitet blockweise. Nutzt diese Eigenschaft um Euer Programm übersichtlich zu gestalten. Kommentar-Zeilen sind kein schmückendes Beiwerk, sondern eure eigene Hilfestellung. In einem Monat steht ihr sonst vor einem unüberschaubaren "Spaghetticode" und dürft im schlimmsten Falle noch mal von vorn beginnen.

Thomas: Dein früherer NickName war ja BugFinder. Du scheinst also besondere Qualitäten im Debuggen von Software und Finden von Fehlern zu besitzen. Kannst Du uns mal ein paar Tipps geben, wie man vorgehen soll, wenn man einen Fehler in seinem Programm ums Verrecken nicht finden kann?
DarkBug: Die meisten Fehler bei "IF THEN" passieren, weil der Programmierer nur die bestehenden Möglichkeiten überprüft und dabei die "Unmöglichkeiten" nicht ausgrenzt. Es werden auch sehr oft aufgetretene Fehler nicht richtig abgefangen oder ganz übersehen. Insbesondere bei der "ON ERROR - Geschichte". Bei der Erstellung der INSTALL.EXE von unseren beiden Spielen sind uns die meisten "Unmöglichkeiten" aufgefallen. Angefangen von nicht existierenden, oder schreibgeschützen Festplatten bis hin zu falsch benutzen Interrupts. Die Fehlerquellen sind schier unbegrenzt. Der häufigste Fehler ist ein fehlerhafter Variableninhalt, der durch die "IF THEN" rutscht ohne aufzufallen. Solche Fehler könnt ihr finden, wenn ihr die Variableninhalte auf einer freien Bildschirmstelle anzeigt und den Programmablauf über Warteschleifen bremst oder ganz anhaltet (z.B. mit while inkey$="":wend). Man kann auch die fragliche Befehlssequenz durch die QBasic-Befehle TRON und TROFF einklammern, um das Programm hier quasi in Zeitlupe ablaufen zu lassen (Trace ON/OFF).

Eine "böse" Fehlerquelle sind auch Dateien, in denen nicht das steht, was eigentlich drin stehen sollte. Überprüft auch hin und wieder diese Dateien, um sicherzugehen, daß der zu lesende Inhalt noch stimmt. Ansonsten programmiert ihr Euch blutige Finger, und es funktioniert trozdem nicht.

Beim Testen des Programms solltet ihr immer mal versuchen einen "DAU" (dümmster anzunehmender User - abgeleitet vom: GAU - größter anzunehmender Unfall) zu simulieren. Drückt Tasten, die nicht gedrückt werden sollen, oder klickt mit der Maus wahllos dorthin, wo ihr nicht hinzuklicken habt. Entfernt Datenträger aus dem Laufwerk, wenn gerade darauf zugegriffen wird und lauter solche "bösen" Spielchen, die kein "normaler" User je tun würde.

Thomas: Spiele für Linux - denkst Du über sowas nach?
DarkBug: Linux habe ich zwar schon mal arbeiten sehen, aber sonst kenne ich es nicht.

Thomas: Spieleprogrammierung in VB oder Delphi - macht das Sinn?
DarkBug: Delphi kenne ich nicht, aber VB halte ich zur Spielprogrammierung für untauglich. Anwendungen sind leicht zu erstellen, aber mehr würde ich nicht damit machen wollen.

Thomas: Was hast Du für Zukunftsprojekte?
DarkBug: Eigentlich keine bestimmten. TT-Soft und ich haben so ziemlich die gleiche Einstellung. Wenn eine gute Idee kommt, dann versuchen wir sie umzusetzen. Wenn der Einfall weniger gut war, dann fällt das fertige Programm sehr oft dem "DEL" zum Opfer.

Thomas: Wie willst Du Dich beruflich entwickeln?
DarkBug: Mir gefällt es so, wie es ist. Straßenbahn fahren ist zwar absolut unspektakulär, aber mein Traumberuf. Falls das aber irgendwann nicht mehr möglich sein sollte, werde ich versucheen, in der Computerindustrie Fuß zu fassen. So bleibe ich wenigstens meinen Hobbys treu. Denn das wichtigste bei allem was Du tust ist: Es muß Spaß machen!

Thomas: Warum hört man so wenig von PowerBasic und VB-DOS - im Vergleich zu QuickBasic?
DarkBug: Das ist eigentlich ganz einfach zu beantworten. Gutes setzt sich durch. Aber offensichtlich gilt das nicht für Betriebssysteme. Denn da hat sich wohl eher ein Abgrund aufgetan. ;-) Letzten Endes entscheidet jeder selbst, mit welchem Werkzeug er arbeiten will und kann. Wenn es einfach zu bedienen ist und man damit sein Ziel erreicht, dann ist es gut.

Gerade Computeranfänger sind sicher mit einer Win-Oberfläche besser bedient, als im "nackten" DOS. Fehlende Kenntnis, ist meiner Meinung nach das größte Problem bei Anfängern. Das kann man ihnen aber auch nicht zum Vorwurf machen. Wo sollen sie sich denn die Kenntnis aneignen? Man bekommt ja heute keine Rechner mehr mit MS-DOS zu kaufen. Und selbst wenn... welcher Anfänger würde sich ein solches Gerät kaufen???

Thomas: Was sind Deine Lieblings-Webseiten?
DarkBug: Die schnellen und die informativen! *grins* ok... Eine Lieblings-WS habe ich nicht. Es wäre auch sehr schwer, mich für eine zu entscheiden. Ich treibe mich sehr wenig im I-Net rum und wenn ich was suche, dann bemühe ich www.metager.de. Sehr oft stehen Themen wie Sci-Fi, Astronomie, Physik und Technologie auf der Suchliste. Da gibt es noch 'ne ganze Menge zu erforschen.

Thomas: Ja, die Metasuchmaschine Metager gehört auch zu meinen Lieblingsseiten. Hast Du noch andere Hobbies außer Programmieren? Was macht DarkBug so alles privat?
DarkBug: Mal von meinem Job abgesehen, der ja die meiste Zeit in Anspruch nimmt, beschäftige ich mich mit Musikelektronik und astronomischen Wissenschaften. Diese beiden Themen werden irgendwann später auch mal auf meiner Webseite zu finden sein. Doch zuerst sollte meine Computer- Sicherheits-Seite fertig werden, weil diese Problematik bei der Interneteuphorie völlig übersehen wird. Oft durfte ich grobe Fehler von unwissenden Usern wieder ausbügeln.

Thomas: Vielen Dank DarkBug für die höchst aufschlussreichen Antworten. Willst Du noch einen Abschiedsgruß an den Leser richten und etwas von Deinen Erfahrungen als Programmierer und Mensch weitergeben?
DarkBug: Lauft immer mit offenen Augen durchs Leben und verpaßt keine Chance, denn die könnte nie wieder kommen. Aber geht niemals ein zu großes Risiko ein, denn ihr lebt nur ein einziges Mal, und diese Chance kommt wirklich nicht wieder.

Und noch was... "wenn ihr Andere respektiert, dann werden Sie auch Euch respektieren".

Thomas: Vielen Dank DarkBug für die höchst aufschlussreichen Antworten! Ich bin überzeugt, dass der Leser jetzt erstmal voller Neugier Deine Seiten www.darkbug.com und www.East-Power-Soft.de ansurfen wird.




[zur Startseite http://www.antonis.de]       [zur framelosen Startseite]