0

I would like a recommendation for programming languages which will be valuable when dealing with malware. I learn to code on C not on expert level(thanks god I didn't). But C doesn't seems so popular anymore the only new malware(from 2000 year till now) I can name is stuxnet. So what will be the most valuable language when dealing with malware(analyzing, writing etc..). I think this will be C++ because there are so many malwares written in C++ for example Zeus, Spyeye the list is endless probably all botnets and other Trojans are written in C++ those days. Also I want to mention that Assembly isn't counting Assembly is a must for me.

2
  • 2
    Malware is written in a variety of languages. If you want a broad experience, study them all to some extent or focus on the malware you are interested in.
    – schroeder
    Commented Jun 17, 2014 at 17:29
  • Well yeah but most of them are written in C++, any other language? This is my question in short.
    – user49508
    Commented Jun 17, 2014 at 20:11

1 Answer 1

2

To be working with malware, especially reverse engineering, then you must be good at programming, especially low-level programming. There is only one way to be really good at programming: learn many languages. This helps a lot finding out what really is at the core of the concept of programming, and what is purely a matter of syntax.

You know that you master a language if you are able to, at least conceptually, write an interpreter or compiler for that language. If you want to analyze malware which has been written in C, then you must know how a piece of C code gets translated to assembly.

So don't ask on what language you should concentrate; you should be learning all of them. Or at least a decent selection. I suggest assembly (for at least two platforms, e.g. x86 and ARM), C, C++, Java or C#, with a bit of Forth, and some Lisp dialect (Scheme would be best here). For a start.

3
  • Thank you, grate answer. Just to say, I was thinking the same but wasn't completely sure. At the moment I'm learning Java to get OOP concepts.
    – user49508
    Commented Jun 17, 2014 at 20:58
  • Have you ever encountered Scheme malware or compiled Forth code in the wild? I would recommend focusing on common high-level languages first (HTML, CSS, perl/php, Javascript) and then common low-level languages (C/C++) ... going to byte-compiled languages (Java, C#) if you have time. Commented Jun 18, 2014 at 1:12
  • I stared with Python before a few months, but thank you for your advice.
    – user49508
    Commented Jun 18, 2014 at 4:57

You must log in to answer this question.

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