Model Number |
UDA/PDL/PDM |
Dog™ series – SoftDog
Product introduction
Low cost encryption solution targeting at uni-processor environment
SoftDog is a hardware product used for software protection on parallel interface and USB interface of computer. It adopts port noise technology with 100 bytes nonvolatile memory and anti-tracing capability are provided; it is an ideal choice for economic and practical solution for software protection.
SoftDog development kit has two types: Parallel interface type and USB type. It allows software developer to protect the software by various methods and prevent the software from being copied and used illegally. SoftDog development kit is comprised of following components:
1. SoftDog SoftDog refers to hardware Dog installed on parallel interface or USB interface. It is a programmable, readable and writeable memory device with a data storage area of 100 bytes. You can access to a SoftDog by means of relevant encryption interface functions and developer tools when it is installed on the computer.
2. Encryption interface Encryption interface provided by SoftDog development kit is a program interface module comprising of various development languages that can be inserted into source codes of program. You can operate on a SoftDog by utilizing encryption interface provided by SoftDog development kit in your program.
3. Developer tool (DogEdt32.EXE) SoftDog developer tool can allow for the operations like editing, reading of serial number and serial initialization by the developer on SoftDog storage area.
Operational principle Product features Newly-added functions Applicable language environment Applicable operating systems Precautions for upgrade by developers Method of application
Operational principle Developer program operates on SoftDog by calling the interface modules provided by SoftDog development kit, SoftDog responds to the operation and returns the relevant data to the developer application programs through interface module. Developer application programs can identify the returned value and take corresponding actions. Return of ineffective responses indicates that no correct Dog is available; in this case, developer may choose to stop the running of application programs. Simple schematic diagram is shown as below:
SoftDog development kit offers two encryption options: use obj, dll and ActiveX objector use shell tool directly, please choose an option according to your requirements.
u Encryption solution 1: Use obj, DLL and ActiveX object obj, dll and ActiveX object offer the interface functions for operation of SoftDog, you can add the calling of these interface functions into source codes of application programs to protect your one or more software and then recompile your application programs. You will set the frequency of calling of the encryption interface in the application software and measures to be taken when no SoftDog is found. In principle, the more frequently you call and set the encryption interfaces, the more it will be helpful to your prevention against potential hackers from breaking your software protection.
u Encryption solution 2: Use shell tool Usage of shell tool is a fast and simple solution for software protection. Unlike interface function that needs to change the source code, it adds a protection layer for your executable application programs automatically. It will automatically check whether the SoftDog exists when the programs start running or are running. The application programs cannot run if the SoftDog does not exist and the user will see a message of error.
Product Features
SoftDog development kit is applicable to DOS, Windows 3X/9X ME/NT/2000/XP and Linux operating systems, it supports all mainstream programming languages and development tools. Main features of SoftDog are as follows:
Data exchange random noise technology It can effectively counter the analysis of logic analyzer and attacks of various debugging tools and disallow the simulation of data by software emulator programs.
- Labyrinth technology
There exists a large number of judgment jumping interferences between entrance and exit of RC-DL functions, which can change the execution order dynamically and improve the anti-tracing capability of RC-RL. .
- Time lock
Timer Hardware Dog contains a timer. This timer defines the maximum time that all operations may take to access the Dog. Normal operations will not exceed the time limit, but operations tracing the data in Hardware Dog usually will. If this happens, the Dog will return error values.
- AS technology
Combination of API function calling and shell encryption can realize extremely high encryption intensity. RC-DL establishes coincidence relations with the calling of API function inside shell encryption tools. Then, calling of the API function can be run correctly only when the shell exists and the shell itself conceals the calling of API functions.
- Anti-sharing
Data sharing device can be antagonized by programming.
- Memory
100 bytes nonvolatile data storage area is provided for storage of key data and configuration parameters of developer and storage area can be read and written in by means of RC-DL developer tool or interface functions.
- Improved hardware drives
Installation and distribution of drives become more convenient and faster; developer only needs to install the drives with InstDrv.exe to ensure the normal operation of hardware.
- Brand-new hardware Dog edit tool
By integrating the original tools including DogEdt32.exe, Reveal.exe and Convert.exe and adding the functions of error code inquiry, DogEdt32. exe makes the process of editing and debugging of hardware Dog more convenient and smooth.
- Encryption of high intensity dynamic library
C language high intensity dynamic library mode is added on the basis of original encryption mode, it uses the authentication security mechanism of dynamic library effectively to ensure the unparallel security and reliability of calling of dynamic library.
- Support ActiveX object
Developers can use ActiveX object for operation of hardware Dog in web pages or VB and VC.
Linux Module Drives for LINUX kernel 2.2 and 2.4 are provided, developers can use LINUX module to protect the application programs run under LINUX operating system.
Newly Added Functions
New functions of SoftDog Development Kit Version 3.0
n UDA type USB SoftDog fully compatible with original parallel interface hardware is added into SoftDog Development Kit Version 3.0. USB SoftDog also offers a user storage area of 100 bytes. New developer tool (DogEdt32.EXE) or interface functions can run both on previous parallel interface hardware and new USB hardware. Old users who have already installed SoftDog Development Kit V2.1 are required to reinstall SoftDog Development Kit V3.0 before using UDA type USB SoftDog to install the drives of UDA type USB SoftDog and update OBJ of the development kit.
n Developer using WIN32 module can use both USB SoftDog and parallel interface SoftDog under Windows 98 or higher version operating system (WindowsME/2K/XP). Drives for USD SoftDog under Windows NT4 Operating system is currently unavailable, that means only parallel interface SoftDog can be used under Windows NT4 operating system.
n Both parallel interface SoftDog and USB SoftDog can be used under Linux operating system with Linux kernel 2.4 or above version.
n No change has been made to modules of WIN16, DOS16 and DOS32, they still only support parallel interface SoftDog.
n The latest version of SoftDog development kit is Version 3.0.It supports parallel interface hardware RC-DL (now renamed as PDL) and USB interface hardware UDA.
Applicable environment & system
Applicable language environment
- Parallel interface type SoftDog:
DOS16: C , C++, FORTRAN, ASM, Pascal, BASIC ( BASCOM, Quick,True, Turbo ) , FOXPRO, Clipper, Foxbase, Dbase, EXE/COM file;DOS32: C, C++ ( High, NDP, Watcom ), FORTRAN ( NDP, PowerStation,Watcom) , EXP file; Win16: C, C++ ( Borland, Visual ), Visual BASIC, FOXPRO, PowerBuilder,DelphiWin32: C, C++ ( Visual, Borland, C++Builder, MFC ), FORTRAN ( LAHEY,PowerStation, Visual ), Java, VisualBasic, VisualFoxpro, PowerBuilder,Delphi,JavaScript, VBScript, VBA, InstallShield, AutoCAD, .NET, etc. Linux: C, C++, Java
- USB type SoftDog:
Win32: C, C++ ( Visual, Borland, C++Builder, MFC), FORTRAN ( LAHEY, PowerStation, Visual ), Java, VisualBasic, VisualFoxpro, PowerBuilder, Delphi , JavaScript, VBScript, VBA, InstallShield, AutoCAD, .NET, etc. Linux: C, C++, Java
Applicable operating systems
1.Parallel interface type SoftDog: DOS , Windows 3.x / 9x / ME / NT / 2000 / XP / Sever 2003 LINUX (Red hat kernel 2.2 / 2.4)
2.USB type SoftDog: Windows 98 / ME / 2000 / XP / Sever 2003 LINUX (Red hat kernel 2.2 / 2.4)
Precautions for upgrade
Precautions for upgrade of developer:
- SoftDog Development Kit V3.0 of software of parallel interface RC-DL (now renamed as PDL) type SoftDog is fully compatible with previous DJ/DK SoftDog, that means DJ/DK type SoftDog can be operated normally by using the drives, modules and tools of SoftDog Development Kit V3.0. Therefore, it is recommended that developer using previous DJ/DK software should update all drives, modules and tools with SoftDog Development Kit V3.0 (CD Version).
- If you are still using previous DI/DJ/DK drives, modules and tools, only read operation on RC-DL is allowed under DOS, Windows 9X/2000 operating systems and write operation will fail. In case you wish to use RC-DL type SoftDog without changing your software already distributed, you can upgrade your drives, however, your programs must be WIN32 programs. If your programs for encryption are DOS16, DOS32 or Win16, you need to upgrade you modules and tools, otherwise, write operation on RC-DL type SoftDog will fail.
Method of application
- Use EXE file encryption tools in the software kit to encrypt EXE files (or COM files).
- Use encryption tools in the software kit to encrypt database files (PRC, FOX, APP and DBF)
- Linkable module files (OBJ file) for C language and other compiling languages are provided in software kit, Two functions are provided in module files:
ü write data
ü read data. Developer can add appropriate call statements into the source codes of software to be encrypted, read and write on SoftDog to confirm whether the corresponding SoftDog exist and determine whether the running of program should continue. After compiling of source code with calling of SoftDog functions, only module files (OBJ) of SoftDog need to be added when linking
|