SuRun 1.1.0.1

11. März 2008

Mist! 😳

Ich habe in SuRun 1.1.0.0 vergessen, statisch deklarierte Variablen des IShellExecuteHook Interfaces bei jedem Aufruf zu initialisieren. Dadurch hat das automagische Starten von Programmen „sporadisch“ nicht funktioniert.

Über Nacht haben schon knapp 50 Leute SuRun 1.1 herunter geladen.

Tut mir wirklich Leid Jungs! Ihr müsst das nochmal tun.

SuRun 1.1 freigegeben

10. März 2008

Die Überschrift sagt alles. 🙂

Verwundbarkeiten

15. Februar 2008


Kurz: SuRun bis 1.0.2.9 bzw 1.0.2.103 Beta konnten (genau so, wie machmichadmin, SuDown und RunAs) benutzt werden, hier steht, wie und warum.

In diesem Beitrag wird ein Werkzeug mit Quelltexten veröffentlicht, das automatisch Benutzernamen und deren Passworte erkennt und das ausnutzt, um eine Konsole mit diesen Daten zu starten.

SuRun Benutzer sollten ein Update auf SuRun 1.0.3.0 bzw. die aktuelle Beta machen um diese Verwundbarkeit zu schließen. Den ganzen Beitrag lesen »

CD-Batch-O-Mat

11. Februar 2008

cmd.pngDie DvDs mit den ersten Filme meiner Tochter, Audio-CDs mit meinen Lieblings-MODs und Daten CDs mit Fotos kommen langsam in ein fortgeschrittenes Alter.

Zeit zu prüfen, ob alles noch lesbar ist und falls nicht, zu hoffen, dass die Backup Disk der Backup Disk noch funktioniert. 🙂

Aber all das ist leichter gesagt als getan.

Zunächst wollte ich die Film-DvDs nur kopieren und so für die nächsten fünf Jahre absichern.

Ich habe einen Brenner, der mit 16-Facher Geschwindigkeit brennen könnte. Bei mit darf er das aber nicht. Er wird künstlich auf 12-Fach begrenzt, um die Rohlinge nicht gleich zu versauen.

Bei meinem Nero 6.3 OEM stellte ich fest, dass man die maximale Brenngeschwindigkeit immer nur dann setzen kann, wenn ein Rohling eingelegt ist.

Die alten Rohlinge der Filme sind „nur“ mit 4-Facher Geschwindigkeit beschreibbar.

Deshalb kann man vor dem Kopieren nur „maximal“ (==Das will ich nicht) oder nicht mehr als 4-fach anwählen. 👿 Also fiel Nero aus…

Dann kam eine lange Zeit des vergeblichen Suchens nach einem fertigen, für meine Zwecke dienlichen Werkzeug.

Die meisten Tools sind für das Eindampfen zu großer DvDs oder zum konvertieren in DIVx & Co gebaut. Die bauen die Menüstruktur um, transkodieren die Filme und was weiß ich nicht noch alles. Man muss ziemlich viel rum Klicken und nichts läuft einfach so.

In der Zeit des Suchens hätte ich dreimal Nero nehmen können und wäre fertig! 🙁

Nun ja. Einfach kann jeder!

Aus meiner Zeit bei XSS/SoftThinks hatte ich noch alte Versionen der cdrtools.

Die sind zwar für Windumms Benutzer etwas umständlichungewohnt“ zu bedienen, können aber eine Menge.

Die neuen cdrtools brennen jetzt auch „CD-R“ Rohlinge. 🙂

Also habe ich mir dafür ein paar „kleine“ Batch-Dateien geschrieben die meine alten CDs auf Lesbarkeit prüfen und meine Kind-Filme kopieren.

Den ganzen Beitrag lesen »

Tastaturlayout umschalten

11. Februar 2008

Ich habe heute fast fünf Stunden damit verbracht, an mir zu zweifeln.

Die Aufgabe war einfach:
Das Tastaturlayout programmatisch für den laufenden Prozess umschalten (deutsch/englisch).

Microsoft hat da auch eine einfache Funktion: LoadKeyboardLayout().

Die macht das alles. Ja, ja! …unter Windows XP! Ohne Mucken.

Aber Windows 98 zickte. Die Funktion gab keinen Fehler zurück. Das Tastaturlayout wurde geladen, aber nicht aktiviert.

Auch ein nachgeschaltetes ActivateKeyboardLayout() oder SystemParametersInfo(SPI_SETDEFAULTINPUTLANG,…) brachten nichts. Die Funktionen gaben FALSE zurück und GetLastError() meldete „0: Der Vorgang wurde erfolgreich beendet“. 👿

Während des Probierens funktionierte es dann…

Einfach so! Mit demselben Quelltext! 😯

Der einzige Unterschied: Das Programm, bei dem es geht, hatte schon ein Fenster erstellt.

Also fehlt etwas in der Dokumentation von Microsoft:

Benutzt ein Thread unter Windows 98 (und werweisswonochüberall!) LoadKeyboardLayout oder ActivateKeyboardLayout, funktioniert das nur, wenn der Thread bereits ein Fenster erstellt hat.

DevCon98

4. Februar 2008

win98.pngMicrosoft hat 2001 als Beispiel den Quelltext von „devcon“ im Windows DDK veröffentlicht.

Das Tool nehme ich seit langem unter Windows 2000 und XP auf meinem Notebook, um per Batch zwischen WLAN und LAN umzuschalten und (beruflich) für die Vorinstallation der USB-Treiber unserer Geräte.

Nun hatte ich mal wieder mit Windows 98 zu tun. Der gute alte DOS-Extender, für den Herr Gates in „South Park der Film“ erschossen wurde funktioniert auf manchen aktuellen Boards noch erstaunlich gut.

Er bootet problemlos aus einer Syslinux memdisk vom USB-Stick und ist abgespeckt weniger als 30MB groß. Auch Opera und Thunderbird laufen ohne mullen und knullen. Lizenzen gibt’s günstig beim freundlichen Schrotthändler und aktiviert werden will das System nicht.

Ideal für einen USB-Surfstick! 😀

Aber: Wenn man die Netzwerkparameter ändern muss, will Windows 98 leider neu gestartet werden. 😥 Das nervt!

Hier kommt devcon ins Spiel damit kann man die Netzwerktreiber neu starten („devcon restart =net“) und alles geht wieder…

NUR leider hat Microsoft ein paar Hürden gebaut:

  • devcon benutzt Funktionen des SetupAPI. In Windows 2000/XP sind die meisten(/alle?) dieser Funktionen in SetupApi.dll implementiert. In Windows 98 waren die noch in CfgMgr32.dll drin.
  • In Windows 2000/XP ist die Struktur SP_DEVINFO_LIST_DETAIL_DATA abhängig von MAX_PATH (==260 Zeichen). In Windows 98 ist sie von MAX_COMPUTERNAME_LENGTH (==31 Zeichen) abhängig.
    Dadurch geben Funktionen, die diese Struktur brauchen in Windows 98 einen Fehler zurück.
  • devcon ist ein Konsolenprogramm. In einem minimalen Windows 98 gibt es aber keine Konsole.

Ich habe kurzer Hand ein Visual Studio Projekt erstellt, die Ressourcen konvertiert, den Quelltext so geändert, dass er nur noch die lokale Maschine benutzt, je nach Compileroption die neuen oder alten Strukturen einbindet und so unter Windows 98 funktioniert.

Ein Win32 (==nicht Konsole) Build gibt es jetzt auch.

Vollständig getestet wurde das modifizierte devcon nicht, aber die Sachen, die ich brauche funktionieren. 😀

Falls das noch jemand braucht, packe ich’s mit Quellen hier ins Netz.

Folgende vorkompilierte Dateien sind neben den Quelltexten und der Mini-Doku im Zip:

Datei für:
DevConNT.exe Windows 2000/XP Win32
DevConNTc.exe Windows 2000/XP Konsole
DevConC.exe Windows 98 Konsole
DevCon.exe Windows 98 Win32

Download der geänderten Quelltexte und ausführbaren Dateien:

devcon9x.zip

Nur zur Klärung: devcon ist ein Beispiel-Programm von Microsoft. Ich habe es nicht programmiert, sondern nur an Windows 98 angepasst.