Högis (Ex)Blog

Hier wird seit Juni 2011 nicht mehr gebloggt. Die Einträge bleiben als Archiv und Nachschlagewerk erhalten. Das neue Blog findet sich hier.

TrueMount 3

Ungefähr 8 Monate ist es nun schon wieder her, dass ich mit der Entwicklung von TrueMount 2 begonnen habe. Inzwischen hat sich einiges getan, das Projekt ist gewachsen, um Features erweitert worden und einigermaßen stabil ;-) Wie euch vielleicht aufgefallen ist beschäftige ich mich in letzter Zeit immer weniger mit dem Projekt, da meine C#-Kenntnisse vor einem halben Jahr gerade mal für „Hallo Welt!“ ausgereicht haben =) Mittlerweile habe ich (auch dank meinem „Back to the Roots“ - Erlernen der Windows API) einiges an Wissen über das .NET Framework, das Windows Management Interface (WMI), TrueCrypt selbst und vieles mehr erlangt. Der Code ist leider derart umfangreich, mächtig und schlicht unübersichtlich geworden, dass das Aufspüren von Bugs immer schwieriger wird und ich einfach nicht meine Zeit damit vergeuden möchte. Auch hatte ich schon von Anfang an das Verlangen, die Netzwerkfeatures wie das Laden von Key-Files oder Passwortdateien über diverse Protokolle wie HTTP(S), FTPeS, SSH und WebDAV zu Implementieren. Leider ist das mit TrueMount 2 derzeit nicht mehr möglich, da dies solch gravierende Änderungen mit sich bringen würde, dass eine Kompatibilität mit bestehenden Konfigurationen nicht gegeben werden könnte. Außerdem fehlt es immer noch an entsprechender Dokumentation und einem benutzerfreundlichen Einstieg - das ist mir alles bekannt. Da ich aber ALLES selber mache (Design, Code, Erforschung von TrueCrypt und diversen Methoden der Interprozesskommunikation) laufe ich gelegentlich gegen die Wand, weil ich beim Programmieren auf etwas stoße, das ich in der (eigentlich nicht vorhandenen) Designphase übersehen habe. Das ist frustrierend und hält auf. Noch dazu hatte ich nie vor es zu veröffentlichen, da das zusätzlichen Aufwand darstellt (mein Englisch ist auch nicht „the yellow from the egg“) und ich dazu neige, Updates zu Vernachlässigen weil mich der Aufwand einfach nicht interessiert.

Als ich vor einigen Jahren auf das Wiki-System umgestiegen bin hielt ich das noch für eine gute Idee, mittlerweile stößt seine Funktionalität zunehmend an seine Grenzen und das Bloggen ist mit der Wiki-Syntax umständlich und lästig. Wenn ich wieder mehr Zeit habe muss ich mir da unbedingt was überlegen, so kann es nicht weitergehen. Auch der Code der Website ist von mir mehrfach gehackt und umgebaut worden, damit es meinen Ansprüchen genügt, nur benötige ich als Allround-Seite nun bald noch etwas mehr… Vielleicht steig ich auf Wordpress um. Mal schaun.

So, genug negatives niedergeschrieben, wir werden schon sehen was die Zukunft so bringt =)

04.06.2011 16:50

From DOS 1.0 to Windows Vista

Ein sehr interessantes Interview mit PE-Format-Erfinder Mark Zbikowski, der über seine Geschichte vor und mit Microsoft ausgefragt wird und einige interessante Details zur Entwicklung von Windows und anderer bekannter Software ausplaudert =)

01.06.2011 20:17

AVG PC Tuneup 2011

Meine Lizenz für die TuneUp Utilities 2011 ist abgelaufen, jedoch hat mich meine Antiviren-Suite AVG Internet Security 2011 auf ein neues Produkt von AVG aufmerksam gemacht: AVG PC Tuneup 2011, ein recht ähnliches, jedoch schlichter gehaltenes Programm zur Analyse der Registrierung, des Dateisystems und der Netzwerkparameter, welches das System beschleunigen soll. Es hat mich überrascht, dass es trotz der Regelmäßigen Durchläufe von TuneUp noch einige temporäre Dateien und Registrierungsschlüssel gefunden und entfernt hat. Auch bietet es eine beeindruckende Vielfalt an Netzwerk-Tweaks, die man normalerweise nur von 3rd Party Patches kennt - wenn überhaupt. Positiv überzeugt also bleibt es vorerst auf der Platte, kann es nur weiterempfehlen =)

30.05.2011 19:53

NTFS Stream Scanner

Mit dem StreamsFinder findet ein neues Projekt aus der beliebten Serie „NTFS Alternate Data Streams“ seinen Weg in mein Windows Software Refugium. Dieses ursprünglich von Marco Roello entwickelte Tool kann NTFS Datenströme nicht nur aufspüren sondern auch direkt editieren, exportieren oder löschen.

30.05.2011 18:56

Windows Vista und ein vermurkstes Benutzerprofil

Heute sprach mich eine Kollegin ganz verzagt von der Seite an und brachte mir mit verzweifelter Mine ihr aktuelles PC-Problem näher. Welches folgende Symptomatik aufwies:

Ihr Sony Vaio Notebook - bestückt mit Windows Vista Home Premium - bootete zwar brav bis zum Anmeldebildschirm, jedoch erschien nach der Eingabe des Passwortes an ihrem Standard-Account:

Die Anmeldung des Dienstes "Benutzerprofildienst" ist fehlgeschlagen. 
Das Benutzerprofil kann nicht geladen werden.

Mysteriös, dachte ich mir und nahm mich der Sache an. Zuerst ging ich mal nach Standardverfahren vor; Windows im Abgesicherten Modus starten → Anmeldung klappt. Ein Balloontip ploppt auf und teilt mir mit, dass das Benutzerprofil nicht ordnungsgemäß geladen wurde und ich nun mit einer Kopie des Default-Profiles angemeldet bin. Als nächstes habe ich mir die Rechte des Profil-Verzeichnisses angeschaut; der Besitzer ist SYSTEM, das wird doch gleich mal geändert! Nix da, die Tools, die die Registerkarte „Sicherheit“ zur Verfügung stellt, maulen alle → keine Berechtigung. Software lässt sich nicht deinstallieren (es waren McAfee und Norton installiert, schlimmer geht es ja kaum noch!), die Ereignisanzeige teilt mir mit, dass das Benutzerprofil nicht geladen werden konnte (langsam wurde ich sauer, ein alter Hut, die Meldung und ohne wertvollen Inhalt) und stürzte beim Aufklappen der XML-Detailansicht prompt ab. So viele Exceptions werfen nicht mal meine Programme :-D Gut, mit der Oberfläche ging es also nicht voran, das Administrator-Konto muss her! Ach, Moment… Vista. Standardmäßig deaktiviert. Und die Verwaltungs-Snap-Ins funktionieren alle nicht. Dreck. Moment. Was klimpert denn da am Schlüsselbund? Ha! Mein magischer USB-Stick, bestückt mit einem Image der SystemRescueCD wartet nur noch auf seinen Einsatz. Schnell in eine Mini-Distro mit dem Helferlein ntpasswd gebootet und los ging der Spaß: Administrator-Konto freigeschaltet und Passwort sicherheitshalber entfernt. Neustart → das Admin-Konto lächelt mich an =) Also angemeldet, den unnötigen Krempel gleich mal deinstalliert inklusive der maroden Anti-Viren-Lösungen → WLAN angeworfen; Internetzugang! Google bemüht und Lösung1) für das Hauptproblem gefunden:

Registry

  1. regedit angeworfen.
  2. Zum Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList navigiert.
  3. Hier finden sich die Basiseinstellungen aller Benutzerkonten, der Eintrag des eigenen Kontos sollte in etwa so aussehen: S-1-5-21-2039965847-2787210737-2020049469-1000. Bei ihr jedoch hatte scheinbar irgendein (Schad-)Programm diesen Eintrag kopiert und ihm die Endung .bak verpasst und im Original den Schlüssel ProfileImagePath verstümmelt, sodass natürlich kein gültiges Konto mehr gefunden werden konnte. Fies, das.
  4. Schließlich habe ich den Eintrag wieder so umbenannt wie er lauten sollte.
  5. Der Reboot zeigte, dass ich richtig lag; das Konto wurde ohne Zicken geladen. Fast jedenfalls :-)

Dateisystem

Nun wurde ich mit Fehlermeldungen überhäuft: Zugriff auf dies und das verweigert. Klar, die NTFS-Berechtigungen waren ebenfalls verstellt (was da wohl am Werk war…), also Neustart (schon wieder) in den Abgesicherten Modus mit allen Rechten und dem Profilordner erst mal eine neue Besitzerin aufgezwungen und die alten Einträge gleich alle mit vererbt und überschrieben. Lief ohne Fehler durch, perfekt!

Administrator

Nun schnell noch das Admin-Konto wieder verstecken, am einfachsten mit dem Kommandozeilenbefehl:

net user Administrator /active:no

Danach abgemeldet und am eben reparierten Konto angemeldet. Schwups, die nächste Fehlermeldung: rundll32 mault rum, es habe keine Zugriffsrechte (argh) auf eine DLL mit sonderbarem Namen. Da wuchs das Misstrauen…

Anti-Virus

Nun wird es aber Zeit die Massenvernichtungswaffe zu starten: AVG Antivirus drauf geschmissen, updaten lassen und scannen. Siehe da, die DLL ist gar nicht so unschuldig wie sie aussieht, irgendein Trojanisches Pferd. Eines von vielen, wie der Scan offenbarte. War die Dame scheinbar ohne ausreichenden Schutz auf diversen „ominösen“ Websites, mit dem Internet Explorer versteht sich ;-) Der ganze Dreck wurde nun auch noch weggefegt, das System läuft wieder.

Rêsumê

Das bestätigt mich mal wieder; ohne Stick mit SystemRescueCD gehe ich nicht mehr aus dem Haus :-D Und man konnte wieder einmal einem verzweifelten Nutzer helfen. Ich hoffe das besagte Fläschchen kommt bald an, hihi ^_^

23.05.2011 20:35

May 21

*Gähn* Guten Morgen alle zusammen. Lebt noch jeder? Gut. Dann geh ich jetzt wieder schlafen :-D

21.05.2011 07:20

Quake 3 JS

Quake 3 fürn Browser. Wie geil ist das denn! =)

17.05.2011 23:03

Windows Underground

Entgegen meiner Vorsätze breche ich nun doch das Schweigen noch vor dem Juni. Nicht nur dass ich mich furchtbar erkältet habe, es hat sich auch TeyHouse zu Wort gemeldet und mich von einem interessanten, eher unbekannten Feature des NTFS-Dateisystems in Kenntnis gesetzt: Alternate Data Streams (ADS). Folgende ASCII-Art (welche ich von diesem interessanten Artikel geborgt habe) veranschaulicht die Idee dahinter relativ gut:

+----------------------------------------+
| Direkt sichtbar +---------------------+|
|                 | Unnamed Stream      ||
|                 +---------------------+|
|----------------------------------------|
| Indirekt        +---------------------+|
| sichtbar        | Stream 1            ||
|                 +---------------------+|
|                          ...           |
|                 +---------------------+|
|                 | Stream n            ||
|                 +---------------------+|
+----------------------------------------+

Üblicherweise arbeitet man als Programmierer (und vor allem als Anwender) nur mit dem ersten, unbenannten Datenstrom. Dieser ist es auch, über den (fast) alle Programme auf die Datei zugreifen und somit den „sichtbaren“ Inhalt manipulieren können. Mit der Windows-API sieht der gewöhnliche Aufruf wie folgt aus:

HANDLE hFile = CreateFile("C:\\test.txt", GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL);

Nun greifen wir auf einen von uns definierten alternativen Stream zu, der - ähnlich wie ei den Named Pipes - mit einem Namen versehen werden muss:

HANDLE hFile = CreateFile("C:\\test.txt:mystream", GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL);

Eine simple und doch mächtige Syntax, hiermit liefert die Funktion einen Handle auf den Inhalt der „Datei in der Datei“. Man muss sich dabei allerdings keine Sorgen machen, dass man damit irgendwie den Inhalt der eigentlichen Datei überschreiben oder beschädigen könnte, da das Betriebssystem automatisch fragmentiert. Also kann dieser alternative Stream wie jede andere Ressource mit Daten befüllt und verändert werden. Kreative Köpfe die wir sind haben wir uns natürlich gleich ein paar Anwendungsbeispiele für die Praxis zusammengereimt, wie… ahnungslose Nutzer ärgern :-) Sowohl im Windows Explorer als auch in den gehobeneren Tools wie TuneUp Disk Space Explorer scheinen die Größen dieser vermeintlich versteckten Daten nicht auf, die Festplatte selbst ist da natürlich anderer Meinung und speichert alles schön brav ab. Wir basteln just in diesem Moment an einem kleinen Tool, mit dem sich solche „Spezialdateien“ erstellen lassen, die man dann irgendwo im System verstecken kann. Wenn wir unseren Disput im Punkto Subversion beseitigt haben gibt es auch einen Release, also bis später :-D

Download

15.05.2011 20:02

Quick Freeze

In knapp einem Monat ist große Anatomieprüfung, daher werden mit sofortiger Wirkung alle technischen Projekte meinerseits eingefrohren. Ich melde mich wieder zurück, wenn der Spaß überstanden ist =)

02.05.2011 14:59

Datenpool

So, es geht nun derartig bergab hier, dass ich wohl wirklich bald die KPÖ wählen werde. Der Abschaum (unsere Politiker) hat der Vorratsdatenspeicherung zugestimmt. Prima, man beachte die Kosten, die auf die Betreiber zukommen werden, ich wittere massiven „Datenverlust“ an diverse Unternehmen. Ich empfehle jedem von euch mir auf die Dunkle Seite zu folgen ;-)

30.04.2011 21:32