Challenge 2 By Horny Toad The challenge for this time is to customize and personalize the code in tutorial 2. In the directory Cdbkutl included with this zine, you will find the file Toad2.asm. This file contains the listing for the COM Appending virus in the tutorial. What you need to do is modify it and make it your own. There are plenty of things that you can do to the code to personalize it. Use the code as a skeleton and build upon it. Below, I will list a number of things that you can do with the code. I am purposely not going to guide you through each step. I want you to try them yourself and be creative. The only way you are going to learn how to code virii is to actually do it yourself. 1. What are the other ways that you could check if a file has already been infected? You could put an ID byte within the code that the virus could check for. For example, after the jump is written to the beginning of the file, an ID byte could also be written. db 0e9h,0,0 ;the jump to the main virus body db `T' ;ID byte - T for Toad You would then have to read and compare (cmp) the fourth byte with `T' to see if the file has been previously infected. 2. Start thinking about anti-anti-virus techniques. When you go in and change aspects of the file, the date and time on the file changes to reflect this. How could you save the date and time of the file once you opened it, then restore them right before closing? Int 21 AX=5700 - Get file's date and time Int 21 AX=5701 - Set file's date and time Set file handle in BX. (Hint: If done write after the int21/AH=3dh, file handle will be in AX) The returned values in CX will be the time and DX will hold the date. (Hint: Store them in the data area and restore them just before close) mov word ptr [bp+time],cx ;example of saving file time with ;5700 mov cx,word ptr [bp+time] ;example of restoring file time ;with 5701 3. Include a signature in the code to personalize it. For example: credits db `Toad2 written by Horny Toad',0 Or something that leaves your mark. Just try to play around with it. Giving you specific ways to customize a virus doesn't make it unique. Use your imagination. Make mistakes, at this level of virus writing, mistakes are usually very easy to correct. Good luck!