Talk:EICAR test file
|WikiProject Computer Security / Computing||(Rated Stub-class, Low-importance)|
|WikiProject Computing / Software||(Rated Stub-class, Low-importance)|
Potential Copyright Problem?
I am wondering whether it is actually ok to include the file itself here? isn't it copyrighted by eicar or whoever created it? or is too short to be copyrightable at all? i would be very happy if anyone could shed some light on this...User:RobertLemmen —Preceding unsigned comment added by 220.127.116.11 (talk) 20:03, 19 March 2010 (UTC)
- "You are encouraged to make use of the EICAR test file" according to EICAR's page about the test file. Or are you referring to WMF policy that is intentionally stricter than copyright, like the concept of a "not free enough" license on Commons? --Damian Yerrick (talk | stalk) 14:13, 31 October 2011 (UTC)
Confirmed successes and failures
Please give the date (preferably in a signature) and nature of the scan (i.e. plaintext, encrypted, hdd, email, ...). Be sure to fully update your software so that your signed date is accurate.
- Doesn't this violate Wikipedia's policy on No Original Research? --DragonHawk 20:39, 1 July 2006 (UTC)
- Yes, but not badly, and at least the results are verifiable. Btw, "McAfee Total Protection for Small Businesses" obliterated the thing without giving me a chance to tell it not to. Stevage 13:48, 9 August 2006 (UTC)
- NOD32 string saved as a plaintext or .com file. -- malo (tlk) (cntrbtns) 03:53, 28 June 2006 (UTC)
- ClamWin 0.88.2.3 recognizes all four test files downloadable at  18.104.22.168 18:08, 28 June 2006 (UTC)
- AntiVir version 7, when saved as a .com file -- malo (tlk) (cntrbtns) 20:26, 28 June 2006 (UTC)
- Avast! 4.7, only .com file during an active scan. -- malo (tlk) (cntrbtns) 20:26, 28 June 2006 (UTC)
- BitDefender version 8, plaintext and .com files -- malo (tlk) (cntrbtns) 20:26, 28 June 2006 (UTC)
- AVG Free Anti-Virus version 9, plaintext, .com and in a .zip file 22.214.171.124 (talk) 19:14, 3 June 2010 (UTC)
- Kaspersky Internet Security 6, real-time scan: -- grawity 14:12, 9 September 2007 (UTC)
- all four files at "High" level
- all four at "Recommended"+"Scan archives"
- plaintext and COM at "Recommended"
- none at "Low" level.
- Microsoft Security Essentials recognizes all four test files at  with real-time scan -- crazyburns 16:56, 1 October 2010 (UTC)
- Grisoft AVG Anti-Virus doesn't appear to recognize the string, even in plaintext. 126.96.36.199 03:02, 28 June 2006 (UTC)
- ClamWin 0.88.2.3 doesn't appear to recognize the string when copy/pasted into a text editor (used UltraEdit). 188.8.131.52 17:55, 28 June 2006 (UTC)
- AntiVir version 7, when saved as a plaintext file -- malo (tlk) (cntrbtns) 20:26, 28 June 2006 (UTC)
- Avast! 4.7, plaintext completely unrecognized. -- malo (tlk) (cntrbtns) 20:26, 28 June 2006 (UTC)
Why do they detect it?
The one thing this article doesn't tell me is *why* AV programs pick it up. Are they specially taught to recognise this string, or is there something inherently "virus-like" in the file? When you think about it, since the file *is* benign, there's no particular reason they should do anything about it. It's like calling the fire brigade to tell them you're about to set off the fire alarm, then complaining when they don't show up. Stevage 13:48, 9 August 2006 (UTC)
- It's more like holding fire drills, or testing your smoke alarm -- without starting a fire. Detecting the file means that your virus scanner is probably working properly. Furthermore, there's the possibility of testing your virus scanner's capability to detect viruses in compressed files, for example, without having to get an actual virus and then get your virus scanner to check it. You may want to use the Wikipedia:Reference desk for questions like this in future. Dysprosia 07:21, 10 August 2006 (UTC)
- Reference desk? No, the article should explain more about how it works. heqs 14:33, 23 October 2006 (UTC)
- The above guy has a point. If he still had to ask questions about basic information then this article needs expanding. The Kinslayer 12:26, 10 January 2007 (UTC)
- No, there is nothing *inherently* 'virus-like' about these files - nor is there about real viruses; this is why virus scanners must constantly update to keep up with new viruses. Virus scanners work, essentially, by matching patterns of bytes found in files on the user's machine with patterns of bytes found in their database of *known* viruses. When new viruses are found, new patterns are added to the database and this is pushed out as an automatic update to the virus scanning software. This file is detected as a virus (even though it isn't) because the virus software vendors have added its pattern to their database.184.108.40.206 (talk) 11:35, 9 November 2011 (UTC)
It makes use of self-modifying code
- It makes use of self-modifying code to work around technical issues that this constraint makes on the execution of the test string.
What does this sentance mean? Regards, Ben Aveling 05:17, 28 November 2006 (UTC)
I have restored this sentence, because it was very significative to my understanding of the EICAR file itself.
The executable code should end with two assembly language instructions: INT 0x21, INT 0x20, which respectively means "print that string" and "end". However, the instruction code for INT is 0xCD, which is not an ASCII character available from keyboard (though it is printable).
The actual file ends with the four-byte instruction pair DEC AX; SUB CX,[BX+SI+2A], which is responsible for the H+H* substring.
The EICAR file overwrites these last four bytes, in order to get the 0x21, 0x20 sequence. Most of the previous code (before the string offset) is only purposed for modifying this bytes (and passing the parameters to INT 21h).
Initial condition: AX=0 (I don't know why... it seems to be a precondition)
CS:0101 354F21 XOR AX,214F //AX=214F CS:0104 50 PUSH AX CS:0105 254041 AND AX,4140 //AX=0140 CS:0108 50 PUSH AX CS:0109 5B POP BX //BX<-AX
Now we have BX=0140
CS:010A 345C XOR AL,5C CS:010C 50 PUSH AX CS:010D 5A POP DX CS:010E 58 POP AX CS:010F 353428 XOR AX,2834 CS:0112 50 PUSH AX CS:0113 5E POP SI
At this point we have SI = 097B (the code is weird because the keyboard-ASCII requirement).
CS:0114 2937 SUB [BX],SI
word ptr [BX] contains 2B48, hence 2B48-097B = 21CD (note the bytes are reverted within the word).
CS:0116 43 INC BX CS:0117 43 INC BX CS:0118 2937 SUB [BX],SI
Increment BX by 2, and repeat the trick. Now word ptr [BX] contains 2A48, hence 2B48-097B = 20CD.
CS:011A 7D24 JGE 0140
This condition always evaluates true. The string EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$ is stored in CS:011B through CS:0139.
CS:0140 CD21 INT 21 CS:0142 CD20 INT 20