Protect-Software

Copy Protection and License Control for Software, Video and Content

 | Contact

ProtectUSB Software Guide

Introduction

This guide explains how to protect software on USB sticks using the ProtectUSB Software package together with the Protect Software web site.

We also highly recommend reading the Best Practices for using ProtectUSB .

The term “Software” is used for Windows executables and MacOSX apps. 

Note: If you want to copy protect content instead of software, you need to use ProtectUSB Content.

Requirements

To use ProtectUSB Software the following is required:

  • A FlickRocket or Software Publisher account
  • Computer with operating system Windows XP and later or Intel based Mac OSX 10.5 or later
  • Regular USB stick to which the content should be locked
  • Internet connection

Workflow

The workflow of creating a protected USB stick with software is basically very simple. However, it is important to understand which steps are required and how the licenses (or missing licenses) influence the resulting USB sticks.

The following steps are required:

1. Create a project

A project links the content to a certain protected USB stick. Every project is identified by a unique ProjectID which is created on the Protect Software web site and which needs to be specified when packaging the content and when the USB stick is licensed to said package. The protected content accepts only the licensed USB sticks as original which are protected by using the same ProjectID.

2. Protect executable and/or app and prepare files for USB stick(s)

Use the Protect Software web site to create protected Windows executables and/or Mac OSX apps that will only run if the correct USB stick is inserted. 

Use the protected binaries to create the directory file set for the USB stick(s). In the simplest case this is just the protected exe/app but more often it will be a file set or an installation.

3. Create USB stick(s)

The USB stick is modified by using the USBProtect software. Basically it copies the files created in the previous step to the USB stick(s) together with a unique license which enables the software to detect and run only if exactly this USB stick is present. 

Depending on the availability of USB protection licenses, the USB stick(s) may be created in DEMO mode with a warning message or as regular copy protected USB stick(s). 

If you don’t have valid USB protection licenses, the following warning message is displayed.

To get rid of the warning screen, you need to purchase USB protection licenses.

Setting up a product 

Every protectied executable/app is assigned to a specific Product. Products are created in the web admin interface.

Note: The screenshot above shows the product creation for a company that does not have ESD (electronic software distribution) enabled. If ESD is enabled, additional information has be specified. 

Protecting an Executable or App

For Software protections the executables/apps need to be protected to become robust against hacking attempts and check for exactly the correct USB stick/UnlockCode/Purchased license to be present for validating the permission to run.

To protect one or more Executables/Apps the “Products -> Protect executable/app” function must be used.

Protection Options

General

Use these settigns to specify fundamental properties such as which potection to use and which product is assigned.

Option Description
Profile A profile enables you to save the protection options. If you frequently protect executables/apps with identical options, it saves you time and reduces the chance of errors to create a profile. When loading a profile, all saved options are applied. 
Protection Version This selection enables you to slect the version of the protection. Sometimes there migth be different versions with different features sets to select or you might be able to use an older version. This can make sense if you have done your testing with a version which was availabel before a new version got released and you don't want to retest nor you need the new functionality.
Product

Each protected executable is linked to a product which uniquely identifies the execuable. If don't have a product defined yet, you need to do this before you can protect the execuable/app. 

If you use the "Purchase" option, the shop uses product related options for pricing, UnlockCodes, etc.

More information about the selected product is diplayed below the product selection.

License Settings

Use these settings to define the behaviour of the excutable/app such as whether or not it can be purchased, if a media is validated, if a demo/trial version is offered, etc.

Option Description Visibility
Purchase

None:

With this option the executable does not require being purchased from the FlickRocket web shop nor does it require an UnlockCode for working. This is for example a typical setting if the executable/app is locked to a protected media such as CD/DVD/USB stick or the protection serves to prevent re-engineering.

Purchase via integrated FlickRocket web shop:

With this option the protected executable/app requests a purchase from the FlickRocket web shop if no valid license from such a purchase (or other validation such such as original media) exists. The web shop is managed in the web admin interface.

Purchase via entering UnlockCode:

With this option the protected executable/app requests an unlock via UnlockCode if no valid license from such an UnlockCode (or other validation such such as original media) exists. UnlockCodes are created and managed in the web admin interface.

Always
Rights Validation

Offline license:

With this option the license validation is performed offline via a device specific license file. An internet connection is only required at the time the license is stored. The software can work without internet connection.

Online check:

With this option the license validation is performed online. Because of this, a near constant internet connection is required. The advantage to offline licenses is that it is possible to share a single license over multiple work places as long as the number of concurrently allowed licenses is not exceeded.

Only with purchase option
DRM System Admin use only Only with offline license rights validation
Demo/Trial

With the demo/trial option the protected execuable will run in demo/trial mode with the limitations defined below, as long as it is not purchased via the FlickRocket web shop or by UnlockCode.

The FlickRocket shop offers the possibility to offer a file protected with this option as demo/trial version to potential customers as part of the shop.

Only with offline license rights validation
Time Limitation This time limitation defines how long potential customers can use the protected software. During and after the time frame, they can select to purchase the software, depending on your previous settings, through the FlickRocket web shop or via UnlockCode. Only with offline license rights validation and demo/trial option
Update Level The update level is used to enable customers whose demo/trial period has been exceeded to use a new trial/demo period for an updated execuable. If a new demo/trial period should be possible, the update level needs to be increased. Otherwise, exceeded demo/trial periods will stay exceeded also for new versions. Only with offline license rights validation and demo/trial option
Physical Media Check

This option defines if, when and how often an original media (CD/DVD/USB Stick) is validated to allow the protected software to run. For software which is sold online or unlocked via UnlockCode this is typically set to "No media check". For software distributed on copy protected media typically one of the "Check..." options is selected.

It is possible to combine media checking with online purchase or UnlockCode unlocks. In this case the protected software will run once one of the validation options is true.

Always
Media Type If media check is enabled, this option defines which media type is checked. Select the media which you plan to protect and use for the distribution of the protected software. Only with media check
Check Type

Admin check:

This check type requires admin privileges at the first run of the software (or install). It is the most secure checking method but should not be used in enviromenments (typically office/big organizations) where the customer might not have administrative rights for accessing his computer.

Standard check:

This check requires only standard user rights. It is somewhat less secure but is the only option for some enviromenments (typically office/big organizations) where the customer might not have administrative rights for accessing his computer.  

Only for CD or DVD-R media check

Design Customization

Use these options to modifiy the text/design of the protected executable/app.

Option Description
Customized Startup Logo This logo is displayed during the startup/checking process of the protected executable
Text/Localizations This option can be used to upload modified (and previously download) string tables for the protected execuable. Every text displayed by the protection can be changed and additional languages can be added by uploading this file.

Advanced

Use these options to manage an expiration date for the execuable/app, which is independent of the license. 

Option Description
Expiration date If specified, the protected executable will cease to work at this date. This feature is for example used for software with expiring data - so that the application cannot be started once the data expires.
Update level The update level is used to enable customers whose expiration date has been exceeded to use a new/updated protected execuable. If a new use should be possible, the update level needs to be increased. Otherwise, exceeded expiration dates will stay exceeded also for new versions, even if a new expiration date is specified.

Finalizing the protection

After applying the protection you can download the protected executable to be used for the disc to be protected.

Protected executables history 

The Protect Software web site holds an archive of protected executables. You can access this archive by selecting “Products -> Protected executables history”.

The site lists the settings you used for the protection and allows you to download the protected executable as well as protect a new file using identical settings.

Write USB Stick(s)

To build one or multiple USB stick(s) with the content you have prepared as described in the previous chapters, you need to run the USB Protect tool.

After starting the tool, you need to select the data you have prepared. The tool will automatically detect whether your content requires USB Stick verification or UnlockCodes.

Writing USB stick(s) for USB stick validation

If your content was prepared for USB stick verification, after checking the “Content” checkbox and selecting the folder with the prepared content, the window will look like the following.

Before you select “Start” to write the actual writing process to the connected USB sticks, you need to make sure the settings for the write process are correct.

Option Description
Content (Optional) This content will be copied to the USB stick. If no content is specified, the USB stick(s) will only be licensed for the entered ProjectID. This option is useful for pre- or post-written USB(s) – meaning the content is already on the USB stick(s) or is added later.
ProjectID (Mandatory) This is the ProjectID you created previously and used to package the content you want to bind to the USB stick(s). If you have already specified the content, the ProjectID may have been auto selected.
Create Demo Activate this checkbox to create demo media. Demo media are not permitted to be given to 3rd parties and will display a warning message prior to presenting the content.
Target Selection

This area lists all connected USB sticks. You can check the sticks you want to use for the copy/license operation. The USB stick(s) must be pre-formatted and writable.

If you add additional USB sticks during the program is running, you need to click the Refresh button to display the newly added USB stick(s).

License Area

This area displays the currently available number of licenses and enables you to buy additional licenses.

Note: If you don’t have licenses, you can still prepare the USB stick(s) in a demo mode, by activating the “Create Demo Medium” checkbox.

The actual write and licensing process

To write one or more USB stick(s), you need to press “Start”.

After all USB sticks are written, you see the complete message.

To write new sticks, you just need to connect more sticks and press “Start” again.

Important: USB Protect in USB stick verification mode requires an active internet connection.

Purchase licenses

To purchase licenses you need to click the “Buy” button in the license area. An integrated browser window will open and guide you to the web shop where you can purchase licenses.

Buy protect burn licenses

After the purchase completes, the licenses are automatically transferred to the local computer if you press the “Issue License(s)” button.

Validation via UnlockCodes

If your content was prepared for UnlockCode usage, after checking the “Content” checkbox and selecting the folder with the prepared content, the window will look like the following.

Before you select “Start” to write the actual writing process to the connected USB sticks, you need to make sure the settings for the write process are correct.

Option Description
Content This content will be copied to the USB stick. 
Product (Mandatory)  This is the ProjectID you created previously and used to package the content you want to bind to the USB stick(s). If you have already specified the content, the ProjectID may have been auto selected.
Target Selection

This area lists all connected USB sticks. You can check the sticks you want to use for the copy/license operation. The USB stick(s) must be pre-formatted and writable. 

If you add additional USB sticks during the program is running, you need to click the Refresh button to display the newly added USB stick(s).

License Area/ Obtain codes

This area displays the currently available number of licenses for the USB stick verification mode. 

Important: These licenses are not used for UnlockCode based unlocks.

The actual write process

To write one or more USB stick(s), you need to press “Start”.

After all USB sticks are written, you see the complete message.

To write more sticks, you just need to connect new sticks and press “Start” again.

Getting UnlockCodes

To unlock the content prepared for UnlockCode validation you need UnlockCodes which you can create on the Protect Software website. Just click the “Obtain UnlockCodes” link in USB Protect and login (if this does not happen automatically).

After login you are automatically located in the UnlockCode section of the Protect Software website. It lists the codes you have already created and you can create new codes by clicking the “Create UnlockCodes” button.

Make sure the setting are correct when you create codes.

Option Description
Product(s) Select the products you want to unlock and click “Add” to add them to the created codes. Although you can add multiple products, in the typical ProtectUSB Content use case, you would only add the product which you have used for creating the content in the Content Preparer.
Expiration Date The codes can only be used until the expiration date is reached.
License The license under which the content should be unlocked. This can be a permanent “to-own” license or a temporary rental license. You can define your own licenses in the web interface.
Actions The number of times a code can be redeemed. Typically this is set to one.
Theme The theme to be used for redeeming the code in case a QR code is scanned.
Comment The comment entered here is displayed in the list of codes and should be used for identification.
Number of codes The number of codes to be created.

After you did all settings, click the “Generate” button to generate the codes.

Sample UnlockCodes

You can create UnlockCodes without charge as long as the following criteria are met:

  • Expiration date is not more than 3 days in the future
  • The license is restricted to no more than 30 days

There is no restriction to the number of codes you can create.

Production UnlockCodes

If you create regular codes without time limitation or with an expiration date of more than 3 days in the future, you are asked to place your payment data in the system.

There is no immediate charge for the creation of codes. Instead, you will receive a monthly report and volume discounts are applied automatically. A link to the current pricing is displayed every time you create codes.