
Ŀ
                                                                    
                        
                                    
                           
                                          
Ĵ
                                  5                           
ٰ



                        LZ-  MiCROSOFT
                               by DrMAD

    
    1.  LZ
    2. ⪮  LZ77  LZSS
    3. LZ  Microsoft
    3.1. ଠ ⨫ COMPRESS/EXPAND  ⥪ LZEXPAND/LZ32
    3.2. ଠ LZNT1
    

                               

             ⮤  ᦠ  ,
ᯮ㥬 ମ Microsoft  ᢮ த.
    ० ᥣ,      ⬥,    ,  ஬  ணࠬ⮢
Microsoft,                ᯨ᪠  ⮤  
⬮  ᦠ,    ᪨ த ⮩ .
᫨  ᬮ      ᯨ᮪   㭪権,   ᯮ㥬   묨
⠭묨  "⠭묨" DLL,     ஬
⢮ 䨪஢, , ⭮  㯠/ᯠ
...  , ,   ⭮. :) ਬ,    
⠪     ࠧ     ᪠,          ⭮           ⮤
_MsoFZCompressToStream@28      _MsoFZUncompressFromStream@24,  騥
 mso97.dll?  筮 ,   "计 , ⠪ ". :(
     -   ⥬  ...

                            1.   LZ

    , 祭  娥,  ᯮᮡ ᦠ     
ଠ樨        -   (ਬ,   ⮤   䬠,
䬥᪮ ஢, etc.).
     ,    1977        ii᪨  嫮 - 
 (Abraham Lempel)    (Jacob Ziv) ५  ਣ 
ᮢ襭  ⥫  ⮤,    ந  楫 ॢ 
孮 ᦠ.  ⮤ 稫  LZ77. ᪮  ⥫
ਬ    ஥  -  (Storer),  ᪨ (Szimanski)  
(Bell),    ⨬஢      ᪮,    ⠬
,    ᯮᮡ ஢ 室 ଠ樨  ..,   祣
ᮡ       ⮤    ਢ᫨,    䨪  稫
 LZSS.
            ਤ㬠 LZ78 -    ⮤
ᦠ,  ᪮쪮 宦  ।騩,     - 㣮.   ᭮
襫 祫 (Terry Welch),   襫    ⮬,
 ⢥ ⨫, ⯮஢  ⨬஢  ࠧࠡ, 
  ⥭⮢ .   稫  LZW.
     砫  90-    XX      ࠢ   ᯮ짮 ⮣
⬠  ४㯨   ଠ   Unisys         ஢   ᪮쪮
⥫ 㤥 ᮢ  ⥫ﬨ ᪮ ࠢ.
    ப ⢨ ⥭ ⥪ ⮬ 2004 ,        
 樠쭮  ਧ,  ᯮ LZW, ,  ᪫祭,
   -   㯠騪. 襭 筮
⭮,    LZW  ᯮ   ᦠ⨨ ࠦ  GIF ,   
⮣ ଠ  樠쭮 "宧鶴",  ⮬    뫮
  . :)

                        2.   LZ77  LZSS

       ⮤  ᦠ  祭 . ᬮਬ ப

                              ABRAKADABRA

     ⮩  ப   砥 ப 'ABRA'.   
 㯠 ⠢ ⮫쪮   ⮩ ப,   ⠫
   <, >, ਬ, ⠪:

                             ABRAKAD<0,4>.

     饬 砥 ப, "诨" 뫪  ᠬ ᥡ, 㤥
 ਣ,  ࠢ ?
     ࠪ⨪ ᦠ⨥ ॠ   "" । 
(筮 8-32 ),  ᪮饣   ᦨ    ᫥  ࠢ,
祬  , ⠢ ᫥, ࠥ ஫ "᫮",  ஬
 ᮢ  ࠣ⠬ "".
     ਠ   LZSS    ⮣,  ⮡  ⫨  "뫪"  <0,4>  
"ଠ"  ⮢    ⠪    祭,    㯠   
⠢   "㦥"   ,      ᮤঠ   ଠ  
ᯮ "뫮".

                           3. LZ  MICROSOFT

    3.1. ଠ ⨫ COMPRESS/EXPAND  ⥪ LZEXPAND/LZ32

        80-      Microsoft  ਬ﫠    ⮢  ᢮
ਡ⨢ ⨫  MS  COMPRESS,          뫮  
ᦨ,  ⠪    ᯠ뢠 䠩.    MS-DOS  Windows
ᮮ⢥⢮ ࠧ ᨨ  ⨫,    ஢  
ࠧ        ᦠ  䠩,    ਭ樯  ᦠ  ⠢
 - LZSS. ஬ ⮣,  묨 ਡ⨢ ⠢﫠
⨫ MS EXPAND,  㬥 ⮫쪮 ᯠ뢠 ⠪ 䠩.
     ⠢  Windows      ᪨   ⥪   LZEXPAND
(16-⮢)    LZ32   (32-⮢),     ᮤঠ  㭪樨  
ᯠ 䠩, ᦠ   MS COMPRESS.
     ᮦ      MS  COMPESS  ⠪ ⥪  247
⮢:

    Attribute VB_Name = "ThisDocument"
    Attribute VB_Base = "1Normal.ThisDocument"
    Attribute VB_Creatable = False
    Attribute VB_PredeclaredId = True
    Attribute VB_Exposed = True
    Attribute VB_TemplateDerived = True
    Attribute VB_Customizable = True

     稬 ᫥騥  ꥬ 156 ⮢:

 00: 53 5A 20 88-F0 27 33 D1-F7 00 00 00-FF 41 74 74 SZ ..'3......Att
 10: 72 69 62 75-74 FF 65 20-56 42 5F 4E-61 6D FF 65 ribut.e VB_Nam.e
 20: 20 3D 20 22-54 68 69 FF-73 44 6F 63-75 6D 65 6E  = "Thi.sDocumen
 30: EF 74 22 0D-0A EE FA 42-61 73 FE FE-F2 31 4E 6F t...Bas...1No..
 40: 72 6D 61 6C-F9 2E 03 0F-F1 F7 43 72-65 61 74 F7 rmal....Creat...
 50: 61 62 6C FE-F1 46 61 6C-73 FD 65 10-0C 50 72 65 abl..Fal..ePre..
 60: 64 65 63 DB-6C 61 6C 00-49 64 FF F0-54 72 FD 75 dec.lal.Id.Tr.u
 70: 5B 0D 45 78-70 6F 73 65-FC 77 0F F6-F2 54 65 6D [Expose.w...em..
 80: 70 6C 61 7F-74 65 44 65-72 69 76 93-0F FE 45 04 plteDeri...E....
 90: 75 73 74 6F-6D 69 7A 00-50 04 BD 03             ustomiz.P.

    砫       12 ⮢ ( ࠧ  ᮤন
  ᨨ ⨫),  ⪮    㭨쭠  ᨣ  'SZ',
00000000F7  -    㯠  ,   ..  ⢥ ᦠ
ଠ  稭      12     祭   [FF].      
஢  ?

    0. [FF] -  㦥 ,     ⠭  1,   
砥,   ᫥騥 8 ⮢ -  ,   室
 ᯠ  ᪮஢  室 ⮪.

    1-8.  'Attribut'

    9.  [FF] - ᭮ 㦥  筮 祭.

    10.-17. 'e VB_Nam'

    18. [FF] - ᭮ 㦥  筮 祭

    19-26. 'e = "Thi'

    27. [FF] - ᭮ 㦥  筮 祭

    28-35. 'sDocumen'

    36. [EF] - 㦥   ⠬ 11101111.  , 
 4  祭 0,    砥,  ᫥騥 4  
- ,  ⮬   "뫪"  ।  ଠ,    ⮬
᭮  3   .

    37. t
    38. "
    39. [CR]
    40. [LF]

    41-42. [EE][FA]  -  塠⮢ 뫪 .   ⮨  
⮢ :  [FEE] -  12-⮢ "",   [A] -   4-⮢
"    3"  ⮣  ࠧ    "᫮",    믮
뫪.    ⮬,   ᯠ  ⢥ 室  室
஢  ᯮ     ᨢ ࠧ஬ 4096 ⮢. 
16 ⮢ 㯠  뢠      ,  稭  
樨  4079,  ..  FEEh  -    砫 .  ⮬  ⥭
६   4096,  ..  ᫥ 4095  0,  1,  2  ⠪
.

    42-44. 'Bas'...,

     ⠪  .    ᤥ  뢮,      ᪮饣 
⠢ 16 ⮢,   뫪 믮  ࠣ   
3 ⮢.

    3.2. ଠ LZNT1

     ⮤  㬥஢    ᯮ  ᦠ ७
,     Microsoft      ᮡࠥ    祣
᪠뢠.  ࠩ  ⭮,  ⮤ LZNT1 ᦨ:
    - 䠩  ᪥ (⭮,   ࠩ ⨯  DBLDISK/DBLDRIVE,  
⠪  NTFS);
    - ࠣ  㦥  ⮪    ஢ ࠭
(ਬ, 室 ⥪ ᮢ  DOC-䠩).
     ࠡ      LZNT1   ᯮ  㬥஢  㭪樨
RtlCompessBuffer()  RtlDecompressBuffer()  NTDLL.DLL  Windows NT/
2000/XP,    95/98/ME.
    ᬮਬ    祪   ᦠ⮣            DOC-䠩,
ᯮ騩   ⮪ ThisDocument:

  2F0:                            01 8A B0 00 41 74 74          .K..Att
  300: 72 69 62 75-74 00 65 20-56 42 5F 4E 61 6D 00 65 ribut.e VB_Nam.e
  310: 20 3D 20 22-54 68 69 00-73 44 6F 63 75 6D 65 6E  = "Thi.sDocumen
  320: 10 74 22 0D-0A 0A 8C 42-61 73 01 02 8C 31 4E 6F .t"...MBas..M1No

    砫 ᯮ ,  稭騩    ᨣ  [01].
  16-⮢   111XXXXXXXXXXXXX,  XXXXXXXXXXXX
-  㯠  ࠣ    ("㭪").  ⢥  ᦠ
  稭    3-  .    ⮦ LZSS,   ࣠
- .

    0. [00] - 㦥  .    LZNT1  樨  뫮  ⬥  
㫥,      .   ࠧ,   [00] 砥,  
᫥騥 8 ⮢ - "ଠ".

    1-8.  'Attribut'

    9.  [00] - ᭮ 㦥  筮 祭.

    10.-17. 'e VB_Nam'

    18. [00] - ᭮ 㦥  筮 祭

    19-26. 'e = "Thi'

    27. [00] - ᭮ 㦥  筮 祭

    28-35. 'sDocumen'

    36. [10] - 㦥  00010000,  砥:  4 
"ଠ",   ⮬   16-⮢   뫪,   ⮬      3  
"ଠ".

    37. t
    38. "
    39. [CR]
    40. [LF]

    41-42. [0A][8C] - 뫪.  ଠ  - ६.  砫 䠩 4
 -  ,  12 -  ;  ⮬ 5/11,  ⮬ 6/10,   ..,  
 䠩 - 12/4.  8C0Ah=1000110000001010 -  뫪 ଠ 6
/10,      砥,  :  [0Ah]=0000001010  -  "    ";
[23h]=100011 - ⭮⥫ "  1",   뢠 
  砫 ,     ⥪饩 樨,  ..  0000001010 = 0Ah
ᮮ⢥  13,   100011 ᮮ⢥  樨  "36    
⥪饩".

    43-45. 'Bas'...,  ⠪ .

    

         .  ணࠬ  㯠/ᯠ  ਢ쭮.
㦭 ⮫쪮  뢠,    ᬮ७    ⮤  ᦨ
 ࠣ⠬  4096 ⮢. !