Hacks

TOP5: Diverses, Verschiedenes, ...

  • Homepage
  • Über mich
  • Fotos
  • Musik
  • Kontakt

Aug 15: Windows 7: Erste Erfahrungen

Seit gestern läuft Windows 7 (RC) auf meinem Notebook – statt XP mit OpenSolaris im Multiboot. Um meinen gelegentlichen Bedarf für eine Unix-artige Umgebung zu decken, ist Debian in einer Virtualbox installiert.

Windows Live Mail mag die coreboot Mailingliste, mit ihren OpenPGP-Mail-Schreibern immer noch nicht, aber Windows Live Writer scheint gut zu funktionieren – siehe diesen Eintrag.

Insgesamt macht das System einen sehr runden Eindruck. Wenn ich jetzt noch schaffe, eine coreboot Toolchain mit MinGW aufzubauen (SUA macht traditionell Probleme, Cygwin ist lahm, Virtualbox sollte nicht für die tägliche Arbeit notwendig sein), bleibe ich wohl bei dem System. Mal schauen, was die Lizenzen am Ende wirklich kosten.

Zum Hack des Tages: Der Nvidia-Treiber hat die unangenehme Eigenschaft, bei Aero den “Secure Desktop” vom UAC mit ~5 Sekunden Verzögerung darzustellen. Dazwischen ist das Bild schwarz und “hängt”. Das kann behoben werden, indem man die Skalierungsfunktion für das Display deaktiviert. Solange der Chipsatz selbst skaliert, ist diese Funktion eh überflüssig.

… und wenn ich mir den HTML Code so ansehe, den Live Writer hier generiert, bin ich sehr angenehm überrascht.

Posted by Patrick Georgi in Hacks, Windows

Feb 6: mysql, blobs und shell

Für ein Projekt muss ich eine MySQL Datenbank von der Shell aus betanken. Ich könnte natürlich den Umweg über PHP gehen, aber ich hatte eigentlich vor, PHP ausschließlich für die Webseitenelemente des Projekts zu nutzen.

Das ist ja an sich auch kein Problem, da es ein CLI Werkzeug gibt. Einzig, dass ich unstrukturierte Daten "von außen" einbauen muss, bereitete mir etwas Kopfzerbrechen.

Die Lösung war dann aber doch einfach genug:

printf "x'"; od -An -tx1 -v $1 |tr -d ' \t\n'; printf "'"

Wobei $1 der Name der Datei ist, die abgelegt werden soll.

Posted by Patrick Georgi in Hacks, Software Comments: (0) Trackbacks: (0)

Sep 13: Google hat keinen Überblick über ihre Benutzerdatenbank

Ich habe mal mit Google Tools rumgespielt (zB Analytics, Mail, AdSense und wie sie alle heißen). Irgendwann hab ich damit wieder aufgehört, und auch meinen Account gelöscht. Als Reaktion bekam ich eine Mail, dass es noch eine Weile dauern könnte, bis das überall umgesetzt ist, das Konto war aber bereits gesperrt.

Das hatte Google seinerzeit (vor ca. einem halben Jahr?) nicht daran gehindert, mich fleißig weiter zu iGoogle zu schicken von deren Startseite aus, wobei ich nichts mehr einstellen konnte - das Profil wurde lediglich weiter mit Suchbegriffen betankt.

Gestern bekam ich eine Mail, in der mir, als "Google Analytics-Nutzer" ein 100EUR Startguthaben bei AdWords mittels eines Gutscheincodes angeboten wird. Da dachte ich mir, versuch ich doch nochmal, mich einzuloggen, anscheinend hat die Löschung ja nicht geklappt.

Irgendwann stieß ich auf die Account-Hilfe, insbesondere "Ich bin nicht sicher, ob ich ein Google-Konto habe", von wo ich zur "Passworthilfe" weitergeschickt wurde. Die bestätigt mir, dass die Email-Adresse mit keinem Konto verknüpft ist.

Bin ich jetzt Nutzer? Oder nicht? Ist Google vom Webspammer zum Mailspammer mutiert? Fragen über Fragen.

Posted by Patrick Georgi in Hacks Comments: (0) Trackbacks: (0)

May 25: Tolle Worte

Heute: Logorrhoe, nicht umsonst verbal verwandt mit der Diarrhoe. Das Konzept war mit bekannt, dass dazu einen (derart tollen) Begriff gibt, bisher nicht.
Posted by Patrick Georgi in Hacks Comments: (0) Trackbacks: (0)

Feb 22: GDB single stepper automatisieren

Heute musste ich relativ viel mit GDB (GNU Debugger) hantieren, der zusammen mit QEmu ein echt wertvolles Tool darstellt.

Unter anderem geht es um die Frage, an welcher Stelle GRUB2 (der Bootloader), bzw. ein Modul, an dem ich gerade arbeite hängt (und im zweiten Schritt, warum).

Also GRUB2 in QEmu geladen, der mit GDB-Hook ausgestattet wurde (-s -S flags), gdb drangehängt, kernel.elf als Symboltabelle hergenommen (0x8200 ist in meinem Fall die Ladeadresse), das Modul für die Symbole in GDB geladen (set debug=modules, insmod - die letzte genannte Adresse ist in der Regel der gesuchte Wert) und durchgesteppt. und gesteppt. und gesteppt.. So ein Singlestepper kann ganz schön langweilig sein, der geht wirklich jeden einzelnen Befehl durch und nexti (also nicht jeden Sprung mitnehmen) war nicht detailliert genug. Da QEmu hängt, sobald das Problem auftritt, muss sich das doch irgendwie automatisieren lassen.

Und ja, es geht:

set pagination off
while 1 == 1
stepi
end

"pagination off" ist sinnvoll, weil GDB sonst alle 25 Zeilen (oder wieviel auch immer eine seite sind) nachfragt, ob man sich den Kram nicht erstmal durchlesen will. Für "1 == 1" gibt es vielleicht auch noch was kürzeres, halt irgendein "true", was auch immer GDB darunter versteht ("true" könnte sogar funktionieren, hab ich nicht probiert)

Übrigens hängt mein Modul in __udivdi3 - das kommt aus libgcc und wickelt elementare Mathematik ab, nämlich die Division und scheint an einer Division durch 0 zu scheitern - wie auch immer diese zustande kommt.

Posted by Patrick Georgi in Hacks Comments: (0) Trackbacks: (2)

Feb 13: Datenschutz und so

Die Google-Services sind hier wieder rausgeflogen, mein Google-Konto ist "gelöscht" (was auch immer die damit meinen), und auch sonst arbeite in an Datensparsamkeit.

Ask.com bietet zum Beispiel in der US-Variante eine Suchmaschine, die angeblich nichts protokolliert, wenn man sich ein Cookie ("askeraser=on") aktiviert (bequem im Webinterface). Leider sind die Suchplugins für den Firefox nicht allzu kooperativ, selbst das "ask.com US"-Plugin leitet einen auf die deutsche Seite weiter, die diese Funktion noch nicht hat.

Auf der Seite des Mycroft-Projekts habe ich daher ein neues Plugin erstellt, dass explizit die US-Variante benutzt. Stört natürlich ein wenig, wenn ich mal etwas deutschsprachiges suche, aber dann kann ich ja immer noch überlegen, welche Suchmaschine ich diesmal mit Informationen füttere.

Nächste Schritte: https für alle Services auf meinem Server, sowie radikaleres Beseitigen von Client-IPs bei Anfragen.

Posted by Patrick Georgi in Hacks Comments: (0) Trackbacks: (0)

Dec 18: Trekstor Player Hacks

Nach dem letzten Firmware-Update auf meinem Trekstor Stick (notwendig, weil der Windowstreiber "irgendwie" die vorherige Version gekillt hat), bekam das Dingen die eine oder andere neue Funktion, die ich nun so langsam und experimentell entdecke... Zum Beispiel: Taste "runter"/"leiser" zusammen mit "Vor" oder "Zurück" schickt einen in ein Menü, in dem man die Abspielgeschwindigkeit variieren kann - Hurra, Schlumpfenpop.
Posted by Patrick Georgi in Hacks Comments: (0) Trackbacks: (0)

Dec 12: Audiostreams aus Flash-Playern extrahieren

  1. Feststellen, von welchem Host die Streams kommen
  2. IP-Adresse des Hosts feststellen (im Folgenden $IP)
  3. Host auf 127.0.0.1 umbiegen (auf dem kein httpd laufen darf)
  4. while : ; do sudo nc -l -p 80 -c 'nc $IP 80 |tee `mktemp`'; done ausführen
  5. Flashplayer benutzen, alle streams durchlaufen lassen
  6. MP3 Dateien (mit einigen Zeilen Text am Anfang) in /tmp/tmp.* zusammensuchen. Die Zeilenzahl wird in der Regel konstant sein. tail -n +10 schneidet zum Beispiel die ersten 10 Zeilen Text weg
  7. Hosts zurückbiegen
Posted by Patrick Georgi in Hacks Comments: (0) Trackbacks: (0)

Dec 10: Wunderbare C-Welt: Zahlenspielereien

Laut C ist abs(-2147483648) == -2147483648.

Eigentlich ist abs ja so definiert:

Für x<0: abs(x)=-x, für x>=0: abs(x)=x.

Aber da macht der 32bit-Zahlenraum nicht mit: Bei Zahlen mit Vorzeichen wird 1 Bit für das Vorzeichen benötigt, bleiben 31 Bit für die Zahl selbst. Mit 31 Bit lassen sich 2147483648 Werte darstellen. Also [0, 2147483647] im positiven Bereich. Da keine "-0" benötigt wird, wird in der (üblichen) 2er-Komplement Darstellung für die negativen Zahlen [-2147483648,-1] bereitgestellt (die interne Darstellung ist dabei auch so gewählt, dass sich gut damit rechnen lässt).

Und damit wird klar, warum -2147483648 ein Problem für die abs()-Funktion in C darstellt: es gibt kein -(-2147483648).

Posted by Patrick Georgi in Hacks Comments: (0) Trackbacks: (0)

Nov 12: Kernelmode Anticheat

Es ist soweit. Nopcode, der sich intensiver mit Gamecheats befasst (als akademische Herausforderung), hat mir grad mitteilen können, dass Punkbuster jetzt mit nem Kerneltreiber daherkommt. Natürlich diskutieren wir jetzt Gegenmaßnahmen (wie gesagt: reine akademische Neugier):
  • KMode-Treiber, der den pb-Treiber patched und sich gegebenenfalls wieder entlädt.
  • Filesystem Filter Driver, der den pb-Treiber gepatched durchgibt. (Kann ein Filter so früh geladen werden, dass Treiber bereits davon betroffen sind?)
Mal schauen, was nopcode sich da noch so einfallen lässt :-)
Posted by Patrick Georgi in Hacks Comments: (0) Trackbacks: (0)
« previous page   (Page 1 of 1, totaling 10 entries)   next page »

Statische Seiten

 

Layout by Andreas Viklund | Serendipity template by Carl