
LIMITATION OF THIS CRACK FOR ARTCAM 2009:
With this crack you cannot open .art files (version 10) which were created (saved) by the original 
non-cracked ArtCAM 2009 software and vice versa. But you can open all .art files that you have saved with this crack.
You can further open all .art and .rlf files of older versions (version 9), this includes ArtCAM 2008 files.

This limitation is due to the fact that the blowfish key generation algorithm for ArtCam 2009 is unknown until now.
When an ArtCam .art file is saved, two 16 bytes long keys for blowfish encryption are generated and the file is encrypted.
This keys are saved in the .art file, and when this file is opend again, its content is decrypted with the 2 keys.
But the 2 keys are not the true keys for the blowfish en(de)cryption algorithm. The true key is derived from the first one
through a one-way function. This function converts a DWORD value into a differen DWORD value and it is very difficult
(if not impossible) to reconstruct this function in code. It seems that this one-way function has been put on the USB-Dongle in
ArtCam 2009 and is computed by the microprocessor on the dongle.

HINT:
This crack can be used for all Delcam Software: Artcam, Powermill, FeatureCam, ...
Maybe it also works for all Service Packs of ArtCam 2008
This crack also works for Windows VISTA


INSTALLATION:

1. Create an environment variable DELCAM_LICENSE_FILE with value 22222@yourhostname
   Replace "yourhostname" with the name of your computer (for example: 22222@PETER) see file "EnvironmentVariable.gif"
   22222 is the port number, which must be the same as in licsense file "delcam.lic", you can choose any value 
   between 1024 and 65536, but change the value at the two places 

2. Create an empty folder C:\flexlm if there is not already such a folder

3. You can start the license manager either manually or create a windows service for automatic start at computer-startup

4. To start the license server manually, run "lmgrd restart.bat", this starts lmgrd.exe which in turn starts delcam.exe
   This batch file can be executed multiple times because it kills the running lmgrd.exe and delcam.exe before 
   restarting them.
   To kill the Flexlm license manager run "lmgrd stop.bat"

5. To start the license server automatically at computer-startup, create a windows service with "lmtools.exe":
   Start lmtools.exe, select tab "Service/License File", select radio button "Configuration using Services",
   go to tab "Configure Services" and fill in this form like in the picture "lmtools.gif": 
   In the field "Service Name" type in a name for the service of your choice
   In the next three fields fill in the full paths to the corresponding files where you have copied this crack directory
   Check "Start Server at Power Up" and "Use Services"
   Press button "Save Services"
   Now the service is created and you can see it listed in the windows services management console

   If you want to change the service, first press button "Remove Service" then change the text boxes and then again press
   button "Save Service". 

6. If Artcam crashes, read the infos at the bottom of this file

7. "license files\artcam 2009 only.lic" is a license file for ArtCam 2009 only
   If you want to use it then replace "delcam.lic" with this file and restart the license manager

8. To turn on logging of vendor daemon "delcam.exe", create an empty text file with name "delcam.txt" or
   "delcam notime.txt" (If you do not want time infos to be logged) in the crack folder
   If logging is enabled, the messages are written to a log file with name "log delcam.txt"
   You can delete this log file at any time, because it is created when the next log entry is written
   To disable logging, remove "delcam.txt" or rename it and restart the License Manager

9. Do not move ACQ.DLL, this file must stay in the crack folder

10. Make sure that there is no /noflex parameter in your shortcut to file ArtCAMPro.exe. If ther is then remove it.



The Flexlm license manager must be started befor Artcam 2009 or any Delcam Sofware can be used.


ADDING FEATURES TO LICENSE FILE:
If a feature is missing in the license file "delcam.lic" you can add it
To find missing features first look at file log.txt
If you find lines for example like this:

10:51:33 (delcam) UNSUPPORTED: "ARTCAM-BASBITMAPS" (PORT_AT_HOST_PLUS   ) Username@Host  (License server does not support this feature (-18,327))

then the feature ARTCAM-BASBITMAPS is not available
Open delcam.lic
Copy and paste an existing FEATURE-line and change the feature-name to ARTCAM-BASBITMAPS
Next run "lmcrypt.bat" to recalculate the key for the added feature line
Restart license manager with "lmgrd restart.bat"

Check the log file "log.txt" for lines like this:
9:13:30 (delcam) Invalid license key (inconsistent authentication code)
 9:13:30 (delcam) 	==>FEATURE ARTCAM-ENTBITMAPS delcam 2009.120 permanent 50 \
If you find any one of them, then run "lmcrypt.bat" to recalulate the keys and then restart the license manager





LOGGING COMMUNICATION MESSAGES OF ARTCAM WITH VENDOR DAEMON delcam.exe:

Artcam sends heartbeat messages to delcam.exe within an intervall of about 3 minutes
If delcam.exe does not respond (for example if you have stopped the license manager) you get an message box in
Artcam, which warns you that the license manager is not running. After 3 message boxes artcam exits automatically.
This ensures that delcam.exe is running even after checking out of the features

If you open "log delcam.txt" you see lines like this:

07:37:24  <--- time when log is written
?08?E84B1731  <-- key that delcam.exe has received
?08?FF0DC518  <-- key that delcam.exe has sent

The example above is a DWORD, 8 HEX-characters long

If Artcam crashes then look for the last line in "log delcam.txt" 





TROUBLESHOOTING FLEXLM SERVER:

If you have problems connecting to Flexlm Server and you always get the Dongel-Activation Dialog at startup of Artcam
then read this.

Flexlm is a client-server system. ArtCAMPro.exe is the client and delcam.exe is the server.
lmgrd.exe is listening on a TCP port which has the value of environment variable DELCAM_LICENSE_FILE and delcam.exe ist
listening on a different TCP port which you can find in log.txt after staring of Flexlm Server.

1. Ensure that the 2 processes lmgrd.exe and delcam.exe are running:
   Start the Task Manager with Ctrl-Alt-Del and select Tab "Processes", click "Name" header to sort alphabetically, and
   then you must find the 2 processes listed

2. Find the listening TCP port numbers for lmgrd.exe and delcam.exe
   The listening port number for lmgrd.exe is part of environtment variable DELCAM_LICENSE_FILE
   If you haven't changed it the value is 22222
   You can also find it in file "log.txt":

   14:24:05 (lmgrd) lmgrd tcp-port 22222

   The listening port number for delcam.exe can be found in file "log.txt"
   Search for a line like this:

   13:06:33 (lmgrd) delcam using TCP-port 12602

   Here the listening port number for delcam.exe is 12602 which is different after every start of the Flexlm Server

   You can also find the 2 port numbers if you start "SocketTools\TcpView\Tcpview.exe" and search for processes lmgrd.exe and delcam.exe
   You should find 2 lines similar to this ones:
   lmgrd.exe:2532	TCP	0.0.0.0:22222	0.0.0.0:0	LISTENING	
   delcam.exe:300	TCP	0.0.0.0:12602	0.0.0.0:0	LISTENING	

   
2. Start program "SocketTools\SocketTest.exe" to test connectivity to the 2 ports
   You should be able to successfully connect to both listening TCP ports
   If not this crack will not work and you will always get the Dongel-Activation dialog

3. You can also optionally start "SocketSniff\SocketSniff.exe" two times to log the communication between ArtCAMPro.exe and lmgrd.exe, delcam.exe
   At first start select lmgrd.exe in the process list
   At second start select delcam.exe in the process list
   Then start ArtCAMPro.exe and you should see log entries in both instances of SocketSniff.exe if TCP communication is possible

4. If you cannot successfully connect to both ports then it is likely that the ports are being blocked by a firewall or
   something similar
   Or try to change lmgrd.exe port in DELCAM_LICENSE_FILE to a different value than 22222



