|| I see. That *is* weird. The DOS host is running it
|| as DOS, even though EXE is a 32-bit file extension
|| and the file is not a valid EXE file. On the other hand,
|| that's really not any different from naming the file
|| with .BAT. It's still a case of interpreted text, basically
|| script.
||
|
| It not Running in Dos
| But windows
| It is Calling up a
| Dos software
| With in the EXE
Windows (Explorer) is starting with the file because
it's an EXE. When Explorer doesn't find a valid Win32
PE file it then calls ntvdm (NT DOS Virtual Machine)
which then interprets the internal text as DOS. That
seems like a security bug to me, but I suppose in
Microsoft's view it's a historical standard that they need
to support for the rare people who might need to run
DOS files within Windows.
| That why No website stuff is 100% safe.
I don't mean to split hairs here. A BAT, VBS, or EXE
work differently, but all can execute in some sense.
Nevertheless, I'm trying to clarify it because I think it's
worthwhile for people to have some understanding of
how executable code can work. If you understand that
you can assess the safety of online activities. HTML is
plain text interpreted by a browser as graphic layout
directions. It is not executed. The same is true of CSS.
I'm not aware of any case where executable code was
able to run on the client system by exploiting HTML or
CSS. (There are cases of bad HTML that can crash a
browser, but that's not an attack. It's just a browser bug.)
Nearly all online risks involve
javascript *because the browser interprets script as
executable*. Online risks that don't involve script generally
involve an EXE, like one of Adobe's files. Even then, the
problem seems to usually boil down to Adobe using script.
Another problem, in IE, is ActiveX controls. But those,
again, are executables.
There was a vulnerability several years ago in a graphics
library that allowed an attack in IE by using a JPG file, but
that kind of thing is very rare.
https://technet.microsoft.com/library/security/ms04-028
What I'm trying to clarify is that text alone is not executable.
Bytes are bytes. How they are treated determines what the
result is. There is no text that can be opened in Notepad to
execute anything, because the bytes are interpreted as text
characters. Executable text (script) is risky only because it's
interpreted by some kind of host which then executes operations.
(You can open the nastiest javascript bug or BAT file in Notepad
without risk.)
All the examples we're talking about here of executable
text are cases where the text is Windows-supported code
in a file type that marks it as executable, or run as webpage
code by a browser.
So, if a webpage opens as text it's safe in that form, because
the browser is interpreting the bytes as text characters.
If you disable script and don't install plugins, Java, etc then you
may not have a 100% guarantee of safety online, but it will be
pretty close to 100%. If you do enable script you're a sitting duck.
At every site you visit you're assuming that 1) the host is honest
and not malicious and 2) the host site has not been compromised
by an outside entity. The difference boils down to executable code
being run through or by the browser.