home *** CD-ROM | disk | FTP | other *** search
/ Cracking 2 / Cracking II..iso / Texty / crackme / CRACKME2.ENG < prev    next >
Encoding:
Text File  |  1999-01-28  |  17.0 KB  |  499 lines

  1.             
  2.            The complete solution of UCF crackme2
  3.             
  4.             (c) 1999 Ak Kort [SOS group]
  5.             
  6.             
  7. Step 1. Decrypting.
  8. ~~~~~~~~~~~~~~~~~~~
  9.  
  10.     Decrypting procedure uses 256-byte key, which answers on
  11.     interrupt 3F and looks like simple dongle.
  12.     
  13.     I spent much time on analisys decrypting procedure in a
  14.     tries of finding holes in crypting or the way of fast
  15.     reversing. In a real that thing is practically unneeded.
  16.     Also there is no needs to search key recursively as
  17.     i did once in a sober foolish head...
  18.     
  19.     Look in a following fragment of cipher:
  20.     
  21.  000000B0: D1 00 6D D9│6D 6D 6D 6D│2E 3F B8 DA│17 B4 50 09  ╤.m┘mmmm.?╕┌.┤P.   
  22.  
  23.     There are 4 identical bytes. Doesn't looks like coincidence.
  24.     Look at the decrypting formula:
  25.     
  26.     Text[i+2]=Crypt[i+2] xor Key[Text[i]]
  27.     
  28.     In other words, odd and even bytes are crypted independently and
  29.     decrypting mask for the current byte is the byte from table
  30.     indexed by previous decoded byte.
  31.     
  32.     Well, what is the meaning of that 4 bytes? It means, that there
  33.     are 6 identical bytes. First two bytes are crypted by previous
  34.     bytes and we cannot resolve crypting mask. But we can get
  35.     next two bytes if we gues several logical cases. 6 identical
  36.     bytes can be zero, spaces and border symbols like '═' or so.
  37.     Other cases seem to be mostly unreal.
  38.     
  39.     Lets assume that they are zeros. Then the mask of decrypting
  40.     followed bytes is 6D 6D. Check it:
  41.     
  42.     2E 3F xor 6D 6D = 43 52 = 'CR'
  43.     
  44.     Looks like true. it can be CRACKER, CRACKED, CRACKME and so on.
  45.     
  46.     But if they are spaces then mask will be 6D 6D xor 20 20 = 4D 4D,
  47.     and crypted text will be:
  48.     
  49.     2E 3F xor 4D 4D = 63 72 = 'cr'
  50.     
  51.     Matches too. What of that cases we can select? Lets check another
  52.     fragment:
  53.     
  54.  00000110: 55 A2 A6 8C│AB 58 6D 6D│FB 5D 4E 94│83 05 E9 33  Uóªî½Xmm√]Nöâ.Θ3   
  55.  
  56.     There are again two identical bytes 6D 6D. Lets decrypt the followed
  57.     bytes:
  58.     
  59.     FB 5D xor 6D 6D = 96 30
  60.     
  61.     At this time every real cracker should spring up from chair,
  62.     clear his eyes, convulsively swallow a beer and scratch his head.
  63.     Cose every real cracker knows, that bytes 00 00 96 30 seems to be
  64.     in a CRC32 calculation table.
  65.     
  66.     Check our idea - programm STEP-1\DECODE.BAS
  67.     First it builds 256-byte table using file CRC32.DAT as a plain text.
  68.     Then it decodes whole file into OK.COM. Let me skip other comments,
  69.     i think this programm whould be clean for every schoolchild, who
  70.     finished 3 monthes of programming course.
  71.     
  72.     Fluently look on OK.COM and satisfy youself that we had a right idea.
  73.     
  74.  
  75. Step 2. Searching of keyfile.
  76. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77.  
  78.     After decrypting programm needs a keyfile, wich contains
  79.     username. Before decoding this name programm check checksum
  80.     of file by the following way:
  81.     
  82.      0000002B: B90001                    mov cx,0100
  83.      0000002E: BE4906                    mov si,0649
  84.      00000031: E8E004                    call 00000514
  85.      00000034: 66A3B201                  mov [01B2],eax
  86.  
  87.      There is crc32 calculation using that table wich help us
  88.      to dectypt code.
  89.      
  90.     Next, there are 0FD iterations at the same text, wich use
  91.     crc32 as a starting value for cipher:
  92.      
  93.      00000038: B9FD00                    mov cx,00FD
  94.      0000003B: BE4906                    mov si,0649
  95.      0000003E: 668B1EB201                mov ebx,dword ptr [01B2]
  96.      00000043: 51                        push cx
  97.      00000044: AC                        lodsb al,ds:[si]
  98.      00000045: 0FBEC8                    movsx cx,al
  99.      00000048: AD                        lodsw ax,ds:[si]
  100.      00000049: F7E1                      mul cx
  101.      0000004B: 8A0C                      mov cl,byte ptr [si]
  102.      0000004D: 66D3C0                    rol eax,cl
  103.      00000050: 6633D8                    xor ebx,eax
  104.      00000053: 51                        push cx
  105.      00000054: 0FBEC8                    movsx cx,al
  106.      00000057: 66D3C3                    rol ebx,cl
  107.      0000005A: 59                        pop cx
  108.      0000005B: 66F7D0                    not eax
  109.      0000005E: E2ED                      loop 0000004D
  110.      00000060: 59                        pop cx
  111.      00000061: 83EE02                    sub si,0002
  112.      00000064: E2DD                      loop 00000043
  113.      00000066: 6681FB4EC29EA6            cmp ebx,A69EC24E
  114.  
  115.     Comparing ebx and A69EC24E is a chechsum of keyfile. Looking
  116.     on programm under debugger we can see that this fragment a
  117.     quite slow and brute force on whole 256-byte file is an extremelly
  118.     long task.
  119.     
  120.     But we can see, that if we fill keyfile with zeros and geting crc32
  121.     also as 0, then on each iteration ebx is equal to 0.
  122.     It is very usefull for search - it is enought to change one
  123.     dword as a counter and fix last dword to fit crc32 to 0.
  124.     Then we will don't needed to perform all 0FD iterations
  125.     but only last 8 for changed bytes.
  126.     
  127.     But that algorithm will search 256 variants in a 3 seconds or
  128.     about 15 minutes for 65536. It is easy to calucate that it will
  129.     take more than year to search 2^32 variants. But if we use
  130.     several hundreds computers this time will a quite short. 
  131.     That way of attack was performed in a last days of Dec 1998.
  132.     Unfortunatly, the way of distributing packets for search
  133.     was'n automatical and i have to send them by hands, that quite
  134.     hamper search. 
  135.     
  136.     So, under unstopped critic of Mikhail Kondakov I perform
  137.     second way to reverse the sum. As I notice sometimes, my
  138.     drunk condition intensifies my cracking skills so I can
  139.     crack very hard things. So one day I've returned to home
  140.     and start the assembler...
  141.         
  142.     
  143. Step 3. How to find a keyfile rather fast.
  144. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  145.  
  146.     We can notice, that the time of sum's calculation is proportional
  147.     to bytes in keyfile. So, to minimize this time we need to
  148.     minimize the value of bytes in files. First we should not use
  149.     crc32 fittingm this free us from big interval of values but
  150.     we'll have to calculate crc32 on every step and use this
  151.     new value from begining of iterations.
  152.     
  153.     But we can change only last 8 bytes of file and leave 248 bytes
  154.     unchanged, it allow us to precaluclate crc32 for the first 248
  155.     bytes and calculate only the rest of file on each iteration.
  156.     
  157.     Second, look at this optimized part of cipher:
  158.  
  159.     lea si, Key
  160.     mov ebx, crc32
  161.     mov eax, crc32
  162.     REPT 0FDh
  163.         movsx cl,[si]
  164.         mov ax,[si+1]
  165.         inc si
  166.         mul cx
  167.         mov cl,[si+2]
  168.     @@1:    rol eax,cl
  169.         xor ebx,eax
  170.         rol ebx,al    <- there is no such command, 
  171.                    it is just for undertanding
  172.         not eax
  173.         loop @@1
  174.     ENDM
  175.     
  176.     Now it is more understandable. This algorithm needs only 4 bytes
  177.     from keyfile and 2 (!) high bytes from eax. After all iterations
  178.     this cipher may be represented as:
  179.     
  180.         rol ebx, X
  181.         xor ebx, Y
  182.         
  183.     It is quite simple to check, that X and Y depend only on high
  184.     word of eax and keyfile but does not depend of ebx.
  185.     So if we use static part of key we can precalulate all 65536
  186.     cases of eax and change this very slow algorithm by the
  187.     table. This speed up our search more than 200 times.
  188.     X takes 1 byte, Y takes 4 bytes, so we need 5*65536=327680 bytes,
  189.     wich fits on DOS memory.
  190.     
  191.     Third improovement is that we don't search bytes in a 0-255
  192.     interval but in 1-16 so we getting rid of corner very slow cases.
  193.     
  194.     Using this three point we write CRACK.ASM, wich find the key
  195.     in a several hours.
  196.     Also there is 32-bit DOS4GW version wich about 20% faster but
  197.     needs several files from Watcom C for compiling.
  198.     
  199.     
  200. Step 4. Resident dongle emulator.
  201. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  202.  
  203.     Having decoding table it is easy to write emulator.
  204.     I have two version of programm wich are different only
  205.     by the number of interrupt - 3F and FD, so our emulator
  206.     will answer on both of them.
  207.     
  208. Step 5. Writting keygenerator.
  209. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  210.  
  211.     After we find the forst 256 bytes of keyfile it is very
  212.     easy to encrypt username by the following algorithm:
  213.     
  214.      00000066: 6681FB4EC29EA6            cmp ebx,A69EC24E 
  215.      0000006D: 752F                      jnz 0000009E 
  216.      00000071: BE4906                    mov si,0649 
  217.      00000074: 81C60001                  add si,0100 
  218.      00000078: 56                        push si 
  219.      00000079: 1E                        push ds 
  220.      0000007A: 07                        pop es 
  221.      0000007B: 8BFE                      mov di,si 
  222.      0000007D: B90800                    mov cx,0008 
  223.      00000080: 66AD                      lodsd eax,ds:[si] 
  224.      00000082: 6633C3                    xor eax,ebx 
  225.      00000085: 66D1C3                    rol ebx,1 
  226.      00000088: 66AB                      stosd es:[di],eax 
  227.      0000008A: E2F4                      loop 00000080 
  228.  
  229.     Very easy and takes about 3 minutes. Source is in STEP-5 directory,
  230.     also there is the valid keyfile.
  231.  
  232.  
  233.  
  234.     
  235. Thanks and greetings.
  236. ~~~~~~~~~~~~~~~~~~~~~
  237.     
  238.     Mikhail Kondakov (mikhail_kondakov@usa.net) found another fast
  239.     way for searching keyfile. I was too lazy to resolve algorithm
  240.     of search by the right file and cann't figure wich case is
  241.     better, but I think you should look at his keyfile in
  242.     a STEP-X directory.
  243.     
  244.     Also I wish thank the following people for help me with a
  245.     brute force by the first variant and give me some good
  246.     ideas and help:
  247.  
  248.     A.D. Smolenkov, sad@metib.ru
  249.     ATS, 2:5049/69
  250.     Alecs Kuznetsov (Dark1st), Dark1st@dialup.ptt.ru
  251.     Alek Akhmatov, 2:5005/28.3
  252.     Aleksey A Pestunovich, 2:5015/111
  253.     Aleksey Larioncev, 2:5020/1531.5
  254.     Aleksey Timofeyev, 2:4600/96.2
  255.     Alex Devyatykh, 2:5004/530.3
  256.     Alex Johnson, 2:5030/181.141
  257.     Alex Kreshchuk, 2:5063/10.58
  258.     Alex Kuriatnikov, 2:5020/617.3
  259.     Alex Ostapenko, 2:5020/685.21
  260.     Alex Rozov, 2:5011/60
  261.     Alex Shupikov, 2:5040/61.13
  262.     Alex Stepanov, 2:5025/2.122
  263.     Alex V.Gribov, 2:5011/45.13
  264.     Alexander A.Kuznetsov, 2:5054/28.12
  265.     Alexander Hokhlov, 2:5025/38.201
  266.     Alexander Kobrin, 2:5020/620.13, awk666@mail.ru
  267.     Alexander Kozlov, 2:5093/11
  268.     Alexander Moukhortov, alem@datacom.ru
  269.     Alexander Novikov, 2:450/9.25
  270.     Alexander Onishchenko, 2:463/586.34
  271.     Alexander S.Bulochnikov, jessbul@chat.ru
  272.     Alexander Smok, 2:452/999.2
  273.     Alexander Soutchkov, 2:5011/66.16
  274.     Alexander Sukhochov, 2:5030/638.15
  275.     Alexander Volok, 2:464/130.14, alexv@invest.ui.dp.ua
  276.     Alexander Wischnewski, benwisch@rhoen.de
  277.     Alexander Zolotnikov, 2:453/7.8
  278.     Alexandr Demidneko aka CodeGlider, 2:5077/22.10, codeglider@chat.ru
  279.     Alexandr Orlenko (Eagle), 2:5079/30.37, eagle@kuun.surgutneftegas.ru
  280.     Alexandr Pikunow, 2:5022/27.40
  281.     Alexey Andreev, 2:5030/142.65
  282.     Alexey Barylnikov aka 1exa, 2:5000/72.42
  283.     Alexey Chukanov, 2:5070/136.15
  284.     Alexey Dobriaev, 2:5020/1822.75
  285.     Alexey Kulinich, 2:5005/26.48
  286.     Alexey Saenko, 2:5011/50.11
  287.     Alexey Uzikov, 2:5011/66.9
  288.     Alexx Valikov, 2:5011/34
  289.     Alvils Pierhurovichs, 2:51/10
  290.     Alvils, Alvils@inta.cs.llu.lv
  291.     Anatoly Shishkoff AKA Shturman, 2:5020/390.12
  292.     Ander Vill, 2:5080/500.333
  293.     Andrew Lebedenko, 2:5061/4
  294.     Andrew Petrov, 2:5020/993.139
  295.     Andrew Shipinsky, ASh@tofmal.tambov.su
  296.     Andrey Baramzin, 2:5056/40.12
  297.     Andrey Bublikov, 2:5030/752.24
  298.     Andrey Grishin, 2:5020/989.19
  299.     Andrey Ivankov, Lotos@primorsky.ru
  300.     Andrey Nikitin, 2:4642/19.33
  301.     Andrey Novikoff, 2:5030/743.31
  302.     Andrey Smolenkov, sad@metall.metib.ru
  303.     Andriey Korzhun, 2:5020/1662
  304.     Andy Malyshev, 2:5020/362.55, andy_m@iname.com, http://i.am/crk
  305.     Andy Sadovnik, 2:5030/610
  306.     Anthony Repin, 2:5020/753.6
  307.     Anton A. Arapov, 2:5045/27.39
  308.     Anton Fedorov, 2:5000/111.27
  309.     Anton Mineev, 2:5011/53
  310.     Anton Morozov, 2:5020/1355.22
  311.     Anton Shmigel, 2:5050/15.22
  312.     Arkadiy Kapustinskiy (kab), 2:5000/33
  313.     Armen Stepanian, 2:5022/83
  314.     Art Snaker
  315.     Artem, 2:5030/525.62
  316.     Artur Hairullin, 2:5011/45.15
  317.     Boris A. Lozovsky, corwin@corbina.ru
  318.     Boris Tcherkashin, 2:5080/65.13
  319.     Bulat Kutov, 2:5011/41
  320.     Constantine Vetlov, 2:5020/995
  321.     DAO, dao@surnet.ru
  322.     DK, damonk@usa.net
  323.     DaRk dEAMon, 2:463/9797.57
  324.     Denis Andrianov, 2:5010/120
  325.     Denis Kozlov, 2:5012/15.26
  326.     Denis Lebedev, 2:450/83.4
  327.     Denis Litvinov, 2:5080/60.16
  328.     Denis Mingulov, 2:5004/35.16
  329.     Denis Ozerov, 2:5030/649.34
  330.     Denis S. Kotov aka Deniska, ds_kotov@quake.ru
  331.     Denis Zwerew, 2:5030/521
  332.     Dmitriy Polyakov, 2:463/308.22
  333.     Dmitry Bragin, 2:5011/79
  334.     Dmitry Deniskin, 2:5020/1294.12
  335.     Dmitry Dudarev, dudarev@lbp.lutsk.ua
  336.     Dmitry Nikolaev, 2:5011/22.8
  337.     Dmitry Novak, 2:5020/1432.445
  338.     Dmitry Ostroushko, 2:5036/9.29
  339.     Dmitry Sapojnikov, 2:5066/13.9
  340.     Dmitry Shilin, 2:5020/150.23
  341.     Dmitry Shumsky, 2:5023/11.54
  342.     Dmitry Sokolov, 2:5077/25
  343.     Edward Zinatullin, 2:5011/59.26
  344.     Eliseev Victor A., 2:5020/718.3
  345.     Eugene Konovalov, 2:5055/30.30
  346.     Eugene Morozov, 2:5020/1437.7
  347.     Eugene Nikolaev, ruchij@chat.ru
  348.     Eugene Radyuk, 2:5077/24
  349.     Eugene Shepelev, 2:5020/294.32
  350.     Eugene Yurchik, 2:5010/126.37
  351.     Eugeny Starikov, 2:464/500
  352.     Evgeniy Skidan, 2:4521/2.18
  353.     Evgeny Malyshev, 2:5011/13.14
  354.     Expert of Nothing, http://www.chat.ru/~stking
  355.     Gevorck Madzharyan, 2:5057/43
  356.     Grigory Berezowsky, gri@irk.ru
  357.     HaCkMAN AKA Vladimir Frolov, 2:5078/15.7
  358.     Igor Derevenskyh, 2:5080/97.26
  359.     Igor Kovalenko, 2:463/563
  360.     Igor Latyshev, 2:5045/34.20
  361.     Ivan Elin, 2:5011/89
  362.     Ivan Redkin, 2:5011/78
  363.     Jaffar, 2:4666/13
  364.     Jura Marichev, 2:5011/62.19
  365.     KPNC, uspenka@armavir.da.ru
  366.     Kirill Silaev, kir@mail.lanck.net
  367.     Konstantin Isakov, 2:5000/111.29, konstantin.isakov@usa.net, www.nsk.su/~bcompany
  368.     Konstantin Norvatoff, 2:5030/163.44
  369.     Kosh, 2:5020/1286.9
  370.     Max Dukov, 2:5030/413.15
  371.     Max Litvinenko, 2:5011/85
  372.     Maxim Kovtun, 2:5020/1175.23
  373.     Maxim Stafeev, 2:5080/157.7
  374.     Maxim Zykov, max@eml.ee
  375.     Mega G. Baitoff, 2:5011/60.16
  376.     MegaBit, kostya@st.simbirsk.su
  377.     Mickel Glumov, 2:5061/15.46
  378.     Mihail Filichkin, 2:4631/14.1
  379.     Mihail Karasev, 2:5095/34
  380.     Mihail Voidenko, 2:5022/19.56
  381.     Mikhail Vlasov, 2:5011/22.18
  382.     Misha Myasnikov, 2:450/137.21
  383.     Murad Urmancheev, 2:5085/1.101
  384.     Nicholas Mednov, 2:5011/68
  385.     Nick Klochkov, 2:463/253.222
  386.     Nicky Shubeykin, 2:469/43.33
  387.     Nikita Shvetsov, 2:5096/11
  388.     Nikita Zolotarev, 2:5030/789.666
  389.     Nikolai Lobezki, 2:5030/450.23
  390.     Nikolay Mikolenko, 2:4642/1111
  391.     OFF (Andrew Velder), 2:5010/146.111, off@fido.tu-chel.ac.ru
  392.     OffSpEEd, offspeed@mail.primorye.ru
  393.     Oleg Akulov, 2:5002/45.36
  394.     Oleg Bashlykov (Olejonok), Olejonok@RussiaMail.Com
  395.     Oleg Boshkov, 2:467/73
  396.     Oleg Gatcenko, 2:464/207.9
  397.     Oleg Krivoshatkin, 2:5067/3.1
  398.     Oleg Loa, olegloa@chat.ru
  399.     Oleg Pashko, 2:4657/9
  400.     Oleg Sharipov, 2:5011/42.33
  401.     Ostroushko Dmitry, RatNat@lipetsk.ru
  402.     Pasha Soumartchenkov, 2:5057/36.7
  403.     Pavel Chernov, 2:5057/10.30
  404.     Pavel Dovgalenko, The CHEMIST, 2:5071/17.9, pdovgalenko@usa.net
  405.     Pavel Piganov, 2:5057/25.18
  406.     Pavel Shklovsky, 2:5011/18
  407.     Peter Evdokimov, 2:5011/250, peterb@chat.ru, www.chat.ru/~peterb
  408.     Ramil Garipov, 2:5011/27.11, 2:5011/36.106, ramil@mail.ru
  409.     Roman Khomchenko, 2:5040/57.27
  410.     Ruslan Sokolnikov, galateo@chat.ru
  411.     R├\inMaN, pavel@omsk.edu, http://fido.omsk.edu/~rainman
  412.     SWW aka Slava Rusakov, 2:5030/175.76
  413.     Saboteur, saboteur@biocon.kiev.ua
  414.     Sasha Mkrt, mkrt@tnet.sochi.net
  415.     Serg Agarkoff, 2:5041/1
  416.     Serg Sidorov, 2:4655/3.66
  417.     Serge Kontarev, 2:5020/53.22
  418.     Serge Lazo, lazo@postman.ru
  419.     Sergei Seperovitch, 2:5020/1133
  420.     Sergey E. Tikhonenko, expert@chat.ru
  421.     Sergey Guculiak, 2:5011/51
  422.     Sergey Isakov, 2:5080/105.7
  423.     Sergey Korenivskiy, 2:5020/239.9
  424.     Sergey Korowkin, 2:5033/27
  425.     Sergey M Litvinov, 2:4600/126.33
  426.     Sergey Potashev, 2:5003/70, potashev@komi.parma.ru
  427.     Sergey Safarov, 2:451/2.22
  428.     Sergey Shliakhota, sersh@bmz.gomel.by
  429.     Serzh Shumikhin, 2:5004/18.8
  430.     Seva Goncharov, 2:5080/31.20
  431.     Shaman //UCL
  432.     Shurik Mudrak, 2:5011/45.14
  433.     Sirosh Evgeni, 2:5036/5.2
  434.     Slava Vvedensky, 2:5004/32.24
  435.     Sonic Mike, 2:50/520.4
  436.     Sp0Raw //[rAN] //[dTG], 2:5030/664.409, 345:817/2, sp0raw@hoTMAIL.COM
  437.     Sp0t //UCL
  438.     Spetznaz, Spetznaz@chat.ru
  439.     Stas Schekin, 2:5025/150.49
  440.     System brain, 2:5011/87.2, sem@ufanet.ru
  441.     Tim Komyakov, 2:5080/78.2
  442.     Timur Kulmukhametov /Drago73, 2:5011/73
  443.     Vadim Gromov, 2:5030/614.111
  444.     Vadim Samoilov, 2:5003/34.15
  445.     Valentin Varenik, 2:4642/3.31
  446.     Valera Gavrilovets, 2:5030/389.7
  447.     Valeri Bourak, 2:450/107
  448.     Valery Shabaev, 2:5077/60
  449.     Valery V. Bastrikov, 2:5011/27.18
  450.     Victor Zamoulko, 2:4521/4
  451.     Vilen Kamalov, 2:5085/44.7
  452.     Vinkov Alexander, 2:5053/20.30
  453.     Vitaly V Bochkaryov, 2:5090/28.111
  454.     Vizit0r //UCL
  455.     Vlad Bikkulov, 2:5011/36.105
  456.     Vlad Mogilevsky, 2:5020/118.75
  457.     Vladimir Eremin, 2:5020/1626.78
  458.     Vladimir Kozlov, 2:5002/45.11
  459.     Vladimir Sadvinsky, 2:5049/36.24
  460.     Vladimir Timonin, 2:5023/11.44
  461.     Vladimir Zaytcev, 2:5015/116
  462.     Vladislav Bulochnikov, 2:5037/12.39
  463.     Vladislav Zlobin, 2:5011/79.33
  464.     Vsevolod Sokovikov, 2:5004/33.12
  465.     Vyacheslav V Garonin, 2:465/167
  466.     Wowik Mikolenko, 2:5031/1.23
  467.     Xak, xak@ipc.ru, xak.ipc.ru
  468.     Yaroslav Pecheritsa, 2:4635/34.19
  469.     Yaroslav Sverdlikov, 2:450/84.54
  470.     Yura Kropelnytskiy, 2:4623/55
  471.     Yura Tkachenko, 2:5030/655.31, Yura.Tkachenko@iname.com
  472.     Yura V. Zaburdaev, 2:450/134.8
  473.     Yuriy Limakov, 2:5062/1.15
  474.     Yuriy Macintosh, 2:5020/1469.777
  475.     Zdanevich Alexander, 2:5020/755.35
  476.     Zerg, 2:5080/130.11
  477.     alex ivanov, 2:5030/773
  478.     andrew karimov (the doctor), 2:4641/223.3
  479.     andyst, andyst@chat.ru
  480.     artp_s@hippo.ru
  481.     blshkv
  482.     geront, geront@sbtx.tmn.ru
  483.     gleb@mednet.md
  484.     hijaq, 2:5030/460.2
  485.     joker, 2:4666/10.21
  486.     kir@mail.lanck.net
  487.     max a sazonoff, 2:5004/32.17
  488.     pfk@forfree.at
  489.     vlad-fish@usa.net
  490.  
  491.     And many others who wish to stay anonymous ;)    
  492.     
  493. Copyright
  494. ~~~~~~~~~
  495.     (c) 25 Jan 1999 Ak Kort [SOS group]
  496.     http://www.sos.nanko.ru
  497.     e-mail: sos@russiamail.com
  498.     FiDo: 2:5011/45
  499.