Kwakkelflap: tools for the IT pro

Thursday, August 09, 2007

x64 Conversion

I'm still working on 64bit versions of Watchdog - O - Matic. Right now, I have a beta version that's working on my Vista 64bit and XP 64bit. But there are still some problems on other test machines that need to be corrected.

All in all, creating a 64bit version isn't that hard, except if you have to do some low level stuff. One of the things I had problems with was the system to detect the command line parameters of a running program. You see, when the watchdog checks a running program, it need to know the parameters. Otherwise the program will not restart with the same parameters if it crashed. Windows has a function GetCommandLine() which returns these parameters of the current process. So in order to know the parameters of another process, I need to write in the target process memory, create a remote thread that executes the GetCommandLine() function, wait for the target process to execute the remote thread and read the target process memory to handle the result. You can imagine that creating a 64bit function, and running it in a 32bit application is lots of fun.

One of the biggest challenges however is creating a 64bit disassembler so we can mail disassembly info of the crash. This is a huge task without much gain, so I think that the first 64bit versions won't have this option on board. The primary concern is creating a 64bit version so people with a 64bit operating system can actually use the watchdog.

If anyone is willing to test the beta version, drop me a line.

Labels: ,

0 Comments:

Post a Comment

<< Home