Högis Dungeon

Und jetzt erst recht!

Windows 8: Resurrection of Evil

Langsam weiß man echt nicht mehr, welche Sprache man sich für die Windows-Programmierung am besten aneignet. Zuerst war es (in meinem Fall) C. Dann kam Java (würg), parallel dazu C++ und die MFC, danach die Wunderwaffe .NET mit C#. Jetzt beherrsche ich endlich C# und tobe mich mit der WPF aus, da muss ich sowas lesen:

Mit Windows Runtime kehrt Microsoft zu COM zurück

Was zum Kuckuck?! Ich gebe ja zu, .NET hat in Sachen Performance nicht so viel Dampf wie C++ (dessen ich glücklicherweise auch einigermaßen mächtig bin), aber COM? In mir blühte ja hin und wieder die Hoffnung auf, dass der alte Krempel endlich mal seinen wohlverdienten Frieden findet und uns arme Programmierer in ruhe lässt, aber dann muss natürlich wieder Irgendeiner den Slogan “Back to the roots” missverstehen und das Schlimmste hervor kramen. Warum werfen wir nicht die WPF auch gleich wieder über Bord und widmen uns lieber einem neuen Release der MFC? Wer will schon Objektorientierung, neumodisches Zeugs… C++ scheint uns alle noch zu überleben (was ich gut finde), aber C#-Syntax will ich nicht mehr missen  :fat:

Als Tüpfelchen auf dem i habe ich auch einen passenden und aktuellen Exploit des COM Servers gefunden, der sowohl in XP als auch in 7 dahin schnurrt:

The Anatomy of COM Server-Based Binary Planting Exploits

Was da genau abläuft und wie man es anwendet liest ihr am besten im verlinkten Artikel nach. Aus Spaß an der Freude habe ich das ganze natürlich sofort ausprobiert auf meinem Windows 7 x64 SP1 und siehe da; es klappt! Ich habe als PoC eine minimalistische DLL gebaut, die lediglich eine Meldung ausgibt, damit könnt ihr euch mal spielen:

ehTrace.dll.zip

Source Code incl. Projekt fürs Visual Studio 2010 gibt es hier:

ehTrace.project.zip

Viel Spaß beim Ausprobieren :grin:

Oh, und Teyhouse hatte recht: Fluchen ist wirklich die einzige Sprache, die wirklich jeder Programmierer beherrscht :yell:

 


Fatal error: Uncaught exception 'TeamSpeak3_Transport_Exception' with message 'connection to server '127.0.0.1:10011' lost' in /var/www/wordpress/htdocs/wp-content/plugins/teamspeak-3-viewer-plugin-for-wordpress-widget/libraries/TeamSpeak3/Transport/TCP.php:108 Stack trace: #0 /var/www/wordpress/htdocs/wp-content/plugins/teamspeak-3-viewer-plugin-for-wordpress-widget/libraries/TeamSpeak3/Adapter/ServerQuery.php(77): TeamSpeak3_Transport_TCP->readLine() #1 /var/www/wordpress/htdocs/wp-content/plugins/teamspeak-3-viewer-plugin-for-wordpress-widget/libraries/TeamSpeak3/Transport/Abstract.php(102): TeamSpeak3_Adapter_ServerQuery->__destruct() #2 [internal function]: TeamSpeak3_Transport_Abstract->__destruct() #3 {main} thrown in /var/www/wordpress/htdocs/wp-content/plugins/teamspeak-3-viewer-plugin-for-wordpress-widget/libraries/TeamSpeak3/Transport/TCP.php on line 108