Archive for December, 2008

2008 schon wieder vergangen?!

Wednesday, December 31st, 2008

Humpf. Das ging schnell.

2008 war ein seltsames Jahr. Zahlreiches Neues erhielt Einzug in mein Leben und ebensoviel Altes verließ es auch (wieder) – Freundschaften eingeschlossen. Eigentlich ist daran ja nichts besonders. Es fühlt sich im Nachhinein nichtsdestotrotz mulmig an, wenn man auf ein Jahr geprägt von Umbrüchen im Bereich der Sozialkontakte zurück blickt. Durch das Verlassen meiner alten AniRO Freunde wurde mehr oder weniger die letzte Verbindung zum Spiel Ragnarok Online gekappt.

Was die Programmierung angeht, war 2008 von zahlreichen Fortschritten geprägt. Größere Projekte gab es allerdings abgesehen von Harmony nicht – dieses eine Projekt brachte mir allerdings verdammt viel Erfahrung in Bereichen, welche in der Öffentlichkeit fast nie diskutiert werden. Nichtsdestotrotz ist die Entwicklung an Harmony derzeit auf Eis gelegt, bis ich einen zweiten Entwickler im Team habe. Bis dahin werde ich vermutlich an diesem Projekt nicht mehr viel arbeiten, da mir dazu schlicht und einfach die Langzeitmotivation fehlt. Wozu in ein Projekt hunderte Stunden Arbeit investieren, wenn es letztendlich doch eh nicht wirklich genutzt wird?

Aufgrund der eingestellten Harmony Entwicklung verbringe ich die derzeitige Weihnachts-/Silvesterzeit größtenteils mit … eigentlich mit gar nichts. Den Großteil der Zeit verbringe ich mit Chatten im MSN, IRC oder dem PhaseRO #main Channel. Aus mir unerfindlichen Gründen verschiebt sich mein Biorhythmus nun immer mehr in Richtung US-Zeiten; was alle paar Tage in einem “Puffertag” resultiert, um für ein bis zwei Tage wieder einen normalen Biorhythmus zu haben. Mir ist also nicht nur langweilig – meistens bin ich obendrein auch noch müde. :P

Um die letzten freien Tage nun noch einigermaßen produktiv zu nutzen, habe ich mir daher vorgenommen, irgendein PHP Interface zu schreiben. Wofür weiß ich noch nicht, evtl. ein RO GM Tool oder ein CMS für meine Schule – mal sehen. Sollte ich mich wirklich dazu durchringen können, das durchzuziehen, werde ich in den nächsten Tagen mal einige Screenshots posten, bzw. den gesamten Source – mal sehen. Wenn jemand irgendwelche Ideen oder Wünsche hat, möge er mir diese bitte mitteilen.

Aus einer Diskussion im PhaseRO #main kam irgendwann der Vorschlag, man solle doch einfach Google fragen, wo Polen eigentlich ist. Und wer hätte es gedachte – Google sagt es sogar bereitwillig!

URLs in QIP mit Chrome öffnen!

Monday, December 22nd, 2008

…und das ohne nervige DLLs!

Ich hatte lange Zeit auf Vista das Problem, dass QIP Links mit dem IE geöffnet hat, statt mit Firefox oder Chrome. Bisher habe ich das Problem mit einer kleinen DLL gelöst (Klick mich) – das einzige Problem hierbei war, dass die DLL versionsabhängig war und bei jeder neuen QIP Version aktualisiert werden musste.

Nun habe ich mich eben daran gesetzt, diese DLL neu zu schreiben. Soweit alles kein Problem – WinAPI Hooks lassen sich ja problemlos portabel gestaltet. Das größere Problem stellte hierbei der eingebaute Integrity Check von QIP dar: Beim Start wird die qip.exe überprüft und das Programm beendet sich mit einer freundlichen Meldung, wenn die Überprüfung fehlgeschlagen ist.


QIP Integritätsvalidierung

 

Nachdem ich die neue Version des QIP-Fixes nun soweit fertig gestellt hatte, dass auch dieses Problem automatisch umgangen wurde (Klick mich für Code der neuen Version), fand ich beim nachträglichen Überfliegen der QIP Binary einen interessanten String:

Ein kurzer Google-Besuch führte mich dann auf einen MSDN Artikel (Klick mich) und ein kurzer Blick in die Registry bestätigte meinen Verdacht: Aus irgendeinem Grund hatte sich Chrome hier nicht als Standardbrowser eingetragen. Schnell einen Registrykey ( HKEY_CLASSES_ROOT\http\shell\open\command\(Default) ) auf den korrekten Wert für Chrome geändert, welchen ich über ein experimentelles C-Tool bereits zuvor bekommen hatte (Klick mich), und noch den Wert von HKEY_CLASSES_ROOT\http\shell\open\ddexec\Application\(Default) von Firefox auf Chrome geändert -und Tada! QIP öffnete auch ohne irgendwelche DLLs Links mit Chrome!

..ich mache mir es manchmal echt zu umständlich.

Windows Vista x64 + Visual Basic 6.0

Sunday, December 21st, 2008

…ich muss wohl nicht weiter erwähnen, dass es zwangsweise zu Inkompatibilitäten kommen muss.

Ich bin derzeit dabei, einige meiner Backup CDs zu katalogisieren und zu sichern. Auf einer der CDs von 2004 waren tatsächlich noch große Teils des EasyCom (™!) Projektes, inkl. einiger Dokumentationsdateien und so weiter. Das EasyCom Projekt war 2004 eines meiner letzten großen Visual Basic 6.0 Projekte: Es handelte sich hierbei um einen relativ umfangreichen Chat, größtenteils inspiriert vom MainChat, auf dessen Technik der ChatImWeb aufbaute, in dem ich 2003/2004 sehr aktiv war.

Ich hätte mich brennend dafür interessiert, welche Version des Chats ich vorliegen hatte. Aber wie das nunmal bei alter Software des Öfteren der Fall ist, zeigte das Projekt wenig Interesse daran, einfach zu starten und zu funktionieren. Der Client lief dann mit einem der alten Installer – der dazugehöriger Server ließ sich jedoch trotz aller Bemühungen nicht starten. Den beiliegenden Konfigurationsdateien lässt sich entnehmen, dass das ein Stand ungefähr 8 Monate vor Einstellung des Projektes sein müsste. Leider fehlt das Entwicklungstagebuch, von daher lässt sich dazu nichts genaueres mehr sagen.


Der Loginscreen des Clients – weiter kam ich nicht :-(

Bayerns Weg…

Thursday, December 18th, 2008

Aufgenommen im Deutschen Museum in München.

Still alive…

Thursday, December 11th, 2008

…and there’s still research to be done.

Die letzten Wochen waren größtenteils geprägt von diversen Klausuren. Generell habe ich in den letzten Monaten eher sporadisch an Harmony und generell RO gearbeitet – um genau zu sein, habe ich mit RO mehr oder weniger abgeschlossen. Mit dem Niedergang von GlobeRO ist damit mein letztes RO Serverprojekt zu Ende gegangen. Derzeit fehlt mir abgesehen davon eh ein wenig die Motivation zu größeren Projekten – mag wohl an der Jahreszeit liegen.

Abgesehen davon habe ich meine Entwicklungszeit der letzten Wochen größtenteils damit verbracht, mich weiter mit OOP in C++ vertraut zu machen und im selben Zuge eine Basis für Harmony v3 zu schaffen. Ich arbeite (noch) nicht an Harmony direkt, sondern eher als einer grundlegenden Library, welche später als Harmony Core verwendet werden wird, und an diversen Experimenten. Das heißt genau: Rudimentäre Kerneltreiber, diverse EXE Packing Verfahren, Hooking Techniken und diverses anderes. Man sollte ja alles mal gemacht haben =) Nebenbei lernt man dabei jede Menge über die “Innereien” von Windows und über die allgemeine Funktionsweise des Betriebssystems.

Ich werde ggf. einige Teile der Library, bzw. Teile, welche in sicherheitsrelevanten Applikation keine Anwendung finden, Open Source releasen. Ja, richtig gelesen :p Ich habe in den vergangenen Monaten schon länger mit dem Gedanken gespielt, meine Arbeiten öffentlich verfügbar zu machen. Ob irgendwelche spektakulären Sachen dabei sein werden, weiß ich noch nicht. Das hängt von der weiteren Entwicklung des Harmony Projektes ab.

Apropos Harmony: Die Visual Studio “Solution” für Harmony umfasst mittlerweile 6 C/C++/ASM Projekte (gut, davon 2 nur zum Testen) und mehr Ideen, als ich je in dieses Projekt stecken kann. Die genaue Struktur der endgültigen Version steht noch nicht fest, nimmt aber zunehmend Formen an. Es ist allerdings mehr eine Frage der Konzeptionierung, als der Entwicklung. Ich tendiere dazu, Harmony nicht mehr als DLL zu entwickeln, sondern als eigenständigen, auf RO angepassten, EXE Packer.
Auch was Harmony angeht, werde ich ggf. ältere Konzepte und Ideen, sowie zahlreiche Source Codes, veröffentlichen. Je nachdem, ob dafür überhaupt Interesse besteht. Aber wozu ist dies ein Blog mit Kommentarfunktion? :P

Irgendwie habe ich auch mal wieder Lust, abgesehen von dem ganzen C++ Harmony Kram, ein wenig PHP zu programmieren. Irgendein kleines Portal oder was-auch-immer… Wenn irgendjemand irgendwelche Ideen hat, möge er mir diese zukommen lassen :D