HotCat/CoolCat Help

Tips for CoolCat: You can ALWAYS right-click to get a context sensitive menu.

Overview

HotCat is a server application used to send and receive information from a remote client (CoolCat) using the TCP/IP protocol. The client can this way completely control the remote computer in which the server is installed. The server application (HotCat) can serve many (thousands, theoretically) clients simultaneously. HotCat and CoolCat can be compared with other similar applications as NetBus or Back Orifice, but have a more complete set of functions. HotCat and CoolCat runs in Windows 95/98/ME/NT/2000. 

HotCat and CoolCat are programmed in Borland Delphi 5 using the Indy TCP/IP components (see about box).

Functions supported by HotCat/CoolCat

Up


Using HotCat

The first time you start HotCat, it will start as a normal application. Next time you start the server, HotCat will always start minimized in the Windows tray.

The default password to access HotCat is "cats" (without quotes. Password is CASE_SENSITIVE).

When HotCat starts, it will extract and show information about your system in the tab Info.

HotCat Options.

The first time you start HotCat, you will eventually want to configure it. In the tab Options you will find:

Autostart: Select this option if you want HotCat to automatically start with Windows.
Autolisten: Select Autolisten if you want the server to automatically begin listening for client connections when you start HotCat. If Autolisten is not checked, you will need to start the server manually with the button Start Server.
Port: This is the TCP/IP port for HotCat to listen to client connections. The standard port is 1969. Change it if you have another application using that port. You must STOP the server before you intent to change the port.
Protect vital files: Prevent CoolCat (the client) to manipulate HotCat.ini and Security.ini.
Log errors only: If selected, HotCat will only log errors or denied actions. Good in you want to maintain the log file in a reasonable size. Bad if you want to see all the events in your server.
Beep on connect: If the server receive a connection query, it will play the file beep.wav. If you want to have a sound when a client connect, but dislike this "meow" sound, simple replace the file beep.wav in HotCat's folder.
Permit shutdown: Unselect this option if you want to prevent the remote user to reboot or shut down Windows. Permit only one connection: If selected, only want client can work with HotCat at the same time. To permit simultaneous connections, unselect this option.
Show # of connections in Application title: If selected, the tool-tip (hint) for the application will show the number of connected clients.
Password: These two edit boxes can be used to change the server password. Type your new password in the first edit box and confirm it in the second. The password is CASE SENSITIVE and cannot contain "spaces".
Command Line/Send and view: These fields are used for testing purposes. You can write a command (see Commands) and test the results.
Start server: The server will enter the "listening" mode, and wait for connections.
Stop server: The server will stop listen for connections.
View log: View the log file.
Delete log: Delete the log file.

IMPORTANT: When you change any options you MUST click the Apply button to save your changes.

*****

In the tab Connections, you can see the number of connected clients and the client IP, its intern handle and the date/time of connection. If you want to disconnect a client, simple select the client in the list and right-click. Select Kill. The client will be disconnected. To prevent this client to connect again, you can add it to the "deny" list in the tab Security.

*****

The Security tab.

In the Security tab you have two options: The clients on the list will be banned or the clients on the list will be allowed to connect to HotCat. If you, for example, want to connect only from your computer at home, then add your home IP to the list and select Allow connections. All the computers but yours will be "banned" from HotCat. You can use '*' to include a whole subnet in the list. Example: 130.235.*.*
Don't forget to click the Apply button to save your changes.

Up


Using CoolCat

To connect to Hotcat, you must know three important things:

a) The IP or host name of the remote machine (where HotCat is running)
b) The port number that HotCat is using to listen for new connections (default= 1969)
c) The password to connect to HotCat

When you are ready to connect, click the button Connect (the first button in the speed bar). A dialog box will ask you for the IP/hostname and port. Write the IP:port, separating the two fields with a ":".

Example: 127.0.0.1:1969 will connect to the address 127.0.0.1 and port 1969. No spaces are allowed in this line.

When you click OK, you will be asked for a password. Write the password and click OK. The default password for HotCat is "cats". Remember that passwords are case-sensitive. You are recommended to change the password for your own security. The password can be changed in the server (HotCat) or from the client (CoolCat).

If your password is accepted, the server will send you some useful information about HotCat. This information shows in the Server Info tab.

The Explorer tab.

When you are connected, the "drives" part of the explorer will show you the drives located in the remote machine. You can double-click a drive icon to see the files and directories, contained in that drive. If you want to perform some operation with these files and directories you can ALWAYS right-click the file or folder icon and select a function from the menu.

The available functions here are:

Get/Refresh-The server will resend the list with the files and directories.
Copy File/Dir: Copies the selected items. You can then select the destination directory, right-click again and select Paste File/Dir.
Cut File/Dir: Cut the selected items. You can then select the destination directory, right-click again and select Paste File/Dir.
Paste File/Dir: Paste the items that you previously had selected with Copy or Cut.
Create Folder: When you select this item from the menu, you will be asked for a folder name and the directory will be created on the server.
Rename: Rename the selected item.
Delete: Erase the selected items. The files/directories will be stored in the recycler bin.
Execute in server: The program or document will be started in the server machine. You can see the started process in the Processes tab.
Download: Download the selected file. HotCat is NOT a FTP application and cannot handle to download directories. However, it can download more than one file with only one command (selecting multiple files).
Upload: Upload the selected file. HotCat is NOT a FTP application and cannot handle to upload directories. However, it can upload more than one file with only one command (selecting multiple files in the dialog box).
Properties: Will show the file size, attributes, etc. If the selected item is a directory, it will show the size, number of files and subdirectories that the folder contains. If HotCat is running in Windows NT or 2000, some system files will not show the information. You may want to check the Log tab to see if some error is reported.

The control tab

The Control tab contains a couple of commands to manage the remote computer. The commands are divided in categories: Server Info, Server Control, Server reboot options, Server hook, Server registry and Special.

When you execute a command from (but not only) the list box, the result will be displayed in the Command Result field. Sometimes the result will be displayed in a rather raw way (example, the "processes" command), but this will only happen when the result will be processed and displayed in another way (visually).

Server info commands: These commands are very simple. No argument is needed. They return info about the server. For instance, the command Get connected clients info returns a list with all the clients who are connected to HotCat, theirs IP and handles.

Server control: Some of these commands need one or two arguments. Must of these functions are easy to understand. It is important to remember that every time you are asked for a file name, you must write the whole path to the file. You can use long file names.

Server reboot options: These commands allow the user to restart or shutdown the server, but only if the option Permit shutdown is selected in HotCat. There is also a special function: Restart HotCat, which starts the utility RestCat in the server to restart HotCat.

Server hook: These three commands are used to start a global hook in the server and log the keyboard events. If you want to begin logging the keyboard events, select the command Start logging keyboard events. When you thing you've got the information you wanted, use Stop logging and then Get keyboard log. It's important to understand that you don't get the results directly here, but you get the whole file with the keyboard log when you use Get keyboard log. The log file is located in c:\hookfile.txt in the server side.

Server registry: These are the must difficult of all commands to use. Because working with the registry can be a very dangerous operation, you must be careful here. Use View registry key to see the information contained in a sub key. For example, you could write the argument: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Fonts to get a list with the values of this key. Remember to always write the complete key string when working with the registry.

The "Services" tab

This tab will ONLY work if HotCat is running in Windows NT or Windows 2000. If you right-click and select Get-Refresh, you will get a list with the services that are running in the server machine. CoolCat will show the service name and its status. You can right-click anywhere in the list and select Stop or Start service to attempt change the service's status.

The processes tab

The processes tab will show you a list with all the processes running in the server machine. You can right-click and select Get/Refresh to get the list with the processes. Use Kill process to terminate the selected process.

The Screen Tab

Right-click and select Get/Refresh to receive a screenshot from the remote machine.

Up


Commands

All the information between HotCat and CoolCat is exchanged as text lines (except when sending or receiving binary files). CoolCat sends a text line (command) with or without arguments to HotCat. HotCat processes the line and send a response back.

You can anytime send a custom command to HotCat from the button Send a custom command in CoolCat.

The documented commands are: (all the commands are in lower case letters). If any argument contains spaces it MUST be enclosed by quotation marks (").  A "-" in the arguments columns means that no argument is expected.

Command Argument 1 Argument 2 Comments
getserverinfo - - Get information about the server.
getdrivesinfo - - Get the list of the drives (floppy, CDs,etc) and it's type.
getserverdatetime - - Get the time and date of the server machine.
setdatetime Date Time Set the date and time of the server machine. Date must have the format: year-month-day  and time: hour:minutes:seconds
getserverversioninfo - - Get the server (HotCat) version number.
getosversion - - Get the OS type (NT, 9x, etc)
getosbuildnumber - - Get OS version number
getmeminfoprocent - - Get the percent of used memory at server.
getmeminfototalph - - Get total amount of physical memory (bytes)
getmeminfoavailableph - - Get available physical memory (bytes)
getmeminfototalpg - - Get total amount of page file (bytes)
getmeminfoavailablepg - - Get available page file (bytes)
getmeminfototalvrt - - Get total amount of virtual memory (bytes)
getmeminfoavailablevrt - - Get available virtual memory (bytes)
getwindowsdir - - Returns the directory where Windows is located
getsystemdir - - Returns the System directory
getcomputername - - Returns the name of the computer where HotCat is located.
getusername - - Returns the name of the user who is logged in in the computer where HotCat is located.
playsound File name - Plays the file "File name" in the remote computer. "File name" must be an existing file. Use quotation marks surrounding the file name:

Example: playsound "c:\windows\media\ding.wav"

gethotcatpath - - Get the directory name where HotCat is located.
ejectcddrive Drive letter - Ejects the CD "drive letter:".

Example: ejectcd "D:"

sendlogmessage Message - Stores the argument "Message" in HotCats log file. Use quotation marks.

Example:
sendlogmessage "hello world"

sendscreenmessage Message - Shows a dialog box with the message argument in the server. Use quotation marks.
getlocalname - - Get remote machine's local name.
gethotcatdir - - Same as gethotcatpath
getservername - - Get HotCats name
executefile File Name - Execute this file locally in the server machine. Use quotes. You can execute programs, documents or folders. If a document is passed as the argument, it starts using the correspondent association.

Example:
executefile "c:\windows\readme.txt"

copyfiledir File/Directory source File/Directory destination Copy the file or directory passes as the first argument to the second argument. Use quotes.

Example:

copyfiledir "c:\autoexec.bat" "d:\"

deletefiledir File/Directory y Deletes the argument. The file or directory will be stored in the Recycler bin. The second parameter MUST be "y" to confirm. Use quotes.
Example:
deletefiledir "c:\autoexec.bat" "y"
movefiledir File/Directory source File/Directory destination Same as copyfiledir but the source is moved.
renfiledir OldName New Name Rename the source file/directory. The new name is the second argument.

Example: 
renfiledir "c:\autoexec.bat" "c:\autoexec.new"

emptybin - - Empty Recycler bin
getsubdirectories Directory - Get a list with the subdirectories contained in Directory.
Example: 
getsubdirectories "c:\windows"
getsubfiles Directory Get the files contained in Directory.
getprocesses - - Get a list with the processes running at the server.
getsnapshot Quality - Get a snapshot from the server. The file is stored in the file ss.jpg in the HotCat's directory. Quality is a number from 0 to 100 to describe the quality of the image. Standard=80.
shutcomp Param - Restart the server machine. The "Param" argument can be:
poweroff: Exit Windows and Power off the machine (if supported)
shutdown: Exit Windows
reboot: Reboot Windows
logoff: Log off the current user
force: Force active applications to close and Exit Windows.
killprocess Handle - Kill the process which handle is indicated in the first argument.
Example: killprocess 456
getservices - - Only if HotCat is running in Windows NT or Windows 2000. Get a list with the registered services.
createfolder FolderName - Create the folder "FolderName". Use a full path and quotes. Example:
createfolder "c:\New Folder"
stopservice ServiceName - Stop service "ServiceName"
startservice ServiceName - Start service "ServiceName". Example:
startservice "dhcp"
getfileproperties FileName - Get file properties information. Use quotation marks.
getdirproperties Directory Name - Get directory information. Use quotes.
getclients - - Receive a list with all the clients connected to HotCat. 
restarthotcat Seconds - Restart HotCat. The first argument is the number of seconds to wait after HotCat has exited.
setkeyboardhook - - Start logging the keyboard events. The log file name will be hookfile.txt. 
unsetkeyboardhook - - Stop the logging of the keyboard events.
regviewsubkeys Key - View the values and subkeys contained in the key "Key". Use quotes.
Example: regviewsubkeys  "HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\Windows\CurrentVersion\Run"
regdeletekey Key - Delete the key from the registry.
regdeletevalue Value - Delete the value from the registry.
regcreatekey Key - Creates a key. Example:
regcreatekey "HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\Windows\CurrentVersion\Run\test"
regcreatevaluestring Key ValueName\Value Create a string value in the Key. The value name and actual value MUST be separated by a "\".
Example:
regcreatevaluestring "HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\Windows\CurrentVersion\Run" 
"Test\My test"
regcreatevalueinteger Key ValueName\Value Create an integer value in the key. The value name and actual value MUST be separated by a "\".
movemouse Coordinates - Move the mouse to Coordinates. Separate the X and Y value by a "\".
Example: movemouse 3\345
testforconnection - - Test if HotCat is alive.
quit - - Disconnect from HotCat

Upp


Copyright

HotCat and CoolCat 
(c) Copyright 2001 by Luis Cobian. All rights reserved. 

Portions of this software are
Copyright 1993-1001 by Chad Z. Hover (Kudzu)
And the Indy Pit Crew. (see about box).

By using this program, you are accepting the conditions described in the file LICENSE.TXT. Read that file very carefully. I created this proggy as a tool to control my server at Umeå University from home and I've decided to make it free available. 
IMPORTANT: HotCat and CoolCat can compromise the security of your server. Use it atyour own risk. Bad intentioned persons can use these programs to "hack" a computer and do any kind of harm to it. I repeat: this program is NOT intended to be a hacking tool. 
I am NOT responsible for any kind of damage caused to any computer while using HotCat and/or CoolCat. The person that use/install HotCat/CoolCat may be hold responsible for any damage or harm he/she has caused to a remote machine or for any information he/she may obtain using HotCat/CoolCat. I'm not responsible either for any damage caused directly or indirectly by bugs in HotCat/CoolCat.

Long Live Delphi and Happy Remote Controlling to you...

Luis Cobian
Umeå, Sweden
28 February 2001

Up


Licence agreement

IMPORTANT-READ CAREFULLY: This Software License Agreement ("SLA") is a legal agreement between the author, Luis Cobian ("Author") and the end user ("You") of CoolCat/HotCat software product ("Software"). You must accept this Agreement before You use any part of this software. If You do not accept the terms of this Agreement, please, immediately delete the Software from the computer. 

COPYRIGHT AND LEGALS

HotCat and CoolCat 
(c) Copyright 2001 by Luis Cobian. All rights reserved. 

Portions of this software are
Copyright 1993-1001 by Chad Z. Hover (Kudzu)
And the Indy Pit Crew. (see about box).

CONDITIONS OF USE

By using HotCat/CoolCat/RestCat and all their commponents/libraries you are agreeing with all the following conditions:

*These programs (HotCat.exe, CoolCat.exe, RestCat.exe, CobHook.dll and all the associated files distributed in this package) are owned and copyrighted by Luis Cobian. You may use these programs for free and you are encouraged to distribute them but only in the original package (cats.zip), containing the following files:
-CoolCat.exe
-HotCat.exe
-RestCat.exe
-CobHook.dll
-readme.txt
-license.txt
-indylicense.txt
-Cats.htm
-Beep.wav

* You may NOT modify the original files.
* Proprietary information: You understand that the Software may contain private or proprietary information, including proprietary algorithms protected by copyright. HotCat/CoolCat is Freeware, but not Open Source.
* The Software can contain bugs. The Author is not responsible for any damage caused by the Software to Your computer. Use the Software at your own risk.
* HotCat and CoolCat can compromise the security of the computer where HotCat is installed. Use the Software at your own risk. Bad intentioned persons can use these programs to "hack" a computer and do any kind of harm to it. I repeat: this program is NOT intended to be a hacking tool, but can be used that way. The Author is NOT responsible for any kind of damage caused to any computer (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) while using HotCat and/or CoolCat (including damages caused by negligence or otherwise). The person that uses/installs HotCat/CoolCat may be hold responsible for any damage or harm he/she has caused to a remote machine or for any illicit information he/she may obtain using HotCat/CoolCat.

Luis Cobian
Umeå, Sweden
28 February 2001

Up