Manche Emails kriegt man, von denen glaubt man garnicht, dass es sowas gibt. In diesem Fall meinte wohl jemand, aus meiner Domain "synflood.at" und seinem vermeintlichen Problem mit einem Österreicher schließen zu können, ich wäre Experte für SYN Floods, die aus Österreich stammen.
From: Milan1 XXXXXXXX <XXXXXXXX@hotmail.com>
Date: Sun, 18 Feb 2007 20:40:27 +0000
To: ak@synflood.at
Subject: Hi
Hi ,
my name is Milan and i am from Sweden. My english is bad but i think you will understand me.
I have problem with one man from Austria. He have atack with syn flood to me 5 days. I try change IP,
but he change atack to new IP. I have one litle dc++ hub. I try everything but nathing.
Feb 18 04:10:11 DOS [TCP]: Attack Incoming 85.126.XX.XXX->81.232.XX.XXX [TCP SYN Flood]
This is log from my router. I have to much log from f-secure and kaspersky anty hack.
My configuration:
DSL connection 8/1 mgb
Router D-link Dl-524up
cpu Pentium 4 2.6 512 mgb RAM
cpu 2 Pentium 4 2.0 512 mgb RAM
DOS [TCP]: Attack Incoming 62.178.XX.XXX->81.232.XX.XXX [TCP SYN Flood]
This adress is from he`s home Computer.
He have server and home cpu and he have atack to me from two place.
I think , you are expert for syn flood and do you want help me?
Heute haben die USA die neueste Liste der "Most-Wanted Terrorists" veröffentlicht. Ich hab mir mal Zeit genommen, und mir die Beschreibungen zu allen 26 Terroristen durchgelesen. Und schon bei Osama bin Laden ist mir was aufgefallen: der wird ja gar nicht wegen 9/11 gesucht, sondern wegen der Anschläge auf die Botschaften in Kenia und Tansania 1998, sowie als "Verdächtiger in anderen Terrorangriffen überall in der Welt". Das hat mich etwas stutzig gemacht, und ich hab mir noch die anderen 25 Profile durchgelesen. Und siehe da: kein einziger der Terroristen wird wegen 9/11 gesucht. Jetzt muss man sich schon fragen: warum wird wegen 9/11 kein Terrorist gesucht? Immerhin wurden mit dem Hinweis auf 9/11 zwei Kriege geführt, und irrelevant ist das wohl auch nicht, immerhin hat es ein Amerikaner auf die Liste geschafft, der Al-Kaida geholfen haben soll. Meine verschwörungstheoretischen Vermutungen sind ja, dass die Verdachtsmomente für die Verbindung 9/11 <-> Al-Kaida einfach so dermaßen wenige sind, dass die Amerikaner wissen, dass das nichts bringt, oder sie wissen gar noch mehr, etwa, dass Bin Laden und Konsorten nicht in 9/11 involviert sein können (etwa weil sie selber die Leute engagiert haben, die das dann umgesetzt haben). Auf jeden Fall äußerst merkwürdig.
Diese Liste ist heute um einen Punkt länger geworden. Und zwar bin ich eher zufällig auf Sar-El gestoßen (mehr bei Wikipedia). Die Idee von Sar-El ist, dass man sich freiwillig meldet, und dann 3 Wochen lang als Freiwilliger in der Israelischen Armee mitarbeitet. Die Einschränkungen: man trägt keine Waffe. Man leistet keinen Eid oder Schwur, und ist offiziell eigentlich garnicht Mitglied der Israelischen Armee (obwohl Uniformträger; kriegsrechtlich "Non-Combatant"). Man kriegt nichts bezahlt, lediglich Unterkunft und Essen zur Verfügung gestellt, d.h. Flug etc. muss man sich selbst bezahlen.
"Und warum will der AK so einen Scheiß machen?" - weil's doch eine sehr schräge Art ist, seinen Urlaub zu verbringen. Ich denke aber, das könnte eine durchaus interessante Erfahrung werden, man lernt neue Leute kennen, man erlebt die Abläufe in einer fremden Armee, und man sieht auch noch ein anderes Land, in das man für gewöhnlich nicht kommt. Und es gibt noch einen zwingenden Grund, warum man das unbedingt mal erlebt haben muss: die feschen, jungen Soldatinnen in der Israelischen Armee! Wer's nicht glauben will, der sehe selbst.
Fefe schreibt in seinem Blog über die Fehlermeldung, die gcc bei "long long long" ausspuckt. Ich hab mir das noch etwas weiter angeschaut, und das mal mit 5 mal "long" ausprobiert: $ cat t.c
long long long long long foo = 0;
$ gcc -c t.c
t.c:1: error: 'long long long' is too long for GCC
t.c:1: error: 'long long long' is too long for GCC
t.c:1: error: 'long long long' is too long for GCC
$
Und um ehrlich zu sein: wenn ich sowas sehe, möchte ich nicht wissen, was für ein Hack das Parsen von "long long int" bzw. "long long long" in gcc sein muss...
Durch ein sehr simples Demo-Programm aus dem lokalen IRC-Channel bin ich inspiriert worden, das ganze etwas zu verbessern, und ein paar simple Funktionen zu schreiben, mit denen man zur Laufzeit erkennen kann, ob innerhalb eines bestimmten Code ein Breakpoint gesetzt worden ist. Den Code dazu gibt's hier zum anschauen, und hier eine kurze Session: $ gcc -g antibreak.c -o antibreak
$ ./antibreak
i=0
i=1
i=2
$ gdb antibreak
GNU gdb 6.3-debian
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-linux"...Using host libthread_db library "/lib/tls/libthread_db.so.1".
(gdb) break antibreak.c:11
Breakpoint 1 at 0x8048408: file antibreak.c, line 11.
(gdb) break antibreak.c:19
Breakpoint 2 at 0x804843d: file antibreak.c, line 19.
(gdb) break antibreak.c:32
Breakpoint 3 at 0x80484ce: file antibreak.c, line 32.
(gdb) r
Starting program: /home/ak/antibreak/antibreak
found breakpoint at address 0x0x8048408
found breakpoint at address 0x0x804843d
found breakpoint at address 0x0x80484ce
Program exited with code 01.
(gdb) quit
$
Um das gleich mal am anfang zu klären: ja, das funktioniert auch ohne -g, allerdings kann man dann im gdb keine Breakpoints auf Zeilennummern setzen.
Der Hintergrund: gdb setzt Breakpoints, indem der Maschinencode im Speicher so verändert wird, dass an der jeweiligen Stelle ein INT 3 (Opcode 0xCC) reingeschrieben wird.. Wird diese Stelle nun ausgeführt, löst dieser INT 3 einen Trap aus, bei dem sich gdb reinhängt, und vor einem Continue an die Stelle noch den vorherigen Opcode reinschreibt.
Die von mir geschriebenen Funktionen machen es nun so, dass man eine Start- und eine Endadresse angibt, und dieser Bereich von einem simplen x86 Opcode Decoder angeschaut wird, und wenn ein INT 3 gefunden wird, wird die Adresse der Instruktion zurrückgeliefert. Von diesem Punkt weg kann man dann solange weitere INT-3-Instruktionen suchen, bis man die Endadresse erreicht hatt. Den Opcode Decoder hab ich übrigens nicht selbstgeschrieben, sondern über Google gefunden, und für kompakt genug befunden, um den schnell mal via copy/paste zu verwenden. Als End-Adresse hab ich übrigens in allen Fällen die Startadresse der nächsten Funktion im Sourceode verwendet. Klar, das verlässt sich auf ein gcc-spezifisches Verhalten, aber hey, das ganze ist sowieso auch x86-spezifisch, also, was soll's?
Wer übrigens noch mehr über ein paar nette Anti-Debugging-Techniken unter Linux lesen möchste (kein Voodoo-Techniken, aber trotzdem ganz interessant für n00bs wie mich), dem kann ich nur diesen Text empfehlen.
Wie ich übrigens aus gut informierten Kreisen erfahren habe, gibt es noch eine andere Debugging-Technik, die auf den Debug-Registern des x86 aufbauen, und das dürfte von neueren gdb-Versionen schon (teilweise) unterstützt werden. Insofern ist nicht garantiert, dass das in Zukunft auch nur irgendwie funktioniert.
nion bloggt über Spermwale, und ich verweise auf einen eher skurrilen und gleichzeitig durchaus lesenswerten Wikipedia-Artikel: Walexplosion
Und zwar werden einerseits die angewandte Methode, Walkadaver mit Hilfe von Sprengstoff zu zerkleinern, andererseits auch ein Vorfall einer natürlichen Walexplosion durch sich durch Verwesung bildende Gase behandelt.
Wer wieder mal eine wirklich gute Satire zum Thema Informatik lesen will, dem kann ich nur The Critical Voice aus der aktuellsten Ausgabe von ACM Crossroads empfehlen. Zufälligerweise kenne ich den Autor persönlich (ja, das ist ein Pseudonym), und so hört man, dass das der Anfang einer ganzen Serie werden soll.
Mein Lieblingszitat ist ja
[...] we can also conclude that P = NP, although I never quite understood what was so difficult about that in the first place. How about N = 1, huh?
Tja, schon wieder vorüber ist sie, die erste Arbeitswoche bei meinem neuen Arbeitgeber. Anfangs war es etwas stressig, weil ich mich natürlich in das Produkt, an dem ich mitarbeiten werde, einarbeiten musste. Mittlerweile funktioniert das aber schon halbwegs gut (für die kurze Zeit), und ich hab schon so Sachen gemacht wie mit der hauseigenen Library, die primär verwendet wird, experimentiert, Erweiterungen für die eingebaute Skriptsprache entwickelt, und arbeite derzeit an einem kleinen Tool, das künftighin das eine oder andere mal gebraucht werden wird. Alles in allem wirklich interessant, und ich bin so motiviert bei der Arbeit wie schon lange nicht mehr. Ich merke, die Veränderung hat mir wirklich gut getan.
Martin weist mich auf einen Artikel auf orf.at hin, und zwar schafft der Papst die Vorhölle ab. Tja, toll. Eigentlich zeigt das doch die absolute Lächerlichkeit des gesamten Systems. Wenn der Papst so direkten Einfluss auf doch nicht unwesentliche Glaubensinhalte hat, so muss man sich die Frage stellen: glaubt der Papst denn daran? Nun, gehen wir mal beide Antwortmöglichkeiten durch.
Ja, wenn der Papst daran glaubt, was heißt das? Wenn wir annehmen, dass alle Päpste daran geglaubt haben, dann bedeutet das, dass der Glaube die Summe der Glaubensvorstellungen der Mächtigen (es hat ja nicht immer allein der Papst bestimmt, siehe diverse Konzile) ist. Der Katholizismus erhält damit eine gewisse Beliebigkeit, und bedingt durch die innere Struktur wird der Glauben von wenigen einer Menge von vielen faktisch aufgezwungen (auch wenn es manche Bewegungen gibt, die weniger dogmatisch denken und handeln).
Aber was ist, wenn der Papst nicht daran glaubt? Dann ist es umso schlimmer, als dass die Beliebigkeit noch eine Stufe weiter getrieben wird. Aus vollkommener Willkür heraus werden Glaubensinhalte "einfach so" verändert, einen Zusammenhang mit irgendeiner Art von Glauben besteht da nicht mehr.
Aber egal, was die wirkliche Antwort ist, so ist das ganze sowieso symptomatisch für die absolute Beliebigkeit des katholischen Glaubens. Und der absolute Brüller ist sowieso der Grund, warum der Papst das abgeschafft hat:
Laut der britischen Tageszeitung "Times" soll Papst Benedikt noch vor seiner Wahl zum Kirchenoberhaupt gesagt haben: "Ich persönlich würde es aufgeben, da es immer nur eine Hypothese war."
The Magic Kittens in Kompakt's Wonderland
Ein lustiges Flash, mit sich mit Hilfe von 15 Katzen musikalisch und kreativ zu betätigen. Mein Tipp: XN047 (wer das Flash startet, weiß, was ich meine).
...meinte meine Mutter, als ich ihr von meinem heutigen Abendessen erzählt habe. Und zwar ein total simples, und noch dazu lacto-vegetarisches Gericht, nämlich eine Polenta (Milch zum kochen bringen, salzen, Polenta dazu, aufquellen lassen, zum Schluss noch einen Schuss Olivenöl dazu), und dazu dann in Chiliöl gebratene, gesalzene und gepfefferte Tomaten- und Paprika-Stückchen. Nicht allzu aufwändig, und sehr schmackhaft.
Dieses Wochenende stand bei mir voll und ganz im Zeichen der Pizza. Ausgerüstet mit Mehl, Germ, Salz, Tomatensauce, diversen Gewürzen, Salami sowie geriebenem Käse habe ich samstags und sonntags je eine Pizza gemacht. Unförmig sind sie zwar geworden, aber verdammt gut, und überhaupt nicht aufwändig. Die Netto-Arbeitszeit (also Teig machen, den Teig ausziehen, belegen, ins Rohr schieben und wieder raustun, d.h. die ganze Wartezeit rausgerechnet) liegt bei maximal 20 Minuten, also steckt da nicht allzuviel Aufwand für ein äußerst schmackhaftes Gericht drinnen.
Teig ausgezogen, Tomatensauce aufgetragen
Fertig belegt
Frisch aus dem Rohr
Schon wieder das letzte Stück Pizza...
Heute hab ich noch eine zweite Pizza gebacken (allerdings ohne Fotodokumentation), die ist noch unförmiger geworden, dafür hab ich in den Teigrand Käse eingearbeitet (sowas gibt's ja z.B. bei Pizza Hut, oder so ein Berliner Pizzalieferant liefert das ebenfalls, wie ich beim 22C3 feststellen konnte), wobei ich leider zuwenig Käse genommen habe, als dass man das deutlich gemerkt hätte. Tja, man kann nicht alles haben.