*** EVOL-1 - Polymorphic Encryption Module by MnemoniX - v1.00 1995 *** About: This module, when attached to any virus, will render the virus more difficult to scan for. This module is for experienced programmers only, and not for many of the clueless schmoes on the fringe of the virus world. The module will encrypt any code it is given with a unique key and create a self-decrypting module that contains this code. The decryption routine for this module will vary wildly from specimen to specimen. The module should generally work with any virus if used properly, but you may have to modify the virus to better accommodate for it. Version 1.00 of the module is 2051 bytes long. This module will probably not function properly on an 8088. In these days when the 8088 is considered only slightly above a slide rule in terms of technology, I do not deem this a grave problem. Usage: At the beginning of your virus, include the line: extern _EVOL:near Before calling module, set up registers with the following parameters: DS:SI - offset of code to encrypt ES:DI - address to store encrypted module (decryption module will be about 80-300 bytes long) CX - size of code DX - offset where code will be run from BL - special wildcard mutation function 0 - none 1 - wildcard mutation Then include the line: call _EVOL On return, CX will hold the size of the encrypted program, and DS:DX will point to it in memory. You should leave enough workspace in memory for your virus code, the EVOL-1 module code (2051 bytes), and at least 350 or so bytes for a decryption routine. Wildcard mutation: Wildcard mutation is a special feature I included in this module which allows for more variety in the code produced. When this function is on, EVOL-1 will sometimes produce random code which sometimes will do nothing, and other times could crash the program. This function can be powerful, and can make for even less scannable variants of the virus, but be aware if you turn it on that some of the code produced may be worthless. Wildcard mutation is turned on by making BL equal to 1 when EVOL-1 is called. Disclaimer: You used it, I didn't, and hence I, MnemoniX, the omnipotent omni- scient Virus God, the writer of this program, am not responsible for any damage that this program may do to you. Although I don't possibly see how it could do any on its own. Oh well ... just be warned. MnemoniX - 11/95