


            £ɣԣ̣ϣ˼ֲ



ϵͳ

    BITLOK ԷֹδȨĸơ㷨Ŀ뷴
࣬ BITLOK ܺ԰װӲ̺ Novell
ϡBITLOK ĿȶɿŹû
BITLOKܵڳ̨ PCҹȶУBITLOK
֧DOS, Windows 3.x, Windows 95 Ȳƽ̨Ϊҿ
רð棬㳧ҵ

    Ҫܺ£

     ûԶ
       ûһδ룬뵽 BITLOK ںȥԶ
       ûĿ԰ѼӦ
       лؽһͬʱõ黹ͨ BBS վ
       һЩµĲģ飬û

     µԿ
       ʹµԿɻ顢Կǳɿͬʱ
       ѡõעķʽרð棩ûԶһ
       ܶΣͬʱܹȷװӲ̻ϡ

     Ƚǿķټ
       ʹȽĳԶɵķȫٴɻԶ
       ɣɿԸߣƽѶȴ󡣶ÿһζĳȫ
       ԶңѶ̬̬١Ŀǰϸϵʮ
       ͨѿǹߵĹͬ㣬ƶһרŵķʩͬʱ
       ĳЩõĹ⴦˸ֵص
        SoftICE  WinICE ȡ

     ɿԸߡԺáʹ㷺
        BITLOK ܹҹڳ̨ϣ
       㷺ϸĲԣܹڸֳƸֻ
       ȷУݸеĲϵͳ

     ݿӦó
       ɼ Clipper, FoxPro ȱĸӦЧֹ
       UNFOX ȹ߽롣

     ȫ棬ʹ÷
       趨ʹõʱƣûʾṩ
       OBJ Ƕʽģ顣ûԴģ
       飬໥ЧѶȡṩ߱󷵻
       ͨӲ̺簲װ򣬱ûԼϵͳ׵
       װ򡣼ĸ̿ʹΣܹ֧Ӳ
       װ簲װװ趨

     ṩƽ̨ϵļ
       磺DOS,Windows 3.x,Windows 95, м EXP ļİ汾

     רð
       רðĹܡֻҪһż
       ڶȥʱ輸ӡṩרŵľ
       ٴαεļ OBJ 汾ʹͨѿǳ޿
       ѡͬһͬԿ̣

     BITLOK3 ں BITSHELL3
       ǿ󣬿ѡֻһǡ


ļ嵥


  ׼

    INSTALL.EXE       BITLOK װ
    BL.EXE            BITLOK ִ
    BLINST.EXE        Ӳ̺Կװ
    BLREG.EXE	      ע
    MANUAL.EXE        ϸʹ˵
    MANUAL.TXT        ıļ
    BLOBJ.OBJ         ûǶģ
    BLOBJ.ASM         ûǶģԴ
    TESTOBJ.PAS       ǶģĲԳ
    TESTOBJ.EXE       õĲԳ
    BLPLUG.COM        ģʾ
    BLPLUG.ASM        ģʾԴ
    README.EXE        BITLOK µĸĽ˵
    README            ıļ


װָ

    ִ INSTALL ѡװɡװʧܣ뾭
ϵ𻵡




1. ļ

    Ҫ TEST.EXE ܵ A УԼ
    BL TEST.EXE A:

    Ҫ TEST.EXE ܵ B УԼ
    BL TEST.EXE B:

    ܺĳ򻹷Ӳϣʹ B еĴΪ
Կ̣Լ
    BL TEST.EXE T.EXE /B
    ҪܵļȽϴ󣬾ͱʹַȰ
ܵӲϣѹ󿽱С

2. װܺĳ

   װȽϼ򵥣ֱӰѼܺļƵָӲ̻
ϣٰԿִ̲ BLINST ɡBLINST Կ


   ѼܺĳװӲϵĲ£

   COPY B:TEST.EXE C:
   BLINST C:TEST.EXE

   ҪװϣֻҪļƵϣ
ʹ BLINST װ
   ˰װ̱û򿽱ӲУװ򲻻Զ
ܵĳӲС

3. кŰװ ӵĹܣ

    BITLOK 3 ԿǳȶĳЩԲõĻȻ
ܺ޷װʱ򣬿ʹкŰװĹܡ
    ȣʹ BLINST ȶûš£
    BLINST TEST.EXE /G
     TEST.EXE  BITLOK ܹĳʱĻϻʾû
ţа˸ĸ˵ʾûΪ1234abcdȻʹ BLREG 
߼ע롣
    BLREG 1234abcd
     BLREG עΪ 5678ef90 BLINST  TEST.EXE
װȥ£
    BLINST TEST.EXE /S5678ef90
     /S עͿԲԿװӲУ
עֻ̨ʹá

    ϣܺʹעעᣬ BITLOK ֮ǰ

    SET KEY=-REG
  
ע Ҫ BLREG ڼܺĲƷУҲҪ BITLOK ˡ      


ָ

1. BITLOK ʹü

    ϵͳʹ 5.25"(1.2MB)  3.5"(1.44MB) ĴΪԿ̣
簲װ֧ Novell Netware

  ֱӼ BL ʾϢ

  BITLOK(tm) Version 3.0 Copyright (c) 1989-1996 by Yellow Rose Software
  Workgroup The software serial number is xxxxx

  Usage: BL Source Target [/A|/B] [/N] [/S] [/Dxxx] [/Ixxx] [/Pplug]

    /B       Floppy drive B on which the key exists
    /E       Encrypt BITLOK version message
    /S       Encrypt and *NOT* read disk key
    /Dxxx    Date limit (1..999, default is 30 days)
    /Ixxx    Installation limit (1..999, default is 10 times)
    /Pplug   Plug new user code in kernel

  Sample: bl t.exe a:t.exe /a

  *** BITLOK was created by Lei Jun and Wang Quanguo in 8/17/1989 ***

  ˵

    Source   ָܵĳ

    Target   ָܺĳ
             ѳܵ B ̣Target ֱд B:

    /A|/B    ָԿڵţĬϵΪ A 

    /E       ڼܺĳ BITLOK İȨϢ

    /N       µָ
             ʹͬһԿ̼ܶļܼ
             дȶԿ

    /S       ܵԿ
             ûҪֹǷ޸ģͱʹ
             ûʹļҲԼ
             һ㱣

    /Dxxx    ʱƣ1..999, Ĭ30죩
             ʾ汾

    /Ixxx    ðװ1..999, Ĭ10Σ

    /Pplug   ûģ鵽 BITLOK ںȥ
             "߼"е˵

  ֱӼ BLINST ʾϢ

  BITLOK Installation  Version 3.0
  Copyright (c) 1989-1996 by Yellow Rose Software Workgroup.
  The software serial number is xxxxx

  Usage: BLINST Source1 [Source2]... [/Q] [/T] [/N] [/G|/Sxxx]

    /Q      Installation without prompt (quiet mode)
    /T      Only display installation times left

  *** Created by Lei Jun and Wang Quanguo in 8/17/1989 ***

  ˵

    Source1 װһΰװ
    /Q      ʾκʾϢûԼİװ
    /T      аװƣʾʣµİװ

2. ܹ

    ٶǿһӦó MAIN.EXEһ׼ܺ
ټٶԿ̲ B Уԭļ C ̡

    £

    \BITLOK3\BL MAIN.EXE B:            <-- 
    COPY \BITLOK3\BLINST.EXE B:        <-- ɰװ
    COPY INSTALL.BAT B:

    --- INSTALL.BAT  ---
    MD C:\TMP
    COPY MAIN.EXE C:\TMP
    BLINST C:\TMP\MAIN.EXE /Q
    IF ERRORLEVEL 1 GOTO ERR
    ECHO. Ok!
    GOTO END
    :ERR
    ECHO. Err!
    :END



߼

һûװıд

    ܹԼİװе BITLOK ͨðװ
ԿװӲ̻ϡ

    Ƚ /Q ӵ BLINST βBLINST κʾ
ڰװĽͨ󷵻ȷΪ0ʾȷ
أװʧܡʧܵԭ㣺
    û BITLOK3 
    Կʧ
    װѾþ


OBJ Ƕ뼼

    Ժ ڹؼطº
ӳɹBITLOK ûܡע
ܿ޷ȷʹá

    ûԲο̼:

    (1) Լ (SAMPLE.C) ãͨ

          ---- SAMPLE.C ----------------------------
          #include <stdio.h>
          main()
          {
            printf("This is my sample program! \n");
          }

    (2)  SAMPLE.C Ҫĵطüܺ

          ----- Ķ SAMPLE.C -------------------
          #include <stdio.h>
          main()
          {
            /* Insert BITLOK function call */
            if (BL_ComeIn() == -1)
            {
               printf("Error! \n");
               return(255);
            }
            printf("This is my sample program! \n");
          }

    (3)  SAMPLE.CΪ SAMPLE.OBJٽ SAMPLE.OBJ BLOBJ.OBJ
        ӳ SAMPLE.EXE
        QCL /AL SAMPLE.C BLOBJ.OBJ

    (4) һBִ:
        BL SAMPLE.EXE B:

    ܹ!

    ִмܺ:

     (1) Ӳ(C:);
     (2) Կ̲ B װԿ:
         BLINST SAMPLE.EXE

    ܺͿִ!


ģĿ

    BITLOK ʹ OBJ Ƕļϵͳİȫԣ
BITLOK ͨģÿ˶򵽣Ȼܻ
֪ OBJ ݣ 3.0 УûԼ
ĳ嵽 BITLOK ȥԼ OBJԼĳм
Ƿİȫ൱ߡ֣
 BITLOK еĹϣߵļϵͳЧر
Լ֪ʶȨ

    ͬʱBITLOK3 ܽж̬
һµĽ̵ʱд BITLOK3 Ĳ
ڱ BBS վϷµĲԶ

    Ҫѭ¹
     COM ļʽд򣬵޸ SS, SP ȼĴ
˳ʱҪӹжϣҲҪ޸ķǲĲ֡Ȼдʱ
ҪдһЩڸٻϵĴ롣߿ɿԣ
к

  ------------- Դ -----------------------------------------
                .model  tiny
                .code
                org     100h            ; COM ṹ
  Main:         mov     ah, 9
                mov     dx, offset Hello
                int     21h
                int     20h             ;  INT 20H ֹ
  Hello   db    'BITLOK3 Plug Sample',0dh,0ah,'$'
                ends
                end     Main

  ------------- 뷽 ----------------------------------------
  TASM SAMPLE
  TLINK /T SAMPLE
  һӦеԡ

  -------------  --------------------------------------------
  BL A.EXE B.EXE /Psample.com

  ע⣺ д󣬻ӰУ


ġ

    BITLOK 3 ֧ǰ KEY á BITLOK ֮ǰ
ִ SET KEY = ... 

    KEY Ѿ޸ġ

    SET KEY = [B:|/B]                               = /B
              [INSTxxx]                             = /Ixxx
              [NEW]                                 = /N
              [CHECKOVL] [LOCKOVL]
              [-HD] [-NET] [-REG]
              [-STAY] [-FOX] [-DOSFUNC]
              [PASS]

    ----- ˵ ----------------------------------------------

    B:|/B         ȼִ BL ʱ /B Ĳ
    INSTxxx       ȼִ BL ʱ /Ixxx Ĳ
    NEW           ȼִ BL ʱ /N Ĳ
    CHECKOVL      鸲ģУ
    LOCKOVL       θģ (ڱθǿܵºܶ
                  ֣ûʹܺϸԡ
                  ⣬ʹ CHECKOVL )
    -HD           װӲϣͬʱҲװ
    -NET          װ
    +REG          ע
    -STAY         BITLOK ִϺפ루 -DOSFUNC
		  ִܴϺûBITLOK 
		  бһӴ룬ֹ߽ػ
    FOX           FOXPRO ĳ -STAY
    -DOSFUNC      ӹ DOS ж
    PASS          ܺĳЩϲãԼ
                  ԡ

    Щʹã @ ǰ磺
      BL TEST.EXE T.EXE /S @LOCKOVL,PASS

    ----- ʹ ----------------------------------------------

    (1) ִֻ
          SET KEY=-HD,-NET

    (2) ⣬ѡЩ
          SET KEY=-DOSFUNC
          SET KEY=-STAY
          SET KEY=-PASS
        ʹ ECODE ȡ룬鿴һ BITLOK ڲش

    (3) Ҫ OVL ģ
          SET KEY=LOCKOVL

    -----------------------------------------------------------
    ע  ܽӹ INT 21H פһҪ SET KEY = -STAY
    -----------------------------------------------------------

ʹ֪

ԿӦѡ̡Կû޷ƣ һ
û㡣ͬʱԿ׷̵ŵϣ
ãܵ¸޷ʹáܺõ
һ̨һ£⣬ĳЩʶԿ
ʱ뽫ԿȡȻٷŽУغţ
Ϳ

   BITLOK ϵͳ BITLOK ܹװפ
͵ĵԸȲ򽫾ܾУΪи
ܵɡ

ʹ BITLOK Ŀߣֻṩ BLINST û
֮ⲻҪ BITLOK ϵͳϵκļϢκηʽṩ
ûܽ BLINST κԼİװڴ
չԼضλ

벻Ҫʹ PKLITELZEXE  EXEPACK ͨõѹѹƷ
һš

    ߼ԳߣпܽóԵ
޸ģıڵ㣬ⱻ١ ڳڲʶBITLOK Ƕ
ʽģòáڿߵİװвüʱùر
ж INT 9  INT 16 Լش INT 24



רð˵

ư

    ͨõļһƷҪʮӣڶ
еĹ򻹱һΡһҪļڶ
λҪļȽϸӣʱȽϵ͡
ڱܺ⣬ɡռ
߱ʱ䣬߲ͣظƴ̺ͼܣʵ
һ˷ѡ
    BITLOKµļǳȺܣ԰߽ų
ֻҪһż̺ڶȥʱ
輸ӡǳɡ
    BITLOKĶưһϵͳDUPKEYĹ̡BITLOK
ĿֻֿҪ BITLOK ܺһƷ̣
߼ɡ߿ÿֱӸƣDUPKEY һ飬
ȫϡ


BITLOK OBJ 汾

    רðṩһ BITLOK  OBJ 汾ûֱӰѸ
OBJ Ӧó򣬾˼ܹҲͬһ
һµͨѿǳܽܡ

     OBJ Ŀǰ֧ BC/BP/TASM 16λʵģʽͱģʽĳ


¼ ECODE ʹ˵

   ִһʾķʹϢ

   ÷: ECODE  в

   ECODE "в"ִ""ʾ˳룬ͬʱ
ECODE.INI ĴϢʾӦĴϢ

   ECODE.INI ʽıʽϢĸʽţECODE
ȷʾ ECODE.INI еϢһ ECODE.INI ļ
˵

; ECODE error message  <-- 
  1.Command invalid    <-- ǰǴ룬"."ټӴϢ

  û޸ ECODE.INI ʾԼĴʹϢ


¼ ϵͳṩĿӺ

    BL_ComeIn ( BLOBJ.OBJ )

   C ˵:

   extern unsigned long BL_ComeIn ( void );

   ˵:
       жǷйٳͬʱس
    PSP εַͻ ROM ͣûһ顣
   һصĺʹûں
   Ϊһ塣PSPεַROM͵жϲҪ̫


   ڲ:  ޡ

   ڲ:   0FFFFFFFFH 
              (DX:AX = 0FFFFFFFFH)
              ɹ򷵻һ޷ŵĳ֡
              :
                  ֽROMͣPSPεַ
                  (AL=ROMͣDX=PSPεַ)

    ע: ROMͼ㷽:
        ۼROM(0xF000:0xE000)ʼֽڣΪ0x100
        ȡPSPεַ:
            MOV AH62H
            INT 21H
        BXǸóPSPεַ

    ý飺
        ҪÿжȥúʵƵʡڹؼĵط
    

    ----- C Usage Example --------------------------------
    extern unsigned long  far BL_ComeIn ( void );
    void My_BL_ComeIn ()
    {
      unsigned long ComeIn;
      unsigned short int ROM_CheckSum;
      unsigned int PSPsegment;
      ComeIn = BL_ComeIn();
      if (ComeIn == 0xffffffff)
      {
         printf("\nERROR: not loaded from BITLOK shell !\n ");
      }
      else
      {
         ROM_CheckSum = ComeIn & 0xff;
         PSPsegment   = ComeIn >> 16;
         printf("\nBITLOK On Entry: \n");
         printf("  ROM checksum is %xh\n" ROM_CheckSum);
         printf("  PSP segment is %xh\n" PSPsegment);
         inregs.h.ah = 0x62;
         intdos(&inregs &outregs);
         printf("\nThis program PSP segment is %xh\n"outregs.x.bx);
      }
    }



¼  ʹʴ

ʣǼһЩ򣬻"Packed file is corrupt"
    ν
𣺼ܺĳԭǶ෽ġ "Packed ..." 
    ʾ LOADFIX ܺĳ
    Ҫԭ EXEPACK  AIN ѹ
    ЩѹдMicrosoft  DOS ṩ LOADFIX 
    Ҫ⡣һַ UNP ƹ
    ȥѹ PKLITE ĹѹܡĽ
     BL Ĳ SET KEY=-STAY  SET KEY=PASS 
    ȡȻ޷뿪ϵ

ʣûֲе˵аװΪʲôʱ
ѾʹϵͳܹӦֲͬ DOS 汾ֻ֤
    MS-DOS, PC-DOS Լ DR-DOS ִУDOS汾ܱ
    ֤Ľʹñ׼MS-DOS

ʣִаװʱʱҲԿ̵Ĵô죿
һȷΪԿ̲ȶûԶԼοһ
    һЩڴפܶԼܳ˳ִвӰ죬
    Щͨ CONFIG.SYSAUTOEXEC.BAT פڴĳȫȡ
    ִ INSTALL ͨϷ
    δͨ۲ϵ

ʣ߷ִINSTALLбǷ
    ĳݵʣǲвɵ
ûеİװ̾ûвû֤Լ΢ûв
    ôκʾΪвɡINSTALLҪ޸ĳ
    ִļеĲǷ޸ĵʾֺӦûشY

ʣװϵͳΪʲô޷ִУ
𣺴ʱ΢Ƿ˰汾ϵ͵ķԼ
    Ӳ̲ӰķǱҪ忨 Уػ
    γ¿ٴִаװаװɡװɹ
    ɰѰγĿء

ʣBITLOK ϵͳô죿
Ļ۲š۲յ̺󣬻̰µİװ̼ϡ

ʣ BLINST װBITLOKܵĳ򣬰װɺʾкŲһ
    ¡ʲôԭɵģ
BITLOK BLINST ʹõģBLINST ܰװBITLOKܵ
     BLINST װһ׵BITLOKܵͻ
    ʾ

ʣе BLINST װһʹBITLOKܵĳ
 BLINST  /Q ʾ BLINST İװϢݷ
    һ

ʣûмܺõʱһо˳ν
ûӦǷи١ڴУ
    SoftICEڴС


¼ ۺ

 BITLOK ĻءĻأṩ
µİ汾

    һЩԼ޷⣬绰񲿣Ҳ
¸ʽϸдֱ֧յֱ֧󣬽һһظ
⣬ BITLOK ʲôõĽ飬Ҳͨдŵķʽ
ϵǶʾĸл ͬʱϣ BITLOK Ƽ
ͬºѣлл


ֱ֧

  û ................................................
  ˾ ................................................
  ϵַ ................................................
   ................................................
  绰 ................................................
  ϵͳ ................................................

  ͺ ................................................
  ϵͳ ................................................
  CONFIG.SYS ļ(ϸд) 
  AUTOEXEC.BAT ļ(ϸд)
  ϸ ....................................


  
        õ    ֮                      
  


