For a dongle to work with a protected application according to the established protection scheme, it has to be previously programmed.GrdUtil.exe utility serves for programming Guardant dongles.

GrdUtil.exe utility provides a wide range of features for editing the dongle’s memory and preparing data for protection:

  • Working with the dongle’s mask (an external memory image) the utility is able to:
    • Create/edit/delete dongle memory fields
    • Work with hardware algorithms
    • Work with protected items
    • Work with LMS table
    • Work with dumps, numbers, strings and counters
    • Set hardware locks for reading/writing into memory fields
    • Save mask in an internal database or in a separate file
    • Retrieve information on connected dongles
  • Programming dongle (including command line mode):
    • Write data into the dongle
    • Batch mode of writing
    • Local and remote dongle memory updating
  • Working with the internal database:
    • Mask database maintenance
    • End-users database maintenance
    • Save dumps (on all facts of writing masks into the dongle)
    • Search for dumps based on defined criteria and prepare the list of search results
    • Remote and local update of dongle memory of any dump
  • Preparation of data for applications protection:
    • Generate arrays of questions and answers of hardware algorithms
    • Encrypt/decrypt data using algorithms
    • Verify the results of Guardant API functions execution with defined parameters

GrdUtil.exe utility supports all types of Guardant dongles.


The following terms are used while working with GrdUtil.exe utility:

Dongle memory fields. The dongle memory in GrdUtil.exe utility is logically divided into separate fields for the ease of use. Each field is represented by a memory area containing data of specific type. In order to write data into a dongle using the utility, you need to place them into a previously created field prior to that. The structure of dongle’s fields forms its mask.

Dongle mask. It is the external image of Guardant dongle’s memory contents; the set of memory fields, their structures and values presented in a form convenient for comprehension.

All the work with dongle’s data in GrdUtil.exe is done on the mask level: information stored in the dongle memory is read into a mask, the mask gets edited and saved, and altered data is recorded from the mask into the dongle memory.

There are several subcategories of masks different by location and type of storage. Dongle mask can be stored in the internal GrdUtil.exe database as a template or dump or in a separate file.

Write to a dongle, program a dongle – record data of mask template, dump or .nsd file into a dongle's memory.

Mask template – a mask with preset structure and initial set of data and also a unique name and/or version saved in GrdUtil.exe database. This can be a mask for programming a specific model of Guardant dongles or, for example, for dongles designed for a specific version of protected program, etc. The mask template is used as a base for programming. For the each record of the template into a dongle there is a record in the database in the form of a dump.

Dump – fact of recoding a mask into dongle memory as well as set of data of recorded mask automatically saved in GrdUtil.exe database in the course of writing session. Dumps are only saved in the database mode. Each dump may contain a unique set of data. Writing to dongle memory is used for programming and updating the memory of dongles, both locally and remotely. 

Mask file – file of *.nsd format, which can be used for saving the dongle mask. Operations with a mask saved in a file have some serious limitations comparing with masks stored in GrdUtil.exe database. Here, for example, the facts of dongle memory updates with a mask file are not saved and, therefore it is hard to keep track of data individual for each dongle (random passwords for services of protected items). You cannot update the memory areas of dongles selectively without affecting the rest of the memory. 

GrdUtil.exe database mode – mode of running the utility during which the mask templates, dongle dumps and the list of end-users are stored inside the internal database of Microsoft Access 2000 (*.mdb) format and are loaded from it. The information from the database can be at any time used for programming and updating the dongle memory, including remote updates. 

Developer – creator of a commercial application; programmer using Guardant dongles for protecting and licensing the product.

End-user – developer’s client, buyer of software product protected by Guardant dongles.


  • No labels