home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / CCTX0497.ZIP / PMUPDT19.ZIP / PME101.ZIP / PME.DOC < prev    next >
Text File  |  1995-02-22  |  3KB  |  103 lines

  1.  
  2.         Phantasie Mutation Engine <tm>                       Version 1.01
  3.         Written by Burglar in Taipei, Taiwan.                  (95/02/22)
  4.  
  5.  
  6.         1.  License
  7.  
  8.         You are free to include this Engine in anything, but don't to
  9.         injure anything.  Injure anything is prohibited.
  10.         You are free to give it to people that will not injure anything,
  11.         you can use it to make mutation virus, but the virus don't have
  12.         any destruction.
  13.  
  14.  
  15.         2.  How to use it
  16.  
  17.         when you want use it, you must declare below at first in code
  18.         segment.
  19.  
  20.         EXTRN   PME:NEAR, PME_END:NEAR
  21.  
  22.         Then you write your program like virus as usual.  When you need
  23.         to encrypt the code, you just call the Engine.  Put the following
  24.         instruction in your code:
  25.  
  26.         CALL    PME
  27.  
  28.         You also need to supply the parameters for the Engine.  They are
  29.         passed in registers.  Results are also passed in registers.
  30.  
  31.         Of course, you must link the PME.OBJ module to your program like
  32.         virus!
  33.  
  34.         PME_END labeled the tail of your virus that includes the engine,
  35.         and you can use OFFSET PME_END subtract the original offset to
  36.         get the length of your virus that includes the engine.
  37.  
  38.  
  39.         3.  Input parameters
  40.  
  41.         All parameters are mandatory.  Description follows:
  42.  
  43.         ES = Work segment
  44.  
  45.         The Engine needs work space.  On entry, ES must point to a free
  46.         segment.  It will use the first 512 bytes of it PLUS length of
  47.         the code that will be encrypted.
  48.  
  49.         DS:DX => Code to encrypt
  50.  
  51.         On entry, just set DS:DX to point to the code you want to be
  52.         encrypted.
  53.  
  54.         CX = Length of code to encrypt
  55.  
  56.         On entry, just set CX to the length of the code you want to be
  57.         encrypted.
  58.  
  59.         BX = Offset where the decryption routine will be executed
  60.  
  61.         The Engine needs to know what will be the value of IP when the
  62.         decryption routine will take control.  For example, if your
  63.         program which want to be encrypted is a COM file, and adds itself
  64.         BEFORE it, you must set this value to 100h.
  65.  
  66.  
  67.         4.  Results
  68.  
  69.         The Engine returns the following values in registers:
  70.  
  71.         ES = Work segment
  72.  
  73.         The ES value is preserved.
  74.  
  75.         DS:DX => Decryption routine + encrypted code
  76.  
  77.         DS:DX now points to the decryption routine + encrypted code.
  78.  
  79.         CX = Length of the decryption routine + encrypted code
  80.  
  81.         CX now has the summary length of both the decryption routine and
  82.         encrypted code. (always origin length + 512 bytes)
  83.  
  84.         AX = 0
  85.  
  86.         AX now is set to 0.
  87.  
  88.  
  89.         5.  Final Notes
  90.  
  91.         Well, that's for now.  No time for more.  Look at the demo program
  92.         PME-GEN.ASM to learn how to use it.
  93.  
  94.         Pass the Engine (all files together in an archive) to programmers
  95.         and who want research it.
  96.  
  97.  
  98.         Greetings to all programmers
  99.  
  100.         Burglar
  101.  
  102.         Taipei, Taiwan.
  103.