How Important Is Knowing Assembly Language To Both A Hacker And A Security Researcher?

The term hacker has come to mean several different things in the security community.

It’s original meaning was one that tinkers with projects.

The newer meaning that has been adopted by the mainstream media is basically a computer criminal.

In this article I will be talking about both.

Anyone, be they criminal or just your average tinkerer, who likes to see how a program runs is considered a hacker.

Assembly Language Is A Necessity

It is important, that as a person who is interested in the inner workings of a computer, that they at the very least know the Assembly language.

When I use the term hacker in the rest of the article, I am talking about the criminal types, as well as the security researcher.

If you are a hacker that concentrates mainly on network exploits then this does not really concern you.

Even though knowing Assembly will help in that area of expertise as well, it is not as vital as someone who wants to reverse engineer or exploit a system.

A hacker that explores on the network level is usually more concerned with headers, tty, and router configurations.

They are less worried on how the software that runs that stuff is made.

If you want to become a person that is an expert in reverse engineering, it is vital that you learn Assembly language.

When you run an exe in a program such as Ollydbg or IDA Pro, the output that they give you will be in Assembly.

You may be able to follow the flow path of the execution of the program but to truly understand what the program is doing you are going to have to be able to read the Assembly output.

There are no shortcuts around this issue, to be able to truly understand the way that a program can exploit a system, you are going to have to understand that system on a lower level.

There is no way that you will be able to understand a buffer overflow if you can not understand how the program talks to hardware of the system.

It can even be argued that you should understand the next level, which is machine code.

That is not exactly necessary but it is helpful.

Teach Yourself Assembly Language

There are several ways that you can teach yourself the Assembly language.

There are free books and videos that are available online.

There are also plenty of web sites and groups that have a focus in teaching people Assembly language.

It is not as popular as the other higher level languages but the community is still vital in being able to understand our computers on the machine level.

Once you get started learning about the language, you will find that it is not very hard, just different than what you are used to.

Hopefully I have adequately described why Assembly language is important for both the hacker and the security researcher.

If you do not know the language then you are only doing half of your job.

About Lee Munson

Lee's non-technical background allows him to write about internet security in a clear way that is understandable to both IT professionals and people just like you who need simple answers to your security questions.


  1. […] You will be able to spot problems even when you are in a higher level domain such as the web.Black hat hackers like to learn Assembly language too because they are able to leave a smaller foot print size in their attacks. One of the smallest run […]

Speak Your Mind