Is it possible for malware to be written in a low-level language such as C or C++ and do the following:

  1. Infect a single operating system (such as Windows)
  2. Detect other machines on the same network
  3. Determine other machines operating systems
  4. If the operating system is the same (Windows) attempt a similar attack
  5. If the operating system is different (OSX or Linux) use quine or download a small attack module to attack the different operating system

TL;DR: Can a C or C++ virus attack multiple operating systems?

Here is a recent article of what I am talking about: http://thehackernews.com/2016/09/cross-platform-malware.html

  • 3
    There is no reason why this should not be possible, i.e. there is malware out there which can spread within a windows environment, there is malware which can download components to infect more (and also other OS) and of course you can write malware also in C/C++ as you can do in various other languages. Nov 22, 2015 at 6:39
  • 1
    Sure, this is how worms spread themself.
    – user6090
    Nov 22, 2015 at 9:41
  • Have you done any research? I'm seeing lots of hits when I Google variations of your question.
    – schroeder
    Nov 22, 2015 at 17:51
  • @schroeder I asked this question because it has not been asked on this StackExchange site. It is nice to see other's opinions and answers. Nov 22, 2015 at 19:57
  • 2
    @JaredBurrows the expectation is that you have done some research before asking questions. If you have, it is helpful that you cite your research in your question so that the members of the community don't end up repeating someone else or pointing you to sources that you have already mined.
    – schroeder
    Nov 23, 2015 at 0:52

2 Answers 2


Short answer: certainly. Remember that once your system is compromised (step 1 in your question), and attacker can perform downloads and run ARBITRARY code. A common approach is "fingerprint and drop", wherein the malware determines the characteristics of your system, and downloads appropriate payloads to execute the attack.

An example of a worm which runs on Windows but is designed to attack another system would be Stuxnet.

An example of malware which fingerprints and drops would be any exploit kit (for example, Angler) that uses drive by downloads.

  • 1
    It may be a interesting answer if the same "executable" can do the same, without the need to upload different parts of code Apr 29, 2016 at 8:04

I recently reviewed a student's homework assignment that was written in Python, that:

  • Creates a new temporary directory/folder
  • Does some stuff in that folder
  • Moves the output file to the parent directory/folder
  • Deletes the temporary folder

Well at least thats what he thought it did. It actually deletes whatever the current directory is, including the output file.

I gave him an 8/10. -5 points for accidentally deleting the current directory and not having suitable tests. +3 for making it cross-system compatible.

EDIT: Oh, i didn't see the bit about the malware having to be C and C++. Since Python is compiled at runtime, I think the answer still stands though. It's an irrelevant distinction regardless. The Python/Java could have downloaded whatever pre-compiled binary it needed for whatever system it was on, and run that, if the malware really had to be C. Else it could have been a polyglot of Python/C that compiled itself.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .