home *** CD-ROM | disk | FTP | other *** search
/ HaCKeRz KrOnIcKLeZ 3 / HaCKeRz_KrOnIcKLeZ.iso / chibacity / dsce-eng.doc < prev    next >
Text File  |  1996-04-22  |  6KB  |  176 lines

  1.  
  2.  
  3.  
  4.                      Dark Slayer Confusion Engine <tm>
  5.                          Version 1.0 <04-20-94>
  6.  
  7.                                 Written
  8.                                   By
  9.                               Dark Slayer
  10.                                   At
  11.                         Keelung, Taiwan, R.O.C.
  12.  
  13.  
  14.  
  15.  
  16. Who should use DSCE?
  17. ^^^^^^^^^^^^^^^^^^^^
  18.     If you are virus-writing beginner, you shouldn't use DSCE.
  19.     DSCE is just for those people who are senior in virus-writing.
  20.  
  21. How about the Licence ?
  22. ^^^^^^^^^^^^^^^^^^^^^^^
  23.     This is a LEAGEL agreement between YOU and DARK SLAYER.
  24.  
  25.     You may:
  26.  
  27.        1. Use DSCE in your virus writing.
  28.        2. Free copy DSCE to those who need DSCE to produce viruses.
  29.  
  30.     You may NOT:
  31.  
  32.        1. Use DSCE on other program writing.
  33.        2. Modify ,or disassemble DSCE.
  34.           All rights in this part are reserved by DARK SLAYER.
  35.        3. Sell DSCE to others.
  36.  
  37. About DSCE .....
  38. ^^^^^^^^^^^^^^^^
  39.  
  40.     DSCE is just a module to help others make polymorphic viruses easier,
  41.   not a virus.
  42.  
  43.     DSCE is different from DSME ( I wrote it at early time) . DSME use normal
  44.   algorithm ( like initial value, memory decoder instructions, and loops...etc
  45.   ) ,but DSCE throw those methods away ( You can't find any initial value,
  46.   memory decoder instructions, and loops...etc) . DSCE can make more
  47.   instructions that DSME can't. When you use DSCE to make a virus,the virus
  48.   will be more complex than that made from DSME. That's why I call it 'Dark
  49.   Slayer Confusion Engine' .
  50.  
  51.     Well, Both DSCE and DSME will go on, and I plan to wirte a virus generator
  52.   after my exam. If it possible, I will publish DS magazine that contants my
  53.   special skills, Taiwan viruses introductions and so on. Be patient... :)
  54.  
  55.  
  56.  
  57. How to use ?
  58.  
  59.     DSCE module can be used under MASM or TASM. It may not used uner
  60.   used under other assembler compilers.
  61.  
  62.  
  63.     In order to use DSCE in your virus,you must include the following
  64.   in your source code:
  65.  
  66.         Extrn   dsce: near, dsce_end: near
  67.  
  68.     'dsce' is the main body of DSCE. 'dsce_end' is not an subroutine,
  69.   it's the pointer of the program ending,when you ask the length of the
  70.   program,you will need it.
  71.  
  72.     If you want to know virus break out or not, and you want to use it for
  73.   other purposes by rnd generator, add this code in your virus.
  74.  
  75.         Extrn   rnd: near
  76.  
  77.  
  78.     You can include the following when you want to encryption your source
  79.   code:
  80.  
  81.         Call    dsce
  82.  
  83.  
  84.     By now, only you have to do is setting proper parameters, you will get
  85.   your polymorphic virus. Remeber link DSCE.obj with your virus.obj.
  86.  
  87.  
  88. Input parameters of the crypt routine:
  89. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  90.  
  91.         ES => Work segment (Decryptor + encryted code ,start in ES:0)
  92.  
  93.               DSCE's decryptor code will not over 1024 bytes.
  94.               You should reserve memory size (your virus lengh + DSCE's
  95.               lengh + 1024 bytes) You should notice this if your virus
  96.               is resident in memory.
  97.  
  98.      DS:DX => Code's address to encrypt
  99.  
  100.             DS:DX is usually point to the head of the program.
  101.  
  102.         CX => Length of code to encrypt
  103.  
  104.             Use 'OFFSET DSME_END' to get the whole lengh.
  105.  
  106.         BP => Decryption routine's offset address
  107.  
  108.             The decryption routine's offset address depends on which
  109.             kinds of file you want to infect it.(Like Friday infects
  110.             COM files, you should set BP to 0100h)
  111.  
  112.  
  113.         BL => Decryptor addressing mode
  114.  
  115.            Bit 0 = 0 Don't care addressing mode.
  116.                      (Used to infect COM files)
  117.                  = 1 Use CS or SS to addressing.
  118.                      (Used to infect EXE or COM files, and you should
  119.                       set SS=CS on EXE header)
  120.            Bit 1 = 0 DSCE won't use the memory allocated after virus
  121.                      program when decoding.
  122.                  = 1 DSCE will use the memory allocated after virus
  123.                      program when decoding. ( If you want to do so,
  124.                      setting SP > 8800h in EXE header, otherwise the
  125.                      stack will be unrest.
  126.            Bit 2-7   Reserved
  127.  
  128. Final notes.
  129. ~~~~~~~~~~~~
  130.  
  131.    1. During decode process, SP will be changed so your virus should
  132.       set SP to its orignal value. ( Ex: in COM files, SP should be
  133.       set SP to FFFEh)
  134.    2. During decode process, ES will be changed and if BL's Bit 0 = 1
  135.       , DS will be changed too. If both DS and ES be changed, well, call
  136.       INT 21h ( AH = 51h or 62h ) !       :(
  137.       You should notice this !
  138.    3. Let the code which will be encrypted by 16's (10h) multiple, this
  139.       will make memory addressing easier then DSME v1.0.
  140.  
  141.  
  142. Returning parameters from DSCE
  143. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  144.  
  145.      DS:DX => Decryptor + encrypted code
  146.  
  147.             Return from DSCE, DS:DX will point to decryptor + encrypted
  148.             code. This will make writing-function of INT 21h easier.
  149.  
  150.         CX => Length of decryptor + encrypted code
  151.  
  152.             This will make writing-function of INT 21h easier,too.
  153.  
  154.        Except these register mentioned above and AX,other registers won't
  155.      be changed.
  156.  
  157. About Stack:
  158. ^^^^^^^^^^^^
  159.  
  160.        If your virus halt system all the time and you can't find the
  161.      problem out, it maybe your stack covered by DSCE.
  162.        I suggest you use your own stack in your virus to avoid the
  163.      stack problem.
  164.  
  165.  
  166.  
  167.  Good luck to all virus writers.
  168.  
  169.  
  170.  Sincerely yours,
  171.  Dark Slayer
  172.  
  173.  
  174. *******   English document by Dark Striker, Taipei, Taiwan *******
  175.  
  176.