Mac OS X and Linux are both fairly virus-proof due to the way permissions work and the general architecture of the operating system. 95% of all viruses target Windows users.

Executable file (. EXE, . BAT, . COM etc. ) - This program needs to be run by the user, and is often disguised as something else (such as an image). Macro (Microsoft Office) - Macros are programs that are embedded into a document or email. They target Word, Outlook, and other macro-enabled products. The most common method of delivery is via email with an infected document attached. Web script - These are pieces of malicious code that are injected into sites without the webmasters’ knowledge.

If you’re interested in making executable viruses, C or C++ is a good place to start. If you want to make macro viruses, learn the macro language for your target programs such as Microsoft Office. Visual Basic can be used to create malicious programs for Windows users.

Research polymorphic code. This will alter the code of your virus every time it replicates, making it difficult to track with antivirus programs. Polymorphic code is fairly advanced, and is implemented differently in every language.

Make sure that you keep your tests contained so that you don’t accidentally release your virus before you are ready. Put the test machines on an isolated network and see the effects of the virus spreading. Adjust your virus’s code as you observe it working on the test machines. Fix any issues that it runs into