Archive for the 'Windows' Category

October 9th 2011

PuTTY Tray

I’ve released an updated version of PuTTY Tray to puttytray.goeswhere.com, direct download: putty.exe p0.61-t004 please see the site for the latest version and details.

This is a fork of Barry Haanstra’s PuTTY Tray, which is abandoned.

Main advantages:

  • Now built against PuTTY 0.61, getting features like Windows 7 Jumplist and Aero support, and four years of core PuTTY development
  • Ctrl+mousewheel zoom support
  • URL detection works on URLs ending with close-brackets
  • Much easier to continue development of, build script generator works and source, issue and pull-request tracking provided by github.

Please raise a bug if you have any problems or requests!

6 Comments »

August 2nd 2011

Windows XP End of Support Countdown Gadget

Windows XP End of Support Countdown Gadget The Windows XP End of Support Countdown Gadget gives you a nice countdown until Windows XP, and, more importantly, IE6 will actually finally be unsupported.

It, however, leaks memory. A lot of memory; about 1kb/second. Noting that it’s running all the time, and not important, this is rather inconvenient.

FTFY. Can’t redistribute a patched “binary” as the original is not redistributable.

No Comments yet »

April 22nd 2011

Tiny Windows utilities

I have a set of tiny utilities that I use on a daily basis but have never bothered to release.

All are in the tinies v001 archive, in both x64 and legacy format. Symbols, source and signatures are available. No installer is available; just drop them into your All Programs -> Startup folder.


shiftfocus.exe adds an extra set of hotkeys for focusing windows. Ctrl+win+arrow focuses the window to that side of the current window.

This makes the most sense with Aero’s Snap turned on. If you have two windows “half-maximised” on a screen (i.e. one has been win+left‘d, and the other win+right‘d), then you can switch between them using ctrl+win+left and ctrl+win+right.


topkey.exe adds win+w to toggle a windows’ always-on-top flag, and win+return to create a new command prompt “in the current directory”. (This works for Explorer windows, and things that have the directory at the start of the title, i.e. Notepad++.)


mousex.exe allows you to use an xbox360 controller as a mouse. Different analogue sticks are different sensitivity. A/B for left/right click. Shoulder analogue controls for the scrollwheel.


And, for more niche users:


powerstatustray.exe shows which drives are spun-up, and notifies you when a drive spins up or down. (Yes, actually, this one was released before.)


keydump.exe shows what you can keylog by binding globally to DirectInput. Most keylogging preventers/detectors completely ignore this, and/or only work through blacklisting, which is laughably pointless. It doesn’t bother translating numbers into keycaps, but it’s obvious whether it’s working and whether it’s been detected.


Others, to date:

  • aukiller: Legacy XP application.
  • foobar2000-loader.exe: Demo of pre-loading a dll into an application via the debug api.
  • keytoputty.exe: Take input and send it to a running instance of putty, i.e. to allow input during full-screen applications.
  • loaddlls.exe just calls LoadLibrary on all it’s arguments.
  • noelev.exe: Legacy implementation of setting __COMPAT_LAYER=RunAsInvoker.
  • quickkey.exe: Legacy XP application.
  • unrequireadmin.exe: An even less healthy implementation of noelev.exe.

No Comments yet »

April 13th 2009

Google Earth “offline installer”

Google seem to be of the incorrect opion that you want your machine infected with Google Update.

The Google Earth download is actually just a cunningly disguised Google Update installer, and it seems to think it needs elevation.

It extracts %TEMP%\GUXXXXX.tmp\GoogleUpdate.exe, then tries to run:

GoogleUpdate.exe /install "appguid={74AF07D8-FB8F-4d51-8AC7-927721D56EBB}&appname=Google%20Earth&needsadmin=true" /installelevated

Instead of this,

GoogleUpdate.exe /install "appguid={74AF07D8-FB8F-4d51-8AC7-927721D56EBB}&appname=Google%20Earth"

..will happily download and extract Google Earth to %TEMP%\7ZipSfx.XXX. This is the unpacked offline installer, but the installer itself still attempts to elevate. Luckily, it’s already unpacked, in:

%TEMP%\7ZipSfx.XXX\program files\Google\Google Earth

Just copy this folder to somewhere convenient and run googleearth.exe.

For reference for other apps, the quoted argument to GoogleUpdate.exe is the last “line” in the downloaded GoogleEarthSetup.exe.

1 Comment »

December 22nd 2008

Noelevate

In Windows Vista, Microsoft added manifests, a way for developers to require that their applications run as administrator, or not at all. This takes control away from the user, me, who I trust, and gives it to some developer (who I might not). While it’s possible to edit the file to remove these manifests, this is hard to do safely and automatically.

I thought it’d be fun to directly fix the problem.

It seems that, like some other things, as far as I can see, there’s no support for this.

Luckily, it’s an even smaller patch than last time. I won’t show it, it’s simply erasure of a jmp. It’s a terrible solution to the problem, and the binary only contains fixes for kernel32.dll as seen on x64 SP1 and x32 SP1 as of now, it could break at any point. I implore nobody to use this utility seriously.

noelev (asc) (cpp) (pdb) works much like the reverse of the unix “sudo” command, running a command via. it makes it run without elevation.

It’s not infectious, so it won’t work for all applications (like some setup applications that unpack other installers), and, of course, some applications actually don’t work without elevation.

A lot of Windows components actually appear to cope relatively gracefully with the unexpected lack of permissions, unlike, say, the nVidia components. I was hoping to find an entertaining failure to screenshot, but they’re all boring. :(

2 Comments »

October 22nd 2008

Taglib Property Handler

Tonight marks the first public release of Taglib Property Handler, an Explorer extension for Vista that allows it to read metadata from many audio file types:

Explorer advanced search results for Cascada with TLPH installed

Currently, it’s fully read-only, so there’s minimal risk to your data, and the default install doesn’t cause you to lose any existing functionality.

The list of supported properties shows what the default handler supports for MP3 and WMA, and what TLPH supports so far.

This release comes after four months of swearing at Microsoft for the entire property handler system being impossible to debug. Four months ago I had the handler working in Windows Explorer, but Windows Search would refuse to show any properties it provided. There’re plenty of articles on debugging this situation, which I ran through hundreds of times, in the end this turned out to be caused by:

  1. Explorer accepting VT_BSTR and Windows Search not; solved by switching to InitPropVariantFromString.
  2. Stupid mistakes with pointers. Oh, how I hate you.

2 Comments »

Next »