2009-05-29

Custom PATH in KDE run dialog

It has bothered me for a while that the KDE run dialog (Alt+F2) won't find my custom scripts in ~/bin. After a failed attempt, with ~/.kde/env/bin_path, I found a way that should (in theory) work with any desktop manager.

The solution is to put the export command in a file called ~/.xprofile

export PATH="/home/thomas/bin:${PATH}:/home/thomas/installs/bin"

(I keep all my user installed apps in ~/installs/bin ;))

2009-05-22

freeSSHd administrator stupidity, and fix

Searching for a ssh server for a Windows machine I stumbled upon freeSSHd. I thought it looked nice and threw up a remote desktop the Windows machine and installed version 1.2.4.

Everything went fine until I tried to start the administration interface. It told me I need to be an administrator. Well, fine, I am in the administrator group but not the administrator. Tried running the application as the administrator user, no luck.

Going through their forums I found out the user have to be named "Administrator", case and all. Tough luck for us running non-English Windows versions...

As their did not appear to exist a good solution I finally ended up using OllyDbg (great tool, version 2 is under way) to disable the test. I won't post a patched version as I'm pretty sure it is not legal to do so, but I will show what you need to change, either using OllyDbg (yea, it can edit and save the asm directly) or the hex editor of your choice. You probably should make a backup of the original file and stop the freeSSHd service before you start.

Okay, so what you need to do is to replace the JE (jump equal/zero) instruction, that takes us down the wrong road, with two NOPs (no operation). It is at address 00013726 (yea, it's hex, try Ctrl+G in your tool and specify (file) offset), reading 74 49.

Just simply replace those two bytes with 90 90 and save the file.

Voila, it is possible to administrate freeSSHd!



(I would have posted this on the freeSSHd forum if I was able to register :P)

edit.

Seems it starts a new instance when it's run by the "wrong" user. To get around this just stop the service, make the changes, and restart the service (ie from services.msc).