
                     -------------------------------------------------------
                           "Dog server" Installation and using Guide
                                      (English Version)
                                  (İڱļĺ벿)
                     -------------------------------------------------------

                 Copyrights (c)  1999 , Rainbow Goldensoft Co., Ltd. 

======================
Introduction of Netdog
======================

NetDog consists of "Dog hardware", "Dog server" and "Dog client" three parts.
--------------
"Dog hardware"
--------------
    The hardware is a circuit to be plugged on a parallel port. It contains a singlechip 
microprocessor and 200 bytes of storage. It receives data from the parallel port, 
and communicates with the drivers in the computer at proper time. Dog hardware is inserted 
on the parallel port of the computer in which "Dog server" is loaded. 

------------
"Dog server"
------------
    A set of software. "Dog server" manages "Dog hardware", provides services to "Dog client", 
and also dominates the number of "Dog client". These services include login, logout, read, 
and convert.  "Dog server" may be installed on NetWare file server, NT server or any computer 
that runs Windows 9x/NT or 2000 in the LAN.

------------
"Dog client"
------------
    A set of API or EXE encryption tool. API provides a set of functions for 
operating "Dog hardware", such as: apply to the Dog server for login or logout, data 
conversion, reading data from "Dog hardware", etc. Software developers who want to protect 
their programs can use these functions, to prevent their applications from piracy and keep 
their copyrights. "Dog client" operates "Dog hardware" through "Dog server".

------------------------
"Dog client application"
------------------------
"Dog client application" is an application program that is protected by Netdog by using 
Netdog's API or Utility and runs in any workstation of the LAN.

NetDog is specially designed for running in network environment. Only one NetDog hardware 
is needed in a network for an application, and "Dog client application" running in each 
workstation will be protected by the NetDog. This will dramatically reduce the cost of 
software developers in protecting their programs (as compared with one Dog for each 
workstation), and thus reduce the cost of their software itself. 

"Dog server" should be installed before your protecting work.

Upon delivery of your protected application program to your end users, "Dog server" and 
device drivers should be provided along with your protected program. And It's the 
developer's responsibility to instruct your end user how to install "Dog server" and 
device drivers and network protocols. 

With regard to installation for "Dog Server" and device drivers, please refer "Quick strat.doc"
in the installation path.

With regard to protection skills, please refer "Developer's Manual for GS-NH".

===================
Passed Environments
===================
    Novell NetWare 3.x/4.x/5.x
    Windows NT Server 3.x/4.x/5.x
    Windows 9x

===============================
Functionalities of "Dog Server"
===============================
1) "Dog Server" is a service program, is an application that communicates with the 
   protected application and the Dog hardware, it works like a bridge between them. 
   The protected application accesses the Dog hardware through "Dog Server". 
   "Dog Server" is used by the developers and developers' end users, and is 
   released along with the developer's programs. It must be installed in the end user's 
   network server and normally starts with the operating system. No "Dog Server" 
   duplication is allowed to be run in the same time. 
     
   "Dog Server" has no any relationship with serial number of Netdog.

2) Login to "Dog Server" and logout from "Dog Server"
   When a protected application starts at a workstarion, a login operation should be 
   first done.
   When a protected application is going to terminate, a logout operation should be
   done ahead.
   Before login or after logout, the protected application is not able to get any 
   services from "Dog Server". 

3) User number management
   User number management ensures that the simultaneous users in the same network 
   will not be more than the allowed number of the protected application, as being 
   required by the develper. 

4) Diagnostic information
   Besides the management of client license, and provision of service for Netdog 
   access, "Dog Server" also provide a service to the Monitor program, which is in 
   the UTILITY\MONITOR directory after Netdog's SDK installation. This service 
   involves the provision of the following information:
a. The operating system, version, and computer name;
b. The version of "Dog Server";
c. The supported network protocols by this "Dog Server";
d. The allowed maximum users and the number of users currently logined. 

5)  Collision detection
    When "Dog Server" is starting, it first look for other "Dog Server" runing at the 
    network, and the "Dog Server" managing same serial number with its. If the "Dog 
    Server" has been found, this "Dog Server" will refuse to answer any request of 
    this "Dog Client", but the "Dog Server" continues to run. This is because the 
    "Dog Server" may be used to manage other serial number's Netdogs.   

========================================
Installation of "Dog Server" for NetWare
========================================
1) Get NDOGINST.DAT file:
   After successful installation of SDK, you must execute DOGEDIT.EXE, which is located 
at UTILITY folder, to get NDOGINST.DOG file. Please set access "Password" in hardware 
key and maximum user number of your protected application(s) by using DOGEDIT.EXE, 
and you will get NDOGINST.DAT file at UTILITY folder, please COPY the file to the folder 
SERVER, otherwise "Dog Server" can not be installed.

2) Copy ALL files in SERVER folder to a floppy disk.

3) Insert the hardware key into a parallel port of the NetWare Server.

4) Installing "Dog Server" for NetWare
   Execute command NDOGINST.NLM in the floppy disk at server console. The syntax is:
      LOAD A:NDOGINST  A:\    Note last "\"

5) Start "Dog Server", please execute NDSRVNW.NLM, the syntax is:
      LOAD NDSRVNW 
   In order to load automatically "Dog Server" when NetWare Server starting, please 
modify AUTOEXEC.NCF (execute LOAD INSTALL at server console, select modify AUTOEXEC.NCF, 
and add following line: 
      LOAD NDSRVNW
Save your modification on AUTOEXEC.NCF).

6) Deleting the "Dog Server" of certain serial number, the syntax is:
      LOAD NDOGINST -u:<serial number>

7) Caution: 1) There is no need for device driver in NetWrae system;
            2) Please don't load IPXRTR.

=============================================================
Using method of installation program SRVSETUP.EXE for WINDOWS 
=============================================================
    SRVSETUP.EXE is an installing program designed for WINDOWS system, which may 
automatically discern the type of operating system and install corresponding 
"Dog Server" and device driver. Please follow the steps to install "Dog Server" 
and device driver:

1) Get NDOGINST.DAT file:
   After successful installation of SDK, you must execute DOGEDIT.EXE, which is located 
at UTILITY folder, to get NDOGINST.DOG file. Please set access "Password" in hardware 
key and maximum user number of your protected application(s) by using DOGEDIT.EXE, 
and you will get NDOGINST.DAT file at UTILITY folder, please COPY the file to the folder 
SERVER, otherwise "Dog Server" can not be installed.

2) Copy ALL files in SERVER folder to a floppy disk.

3) Insert the hardware key into a parallel port of the computer.

4) Installing "Dog Server" and device driver for Windows
    The syntax:

  a. [drive:]SRVSETUP install [source path of "Dog Server"]
     Install "Dog Server" and device driver on the computer. In the case of illustration,
     you may enter:
     A:SRVSETUP install A:\
    
     If installation process runs into failure, please delete the files in the 
     Windows folder which have .DOG extension, and reinstall again.

  b. [drive:]SRVSETUP remove [serial number]
     Delete "Dog Server" from the system, if "Dog Server" manages dogs' number not 
     less than one, and you may delete a certain serial number's dog, "serial number" 
     parameter is that you want to delete.
     If you miss the "serial number" parameter, that means you want to delete ALL Netdog's 
     services.

  c. [drive:]SRVSETUP info
     Get status of "Dog Server".

Notes:
a. There should be NHSETUP.DLL in the same directory or searchable path.
b. The installing operator must have the rights to read/write to the system 
   directory (it may has a administrator's rights), and the installing program should 
   be run at the server's local console.

===========================
Using guide for NHSETUP.DLL
===========================
    SRVSETUP.DLL is a DLL program for Windows95/98/NT/2000, which may be used by 
developers to write an installation program for "Dog Server" and device drivers. 
    SRVSETUP.EXE do use this DLL to fulfill the installation process.

    NHSETUP.DLL provides the following functions:

    unsigned long PASCAL GetDLLVersion ( void );
    unsigned long PASCAL GetInstallInfo ( void );
    unsigned long PASCAL Install ( char * SourcePath );
    unsigned long PASCAL Remove ( unsigned long * SerialNo );

    Descriptions for the functions
    ------------------------------

    --------------------------------------------
    unsigned long PASCAL GetDLLVersion ( void );
    --------------------------------------------
    Function: Get verion number of the program
    Input parameter: None
    Output parameter: None
    Return value: Version number. 

    ---------------------------------------------
    unsigned long PASCAL GetInstallInfo ( void );
    ---------------------------------------------
    Function: Get the status of "Dog server"
    Input parameter: None
    Output parameter: None
    Return value: The "Dog server" installation status. 0 reflects that "Dog server" is 
                  in good status. For other status, please see following error codes. 

    ---------------------------------------------------
    unsigned long PASCAL Install ( char * SourcePath );
    ---------------------------------------------------
    Function: Installing "Dog Server" 
    Input parameter: original path of "Dog Server" program. If it's the current path, 
                     could be "."
    Output parameter: None
    Return value: The installation status of "Dog Server". 0 reflects that "Dog server"
                  is installed well. For other status, please see following error codes. 

    ---------------------------------------------------------
    unsigned long PASCAL Remove ( unsigned long * SerialNo );
    ---------------------------------------------------------
    Function: Deleting "Dog Server"
    Input Parameter: The serial number of the NetDog to be deleted. If the parameter 
                     is 0, it means that all dogs' services managed by the "Dog Server" 
                     will be deleted, as well as the service program, you should input 0. 
    Output parameter: None
    Return value: 0 means that the action is completed, others are following error codes. 

    ----------------
    Error codes list
    ----------------
        20001   --  "Dog server" is not installed or is not running 
        20002   --  No Netdog driver is installed
        20003   --  Error with manipulation on the service controller/registry table. 
                    This might be caused by lack of enough authorization. 
        20004   --  No file is defined for installation
        20005   --  No file is found for installation
        20006   --  Unable to install files to the specified folder. 
        20007   --  NDogInst.DAT file not found
        20008   --  Illegal NDogInst.DAT file
        20009   --  No NDOGSRV.DOG file generated
        20010   --  Illegal NDOGSRV.DOG file
        20011   --  NDogInst.DAT file not found
        20012   --  Service can not be started
        20013   --  Installation failure
        20014   --  Failure on deleting relative files 
        20015   --  Illegal serial number
        20016   --  Service can not be stopped
        20017   --  "Dog Server" can not be deleted
        20018   --  Device driver error
        20019   --  "Dog Server" error
        20101   --  Device driver stopped
        20102   --  Device driver is being started
        20103   --  Device driver is being stopped
        20104   --  Device driver busy
        20105   --  Device driver is being paused
        20106   --  Device driver has been paused
        20201   --  "Dog Server" stopped
        20202   --  "Dog Server" is being started
        20203   --  "Dog Server" is being stopped
        20204   --  "Dog Server" busy
        20205   --  "Dog Server" is being paused
        20206   --  "Dog Server" has been paused
        Others   --  Please see WinError.H
Caution: 
a. You can call GetLastError() to get a more detailed description after getting 
   error.  

b. If a serial number is defined when calling function Remove(), the service for 
   that Netdog will be terminated by "Dog Server", and the serial number will be 
   deleted from the file Ndogsrv.dog in the system directory of Windows. But ONE
   important thing should be mentioned is all other dog's service will be reset, 
   and all "Dog Clients" related with these dogs should login again to regain 
   service.
   If last Netdog's service is going to be stopped, "Dog Server" will stop all 
   service for Netdog.

=================
Technical Support
=================
    For technical issues, please contact Rainbow GoldenSoft Co., Ltd. or its distributors 
immediately. 
    For contact information, please see Address.txt under installation path.


=========================================================================
  "Dog" is trademarks of Beijing Goldensoft Co., Ltd., which is authorized to 
Rainbow Goldensoft Co., Ltd. in software protection products.



FOLLOWING IS CHINESE VERSION OF THIS FILE.


                  =======================================================
                                繷
                                     װʹ˵
                                        (İ)
                  =======================================================

==========
繷
==========

    繷""Ӳ""""ͻֹɣ

    ""Ӳ    һɰװڼпϵӲ·һƬƬ
                 200ֽڵĴ洢õƬղڵõݣʵ
                ʱеͨš
                ""ӲװҪ""ļпϡ

    ""  һ
                """"ӲΪ""ͻṩͬʱ""
                ͻ˵ݰ¼˳ͱ任""
                װNetWareļNT߾һ̨
                Windows 95/Windows 98/Windows 2000ϡ

    ""ͻ  һ׽ӿ EXEܹߡ
                ӿṩһ麯麯ṩ˶""ӲĽӿڣ
                а""¼¼ݱ任ܣ""
                ӲܡԼƵмܵıԱۺʹ⼸
                ͿʹǷʹãȨõ""
                ͨ""""Ӳ

    ⣬ǳƵ""ͻ˶˵Ϊ  ""ͻ

    繷רΪеƵġһֻҪװһ繷
    ӲҪÿվ϶װ""ͻһ
    վжõ""Ч⽫ؼ
    ϵķãΪÿվһֻ""Ӷĳɱ

    ڽмܹʱҪװӦ""豸

    ڷʱӦûṩ""豸򣬲
    û绷ָûװӦ""豸
    Э顣(NetwareҪװ豸ֻ""
    İװɡ)
  
    ڡ豸İװμװĿ¼µġGS-NHš
    ڼܼɣġGS-NH繷ָϡ


================
ͨĲԻ
================
    Novell NetWare 3.x/4.x/5.x
    Windows NT SERVER 3.x, 4.x, 5.x
    Windows 9x

======================
繷ܽ
======================
1)  һӦó뱻͹ӲͨѶӶߵһͨ
    ͨʹӲɿ̺ûʹã
    뿪һͬУװûСһӦϵ
    ͳһͬҲ
    빷ϵк޹ء

2)  ¼ע
    ӦóڹվʱӦִе¼Ӧóֹǰ
    Ӧִע
    ¼ǰע󱻱Ӧóòκη

3)  û
    û֤ͬʱбĹվĿ涨
    û

4)  Ϣ
    ˹ͻɼṩʹķ⣬רŶ繷ϳ
    NDTOOL.EXE(繷SDKװԺNDTOOL.EXEλUTILITY\MONITORĿ¼)
    ṩϷ񣬼NDTOOLṩϢ
    лoperating system , version, and computer name
    version
    ֵ֧Э飻
    ĸĹ޶ûʹõû

5)  ͻ
    ȻϲѯǷķҲڹ뱾ͬϵк
    ĹУֹͣԸùĿͻӦ𣬵УΪ
    пܻҪϵкŵĹ

=================================
NetWareİװԼɾ
=================================
1) õNDOGINST.DATļ
   繷SDKװɹUTILITYĿ¼µDOGEDIT.EXEߣùû
   ɹUTILITYĿ¼µõNDOGINST.DATļļSERVERĿ¼Ȼ
   Ӱķİװ

2) SERVERĿ¼µļϡ

3) ӲNetWareĲϡ

4) װNetwareڷĿִ̨
   LOAD NDOGINST <SOURCE PATH>
   ļ̵ĸĿ¼ԣ
   LOAD A:NDOGINST A:\
   ע⡰Ŀ¼ӦNDOGINST.DAT ļ

5) ءڷĿִ̨
   LOAD NDSRVNW
   Ϊ˽ڷʱܹԶء޸AUTOEXEC.NCF
   (ڿ̨LOAD INSTALLѡ޸AUTOEXEC.NCF)һ䣺
   LOAD NDSRVNW

6) ɾĳһϵкŵĹ
   LOAD NDOGINST -u:<serial number>

7) ע
  a. NetWareҪװ
  b. ҪIPXRTR 	
      

===========================================
WINDOWSϵͳµİװSRVSETUP.EXEʹ÷
===========================================
    SRVSETUP.EXE Windows ϵͳƽ̨繷ͷ
װӦó밴²WINDOWSϵͳİװ
1) õNDOGINST.DATļ
   繷SDKװɹUTILITYĿ¼µDOGEDIT.EXEߣùû
   ɹUTILITYĿ¼µõNDOGINST.DATļļSERVERĿ¼Ȼ
   Ӱķİװ

2) SERVERĿ¼µļϡ

3) ӲWINDOWS ϵͳļĲϡ

4) װSRVSETUP.EXEԶжϲϵͳͣʹøʽΪ

    [driver:]SRVSETUP install [source path at which drivers exist]
       װӦ򣬺Ĳ·ʹõǰĿ¼ʱΪ
           SRVSETUP install .
       עʱ NDOGINST.DAT Ӧ÷ͬһĿ¼װܳɹ
        Windows Ŀ¼µ .DOG ļɾ°װ

    [driver:]SRVSETUP remove [serial number of the dog you want to remove]
       ɾһԸضĹϵ
       ţɾضĹ
       ûиòʾɾй

    [driver:]SRVSETUP info
       õ״̬

ע⣺1) ʱNHSetup.dllڵǰĿ¼ڿ·С
      2) װĲԱжϵͳļвȨ(ϵͳԱ
         AdministratorȨ)ˣڷؽС

======================================================   
İװ̬ӿNHSETUP.DLLʹ˵
======================================================
   NHSETUP.DLL Windows ϵͳƽ̨繷ͷ
װĶ̬ӿ
   Windows ϵͳƽ̨£繷ķİװðװSRVSETUP.EXEɣ
ҲͨVC/VBȱԵNHSETUP.DLL繷Լİװ

1) NHSETUP.DLL API

    NHSETUP.DLL  Windows95/98/NT/2000 ƽ̨ϡԽеǰƽ̨
¹򡢹İװɾ

    NHSETUP.DLL ṩº

    unsigned long PASCAL GetDLLVersion ( void );
    unsigned long PASCAL GetInstallInfo ( void );
    unsigned long PASCAL Install ( char * SourcePath );
    unsigned long PASCAL Remove ( unsigned long * SerialNo );

    ˵
    unsigned long PASCAL GetDLLVersion ( void );
        ܣõ汾
        
        
        ֵDLLİ汾š

    unsigned long PASCAL GetInstallInfo ( void );
        ܣõ繷״̬
        
        
        ֵװ״̬0 ʾã״̬μ롣

    unsigned long PASCAL Install ( char * SourcePath );
        ܣװ繷
        繷ԭʼ·ǵǰ·Ϊ"."
        
        ֵ0ʾװȷǴ

    unsigned long PASCAL Remove ( unsigned long * SerialNo );
        ܣɾ繷
        ɾ繷ϵкţɾ÷еĹͬ
                   0
        
        ֵ0 ʾɾɣǴ

    
        20001   --  ûаװû
        20002   --  ûаװ
        20003   --  עΪûȨ
        20004   --  ûָҪаװļ
        20005   --  δҵҪаװļ
        20006   --  δܰװļָĿ¼
        20007   --  δҵ NDogInst.DAT ļ
        20008   --  Ϸ NDogInst.DAT ļ
        20009   --  δ NDOGSRV.DOG ļ
        20010   --  Ϸ NDOGSRV.DOG ļ
        20011   --  ûҵ NDogInst.DAT ļ
        20012   --  δ
        20013   --  װʧ
        20014   --  δɾӦļ
        20015   --  Ϸϵк
        20016   --  δֹͣ
        20017   --  δɾ
        20018   --  
        20019   --  
        20101   --  ֹͣ
        20102   --  
        20103   --  ֹͣ
        20104   --  æ
        20105   --  ͣ
        20106   --  ͣ
        20201   --  ֹͣ
        20202   --  
        20203   --  ֹͣ
        20204   --  æ
        20205   --  ͣ
        20206   --  ͣ
            --  μ WinError.H
   ע⣺
      1) ڵõǰĴͨ GetLastError() ԵõϸĽ͡

      2) ڵRemove()ʱûָֹͣĸϵкŵĹйķ
         ֹͣעָһϵкţôֻϵкŵĹķ
         ֹֻϵкŽNdogsrv.dogļɾҪעڴ˹У
         ϵкŵĹķ񶼽λЩĹͻLOGINſԻ
         һֻķҲֹֹ߽ͣͣйķ


==========
֧
==========

    ⣬ʺع˾ֹ˾ϵ

    ϵַ뿴 /Address.txt


=====================================================================
	""Ǳչ޹˾ע̱꣬Ȩʺ
Ϣ޹˾ʹá
