WHO SAYS? Where there's code there's a possible fire.
Right - hence my QBASIC "text" file scenario. If I wrote a batchfile
that fed that textfile to the QBASIC interpreter, then the batchfile
would be the trojan threat - not the "text" file itself. Sure, I
probably wouldn't want that textfile sitting around, but it is no more a
trojan than deltree.exe is when a deltree.bat trojan is found.
That assertion is highly suspect in this case.
All files could be a threat - most program files undergo stages of
translation before ending up as an executable image. Even a PE file is
an admixture of code, data, and program control data for the loader to
use in building the executable image. Up until the point where tha user
is taken out of the loop (the remaining points in the path to execution
of the program are automated) the program is not a threat. Once the
program is in a state where the next action taken by the user (invoking
the program) is the last action he need take - the program file is
usually termed "executable". Take a zipped (archive) file for instance -
it is not a threat, and there is no reason to scan it at this point; but
if Microsoft decided that users wanted to have double-click
functionality that automatically extracted files from an archive and
then automatically executed extracted program files named "install.exe"
or "setup.exe" then we would have to consider zipfiles as executables on
that system.
Your c:\null file still requires something more before it can become a
threat, and so should not be detected as a threat. A .doc file on the
other hand might be associated with Microsoft "Word" and the path to
execution of embedded macros is automated - so .doc files are
"executable" under this condition. Incidentally, it used to be the case
that OLE2 .doc files renamed to an extensionless filename (like NULL for
instance) would be recognized when invoked as OLE2 filetype and opened
in "Word" automatically running embedded macros. As long as the actual
file structure is not OLE2, then your file was not "executable" sans
extension.