# Specrem Client & Server

## by Antti Kirjavainen

### Description

Specrem is a remote controlling tool for Windows 95/98/ME/NT4/2000/XP. It contains the Server and the Client program, which you can use to remote control other computers. When the server program is running on the other computer, you can remote control the system. This file contains information about the options and functions Specrem has.

### Installing the program

If none of the programs start, download and run this file:
It will install all the needed components. Also remember to do the first phase described just below:
1. First of all, I recommend starting SINSTALL.EXE. Select "Install needed files" and press OK. It will install all the needed components.
2. The server program SSERVER.EXE needs to be running or the computer you wish to connect. Start it at that computer. Go to "Security" and set the Administrator password (the server will not start without it!).
3. You can see the server computer's IP address from the server window, example: "Server @ 192.168.0.1:1187". This would mean that 192.168.0.1 is the address of that computer, and 1187 the port.
4. Start SCLIENT.EXE at the other computer. Enter the server computer's IP address (you can also use hostname in LAN) and port (or, just type the whole text, in this case 192.168.0.1:1187, to the address box). Click "Connect". It will ask the server's password now, just enter the Administrator password you just set to the server program. Now you can control the remote computer.
You can set the Server program to start at every Windows startup by starting SINSTALL.EXE and selecting "Install visible server", or "Install invisible server". Then press "OK" and the program will create the registry key for the server. To remove it, select "Remove registry key" from this same program and press "OK".
Basic installation:
1. The server program must be running at the remote computer you wish to connect. Run it at that computer.
2. Connect to the server with the client program using the server's IP address (or hostname in LAN) and the server program's port (default 1187). You can see the IP address from the server window, but you can also open MS-DOS- or Command prompt and type IPCONFIG.

#### SSERVER.EXE
- This is the server executable. Command line parameters:
- "/I" starts the server invisible.
- "/MAX" starts the server visible and opens the server window.
SCLIENT.EXE
- This is the client program.
- You can specify the address and port to connect from the command line, example: " SCLIENT 195.156.248.10:1187"
SMESSAGE.EXE
- Used for several different message functions.
STOOLS.EXE
- This file contains some extra functions, like "Wake up on LAN" and "Ping".
SINSTALL.EXE
- You can install either only the needed files, or visible/invisible server with this file and uninstall the server too. Command line parameters:
- "/R" installs needed files.
- "/V" installs visible server.
- "/I" installs invisible server.
- "/U" removes the registry key.
REGISTER.EXE
- Register/send a bug report with this program. Registration is TOTALLY free. Command line parameters:
- "/B" send a bug report with system information.
- "/R" register.

### Server options

Change port - Changes the port to listen.
Chat - Starts chat with a connected users.
Kick user - Kicks a connected user off.
Kick all - Kicks all connected users.
Change client status - You can change any client's status to Admin/User/Guest from the server program and also from the client program, if you're logged in as an Administrator.
Userlock - When userlock is enabled, all current users at the server will remain, but no-one can connect to the server.
Stop/Start - Disables/enabled server. When the server is disabled, no-one can connect to it.
Send call signal - The remote user will get a message saying "Server sent a call signal!". It can be used for testing the connection. NOTE: The signal will be sent to all users, and if a client doesn't respond, its address will be automatically kicked.
Send message - Sends a message to all clients.
Options - You can set the accept & reject lists here. You can also choose, how many connections the server will accept at the same time.
Security - Server security options. See below.
Stats - Server stats. How many administrators, users and guests are connected.
Listen mode - Shows what the users are doing/trying to do.

### Security

Security is an essential part of any remote controlling program. Here are some frequently asked questions & answers:
Q: What are the users, administrators and guests allowed to do?
A: Administrators have full and unlimited access to do anything. Users and guests can only use the following options:
- Chat
- Send message
- Host version
- Host users, remote kicking not allowed
- Host options, view only, changing not allowed
- Host stats
- If "File server" is enabled, guests can browse files and users can also download & upload files (+ view file properties). Note that replacing files by uploading is not allowed. If the file already exists, server will cancel the upload. If you have set a root folder, users can only see, download and upload files to/from that directory.
Q: But can't the users and guests download Specrem's password files when in file server-mode?
A: Nope. Only administrators are allowed to download files named SPWD.DAT, SPWD1.DAT, SSPWD.DAT, SCPWD.DAT or SPWD2.DAT. And in case that a user would be able to get a password file some other way, the password is encrypted, and it would be very hard for even a professional to break the encryption.
Q: How secure is Specrem's encryption?
A: Specrem encrypts the password files 3 times with 3 different encryption methods.
Q: How is the password transferred between the client and server programs?
A: If you use encrypted connection, the password (as well as everything else) is sent encrypted, otherwise, as a plain text.
Q: What if the client program is hacked?
A: There is no hacking in the client program. Server program is the one that performs all the requested commands. Client program only sends commands to the server program, and server then decides to either follow or ignore the command depending on the user access level. So, hacking the client program doesn't accomplish anything.
Q: What if someone is able to break the encryption?
A: If this happens, I will immediately create a new encyption method and release a new version. However, though someone would have ability to read the password from the password files, what would he/she gain of it? it doesn't give access to any computer running Specrem server. Why? Because the hacker would have to get the password file first to connect to any computer as an administrator. How could he/she get it? Specrem server won't let users and guests to download password files, so the hacker would have to have an other way to access the computer. Either a backdoor program, or access to use the server computer itself. Still, it is be more likely that the person would just reset the security options in this case. Watch out for backdoor programs!
Q: The encrypted connection is slower!
A: The encrypted connection is a little slower, unless both, the server and the client computer have at least 600 Mhz processor. Encrypting all the commands requires more horsepower, but if you really don't need such a high security, it is recommended you use the plain connection.
Q: Are administrators kicked, if they flood?
A: No. Administrators are never kicked, no matter how much they flood when the flood protection is enabled.
Q: What does "Keep flood bans" do?
A: Flood bans will be normally removed after one minute, this option will make them stay forever, if they're not manually removed.
Q: Does Specrem Server contain any "backdoors"?
A: No. Specrem does not contain any master key password and it does NOT use any other ports than the main port (default 1187) and the file transfer port (default 4339). If you don't believe, you can always check it with a firewall program =).
If you have more security related questions, please e-mail me.

### Client options

Address book - You can add the most recently used addresses (or hostnames, if you are using LAN) here (you can add the port too, example: 192.168.0.1:1187, or ComputerName:81). Also choose, whether you are using the encrypted or plain connection. If you wish, you can set the nickname to use in the chat sessions here too.
Host scanner - Scan for hosts in a specific IP range. Type in the start of the IP address (example: 195.156.248), port, and the range to scan (example: 0 and 200, this would scan from 195.156.248.0 to 195.156.248.200). You can connect or add the found hosts to the Address book immediately.
Port scanner - Scan any open ports at the local or any remote address. An easy way to check, if your computer is secure.
Skins - Change client's skin.
Simple mouse and key - Remote control the remote computers mouse and keyboard.
Full control and screen capture - Same as above but with screen capture, which means that you can see what happens on the remote computers screen.
Execute file - Execute any kind of file, TXT or MP3 example. It will be ran on the appropriated program.
Execute program - Execute a program file (EXE, COM, BAT or PIF). You can select its focus also.
Execute DOS command - Execute any kind of DOS-command you wish on the remote computer. You should always use full path, when pointing to files, example: C:\WINDOWS\NOTEPAD.EXE.
Delete file - Delete any file from the remote computers hard drive.
Copy file - Copy a file on the remote computer to another directory on the remote system.
Move file - Move a file on the remote computer to another directory on the remote system.
Rename file - Rename a file on the remote computer.
Change file transfer port - Specrem uses port 4339 as a default for file transfers but you can change it from here (in case this port is reserved for other programs).
Download file - Download any file from the remote computers hard drive to your hard drive.
Upload file - Upload a file from your hard disk to the remote computers hard drive.
Create folder - Create a folder to the remote system's hard disk.
Delete folder - Delete folder from the remote system's hard disk and all files & sub directories it contains.
Find files - File search at the remote computer.
File manager - Browse the files on the remote computer.
Change port - Change port on the remote computer.
Host options - Change server accept/reject lists and other options.
Host information - View the system information of the remote computer.
Host users - Who is/are connected to the server? You can also remote kick users, if you are connected as an administrator.
Host security - You can remotely change the server's security options (must be an administrator to even view these options).
Host stats - Shows the server stats.
Host version - Shows the Specrem Server version the remote computer is using.
Registry editor - Add/Delete/Query paths/keys of the registry at the remote system.
Service manager - Control Windows services. Only works if the server is running on Windows NT4/2000/XP. To control the services, the current user at the server computer must have administrator rights.
Window manager - Contains many options to do with the remote system's windows & processes.
Print document - Print a document on the remote computer with its printer.
Print picture - Same as above except that this prints a picture.
Open CD-ROM - Open/Close the remote system's primary CD/DVD-ROM drive.
Keylights - Contains many options to toggle Numlock/Capslock/Scroll lock on the remote computer.
Swap mouse buttons - Swaps mouse buttons on the remote computer. Right becomes left and vice versa.
Hide Start-button - If the remote computer is using EXPLORER.EXE as shell, this hides the Start button from the taskbar.
Hide taskbar - If the remote computer is using EXPLORER.EXE as shell, this hides the taskbar.
Play sound - Plays a sound on the remote computer
Play midifile - Play/Stop a midifile on the remote computer.
Volume control - Control the remote computer's volume settings.
Open web page - Opens the default browser with the selected page on the remote computer.
Freeze mouse - Freeze/Unfreeze the mouse on the remote computer. Only for Windows 95/98/ME.
Disable mouse - Disable/Enable mouse on the remote computer. This will forcefully keep the cursor in the up left corner. Basically just the same thing as Freeze mouse, but this works on every Windows.
Mouse double-click - Change the mouse double-click time in milliseconds on the remote system. Less time is faster, 500 is normal and the default.
Key click - Makes the keyboard click every time a key is pressed at the remote computer.
Send text - Send text to active window on the remote computer.
Disable Alt+Ctrl+Del - Disables this key combination, the tasklist cannot be viewed. Only for Windows 95/98/ME.
Chat - Chat with the server computer and every user connected to the server.
Send message - Send a short text message to the remote computer.
Send error message - Send fake error messages to the remote computer.
Keyboard listen - You can see every keypress the user types at the remote computer.
Mouse listen - You can see where the mouse is moving at the remote computer.
Screenshot - Takes a screenshot from the remote system's screen and shows it to you.
Screen spy - Spy the remote computers screen, mouse and keyboard at the same time.
Close server - End the server program at the remote computer.
Restart server - Restart the server program at the remote computer. This will disconnect you.
Shutdown - Shutdown the remote computer.
Reboot - Reboot the remote computer.
Logoff - Logoff the user at the remote computer.
Force shutdown - Forcefully shutdown the remote computer.
Crash Windows - Crash the remote computer (freezes the Kernel).
NOTE: Freeze mouse, Disable Alt+Ctrl+Del and Crash Windows only work if the server is running on Windows 95/98/ME.

### Chat options

Change nick - Change your nickname.
Popup chat - When enabled, the chat window will automatically popup.

### Command line commands (type in the chat window):

/NICK [new nick] - Change your nickname.
/CLOSE - Close the chat window.

### Greetings

BETA testers:
Gary P. Beck
Tomi Kapanen
Jussi Kopra
Lassi Lahtinen
Hannu Mäki
Kirk Northrop
Jaakko Salo
Wade Wendorf
Special thanks to Daniele Melosi. He was finally the person, who had found a way to virtually click the mouse button with VB. Without his help, Specrem would still be missing the Full control-feature.
Special thanks to Konstantin Tretyakov. His keyboard hook file, KTKBDHK.DLL helped a lot.

### Contact me

If this help file didn't solve your problem, explain something, or you just wan't to comment the program I'll be glad to receive your e-mail.
E-Mail: akirjavainen@mail.htk.fi
Homepage: http://www.htk.fi/public/akirjavainen
Mirror site: http://specrem.3utilities.com