El Muerte's UT2004 Creations
caveo cavere cavi cautum
caveo cavere cavi cautum
Copyright © 2004-2005 Michiel "El Muerte" Hendriks 

caveo cavere cavi cautum

This program provides a protection for your CDKey for UnrealEngine games.
The method is easy, the original CDKey will be encrypted with the MD5 checksum of a password you choose. This password is saved nowhere, you will have to remember it. To launch the game you will have to start this application and enter the password. When you hit "ok" the game will be started with the correct CDKey. If you try to launch the game without this program the CDKey will be invalid.
The encrypted CDKey will look like a normal CDKey, thus it's impossible to distinguish an valid CDKey from an encrypted CDKey.

Warning: this program will not protect your CDKey from being stolen when the program that will be started by this application steals the CDKey (for example: No-CD cracks can still steal your CDKey).
Important notice: pick a good password.

Downloads

The source code is available via CVS:
CVS Web Repository
http://el-muerte.student.utwente.nl/cgi-bin/cvsweb/CCCC/
CVS Root for anonymous access, module name: CCCC
:pserver:anonymous@el-muerte.student.utwente.nl:/usr/local/cvsroot/

Usage

To use this program simply run it. The first time you will have configure it and enter the original CDKey and your password. The original CDKey is not stored anywhere.
You will also have to configure the application and argument to use when the user hits the "OK" button. For the arguments you can use %1 to %9 to be replaced by the argument given to this program.
For example when you have the following configuration:
Program:	c:\ut2004\System\ut2004.exe
Arguments:	%1 %2
And you start the program with:
cccc.exe 127.0.0.1 userini=myuser.ini
It will launch:
c:\ut2004\System\ut2004.exe 127.0.0.1 userini=myuser.ini
These settings are saved to the file "cccc.ini" in the same directory as the executable. To ue a different configuration file simply rename the executable.

FAQ

Q: I forgot my password, how do I retrieve it?
A: You can't, you will have to re-enter the original CDKey and make a new password.

Q: How do I use a different configuration file?
A: Rename the executable.

Q: How do I update the ut2004:// url to use this program?
A: Open the "Folder Options" configuration screen, go to the "File Types" tab and search for the "URL:UT2004" entry (it should be at somewhere at the top). Open it's properties and edit the "open" action.

Q: Why should I trust you?
A: You shouldn't. If you don't trust me, you can always download the source code of this program and check it for yourself. You can also recompile it or even change some things.

Q: Won't the security be cracked because the program is Open Source?
A: Not really, the security relies on the password you use. Since the password is never saved it's impossible to decode the original CDKey. The only way to get the CDKey is to brute force the password, and that could take some time.

Advanced configuration

The configuration file has the following format:
[Setup]
GameName=UT2004
LaunchCommand=c:\UT2004\System\UT2004.exe
LaunchArguments=%1
CDKeyResetTimeout=6000
GameName is the of the game to use. This value is important to setting the CDKey. The CDKey will be saved to registry in:
HKEY_LOCAL_MACHINE\Software\Unreal Technology\GameName

LaunchCommand is the program to start
LaunchArguments are the arguments to pass to the program
CDKeyResetTimeout defined the number of milliseconds to wait before resetting the CDKey to the encrypted version. It defaults to 1 minute (6000 milliseconds). When you set the value to -1 the CDKey won't be reset until the game is closed. You may want to tweak this value to be just enough for the game to start up. The CDKey is checked just after the following entry in the log file:
Init: Object subsystem initialized

License

  Copyright (C) 2004 Michiel Hendriks

  This software is provided 'as-is', without any express or implied
  warranty.  In no event will the authors be held liable for any damages
  arising from the use of this software.

  Permission is granted to anyone to use this software for any purpose,
  including commercial applications, and to alter it and redistribute it
  freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not
     claim that you wrote the original software. If you use this software
     in a product, an acknowledgment in the product documentation would be
     appreciated but is not required.
  2. Altered source versions must be plainly marked as such, and must not be
     misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.