PROGRAM DESCRIPTION. -------------------- This is a simple Windows NT service that can be secretly installed on another person's computer when they aren't looking. Once it is installed and running, the service will listen on a designated TCP/IP port and wait for incoming connections. Incoming connections that are immediately closed without sending any data will trigger a WAV file to be played in the background. Alternatively, if the incoming connection transmits any data over the socket connection before eventually closing it, the data is expected to be in WAVE audio file format and will similarly be played. The name "kerneld" was selected merely to obfuscate the intended purpose of the file and make it easier to hide its presence on the machine you install it on. SERVICE INSTALLATION, UNINSTALLATION, STARTING, AND STOPPING. ------------------------------------------------------------- To install the service, copy the kerneld.exe into a suitable directory on the target machine where it will not be easily be discovered (such as the \winnt\system32\ directory), and run "kerneld -install" from a command prompt. When the service installs itself, it will be set to start automatically when the system starts. However, it will not begin running until the next time the system restart, so you can explicitly start it using one of the methods below. The default service name that the service installs itself as is "kerneld" (as displayed within the Windows NT Services control panel). You can change this name by modifying the constant at the top of the source code and reecompiling. You can start and stop the service from the Services Control Panel, or by running "net start kerneld" or "net stop kerneld" at a command prompt. To uninstall the service, ensure it is stopped, and then from a command prompt run "kerneld -uninstall". PLAYING SOUNDS REMOTELY. ------------------------ By default, the built-in filename that is played when no socket data was transmitted is "kerneld.dll", though the file is actually a WAV file that has been renamed and not a DLL. This file is expected to be in the same directory as the kerneld.exe itself. The default port number that it listens to is 7654. The built-in filename and the default port number can be changed by editing the source code and recompiling the service. When you create a connection to the service's listening port and close the connection without sending any data, the built-in filename will be opened and played over the computer's speaker. The easiest way to open and close a TCP/IP connection is to just use the Windows telnet.exe program to connect to the target machine on the specified port. Be sure to telnet to the correct port for it to work (by default telnet opens a connection to port 23). Additionally, be sure to close the connection without typing any characters within the window. For example, you can use: "telnet OTHERHOST 7654" and then immediately close the telnet window that is opened. If you want to play an alternate file on the remote computer, you can open a TCP/IP connection to the service port and send the raw WAV file data over the socket. You unfortunately cannot use telnet for this purpose. The easiest way is to use the "netcat" (nc.exe) program which you can easily download from this location: http://www.l0pht.com/~weld/netcat/ For example, you can use: "nc OTHERHOST 7654 < FILENAME.WAV" ABOUT THIS PROGRAM. ------------------- This program was written by Jeff Lawson using Borland C++, though it should be easily compilable with Visual C++ with minimal modifications. I wrote it originally so that it could be installed on my college roommmate's computer and allow my other suitemates to taunt him by playing obnoxious WAV files on his machine while he was sitting in front of it. You can find my website at http://www.bovine.net/~jlawson/ or you can email me at jlawson@bovine.net