Programming Languages For Hacking: Every hacking beginner can have plenty of doubts like: “Which programming language should I learn for Hacking ?”, “How to become A professional Pentester / Hacker ?” etc.

Programming Languages For Hacking

When we talk about COMPUTERS then everything related to them depends on programming because, without SOFTWARE, any piece of HARDWARE is nothing but a collection of scrap. But with a beautiful stream of 1’s and 0’s which is also known as BINARY, it can almost literally be pumped full of life. Whatever we see and do on our mobiles and computers and every new gadget as well as applications these days were created by someone, somewhere who night after night tirelessly written the code to create something wonderful for the world.

The users often don’t fully comprehend exactly what goes on behind the scenes of any decent piece of software. For this reason, here’s a little reality check before we get to the main topic. A line of code (LoC) is a single average line in a program and usually contains around 40-50 characters.

  • The Unix 1.0 OS (1970) contained about 10,000 lines of code.
  • An average iOS or android app has approximately 50,000. That is 50,000 lines typed word by word by some coder, and we’re just getting started.
  • Photoshop CS6 clocks in at a freaky 5 million LoC.
  • Firefox browser is of around 10 million.
  • We’ve got Windows 7 at 40 million and guess what? Microsoft office is actually bigger than the parent OS itself (about 45 million LoC).

What’s The Point Of Notifying All This ??

Programming is not actually as we pictured above. we know it takes effort but not that much. The truth is, Lines of Code is a poor way to measure the difficulty of coding. It’s like measuring a person’s success by counting the number of words they’ve spoken, ridiculous and not really related.

The point to state all of the above is to prove wrong all of them who overstate and exaggerate the difficulty of learning how to program. It’s almost always pictured as something unbelievably boring, dry, dull and geeky. As we see in movies, we pictured a programmer as a nerdy guy with huge spectacles sitting in front of the computer tirelessly typing away while all that s/he accomplishes is something wonderful. Undoubtedly, the programming can only be done by someone who thoroughly enjoys it. It’s different for everyone which is why you should actually find out if the programming is for you or not, you need to try it out for yourself.

How Exactly The Programming & Hacker Is Related ??

Programming teaches you the logics and the way to think. It develops the problem-solving capability and most importantly, it is what differentiates you from the SCRIPT KIDDIES. If the hacks are carried out through the tools developed by others, then that person has no rights to be known as a “Hacker”. If you ever tried googling about hacking and gave up soon without finding an answer, you’re not alone. The main reason most hackers are not big on helping others is because they start getting bombarded by noobs asking them to hack FB/Whatsapp/Twitter accounts and explain something so basic and silly that they just give up and start ignoring them. Programming helps you understand how everything in your smarter idiot box comes together. It gives you better knowledge about how to identify and solve any problems by yourself. By knowing programming, you get a better understanding of how vulnerabilities and exploits work.

Most importantly a hacker can code their own tools, scripts, exploits, shell codes, entire applications and modify existing ones according to their own needs. In programming, Hackers can be expected to identify the problems and find the way through them with logical thinking.

Why Programming ??

The first question, many people will ask, is why should I learn any programming language when there are so many tools and Frameworks such as MSF (Metasploit framework) to do my job. All I need to know is how the tool works and what is the purpose of it. The Answer to the question is both yes and no. You can become a Pentester/Hacker without knowing any programming, however, you are not going to become a GOOD pentester/Hacker.

So Knowing Programming Will:

  • Differentiate you from Script Kiddies and Tool Lovers.
  • Help You in Understanding About Vulnerabilities.
  • Help You in writing Your own tools, scripts.
  • Help You in writing exploits, Shell codes etc.
  • Help You modifying Existing scripts, tools according to your needs.

Where To Start ??

All you have to do is to pick a Programming Language and dive in but the question is still there “Which one ?”. There’s simply no right or wrong answer to this question. But the truth is, you have to learn quite a few languages for hacking, preferably as many as possible. Even if you will not need to code in every language, but you should understand how to read it at least. No language is perfect as each one has its pros and cons. You can do the same thing in a million different ways with a dozen programming languages. The time spent analyzing these useless facts could better be spent actually learning something. There is nothing to gain from comparing languages. Actually, the difference between languages is almost like the difference between “Hello”, “Hi” and “Hey”. Although languages like HTML, SQL, Java are used for different things, it really doesn’t matter where you start since you should learn as many languages as you can.

So now that you have understood the importance of knowing programming, the next question in your mind is which programming language should I learn – the answer to this question depends on your interests and goals.

Programming Languages For Hacking:

1# For Web App / Pentesting / Hacking:

HTML: Hypertext Markup Language (HTML) is the basics for creating web pages and other information that can be displayed in a web browser. So if you don’t know HTML you should first learn it.

JavaScript: Learning JavaScript. It will help you to understand the basics of Cross Site Scripting.

PHP / SQL: The majority of web applications are written using PHP and MySQL. So it is a must to learn PHP.

2# For Writing/Understanding Exploits, Shell Codes, Rootkits etc:

C & C++: More than 60 % of the exploits you will find on the web are written in C & C ++. Learning C & C++ will help you to understand about Buffer overflows, Stack overflow etc – so learning C and C ++ is a must for every Hacker/Pentester.

Assembly: Learning assembly will help you in Writing/understanding Shell codes, it will also help you in Reverse Engineering applications and software’s.

3# For Building Tools And Scripts:

Python: Python is a very powerful high-level language, it’s easy to learn and code, most of the tools and scripts for automation are written in Python. Knowing Python socket programming will help you a lot in Exploit writing.

Ruby: Ruby is an another language which is used to write scripts, tools. Metasploit Framework is written in Ruby. Learning ruby will help you understand the in and outs of MSF.

Bash: Learning Bash is very useful in writing small scripts for automation.

So, we hope that we provided some useful knowledge about Programming Languages used for Hacking so that readers can begin their Hacking career with an ease. And if you like this article then don’t forget to share it with your friends and always feel free to drop a comment below if you have any query or feedback.

Hacker is a term used by some to mean “A Clever Programmer” and by others, especially those in popular media, to mean “Someone Who Tries To Break Into Computer Systems”. The term “Hacking” historically referred to constructive, clever technical work that was not necessarily related to computer systems. Today, however, hacking and hackers are most commonly associated with malicious programming attacks on the Internet and another network and that makes a perfect reason to know about the different Types Of Hacker.

Types Of Hacker

Let’s Understand The Different Types Of Hacker & Their Work Culture:

1# White Hat Hacker:

The term “White Hat Hacker” in Internet slang refers to an ethical computer Hacker, or a Computer Security Expert, who specializes in penetration testing and in other testing methodologies to ensure the security of an organization’s information systems. White Hats are the good guys who hack for security purposes. Although what they do is pretty much the same as bad guys, but a world of difference arises when it comes to ethics. The main aim of a White Hat Hacker is to improve the security of a system by finding security flaws and fixing it before the bad guys to find and exploit it. They are usually officially employed by organizations and companies to protect their virtual assets from coming to harm. They may work also individually to make the cyberspace more secure, kind of a voluntary worldwide community service.

2# Black Hat Hacker:

A Black Hat Hacker (Also known as Crackers or Dark-Side Hackers) are an individual with extensive computer knowledge whose purpose is to breach or bypass internet security. The general view is that, while hackers build things, crackers break things. They are the bad guys, cyber criminals who have malicious intents. These are the hackers who steal money or valuable data, infect systems with Viruses, Trojans, and Malware etc. These are the ones who gave the world of hacking a bad reputation and it is up to us, the White Hats to bring them down. They use their hacking skills for illegal purposes with unethical goals and sometimes just to watch the world burn.

3# Grey Hat Hacker:

The term “Grey Hat Hacker” in Internet slang, refers to a Computer Hacker or Computer Security Expert whose ethical standards fall somewhere between purely altruistic and purely malicious. The term began to be used in the late 1990s, derived from the concepts of “White Hat” and “Black Hat” Hackers. These are the hackers who may work offensively or defensively, depending on the situation. They belong to the neutral zone. These types of hackers are not inherently malicious with their intentions; they’re just looking to get something out of their discoveries for themselves. Usually, Grey Hat Hackers never exploit the found vulnerabilities. However, this type of hacking is still considered illegal because the hacker did not receive permission from the owner prior to attempting to attack the system.

4# Hacktivist:

Hacktivist (A portmanteau of Hack and Activist) is the subversive use of computers and computer networks to promote a political agenda. With roots in hacker culture and hacker ethics, its ends are often related to the free speech, human rights, or freedom of information movements. These are the hackers who use their hacking skills for protesting against injustice and attack a target system or websites to popularize a notion or gather attention to a specific case for rectification. They are vigilantes, the dark knights of the Hacking Universe. This is where good intentions collide with the law, for Hacktivists may or may not carry out illegal activities to get their point across to the world. They include outlaws who deliver their own brand of rough justice; they are usually experts confident in their stealth skills so as not to get caught.

5# Script Kiddies:

Script Kiddies (Also known as Skid/Skiddie/Script Bunny), In programming and hacking culture, a script kiddie is an unskilled individual who uses scripts or programs developed by others to attack computer systems and networks and deface websites. In a word, we can say them noobs. They are the ones who don’t know how a system works but are still able to exploit it with previously available tools, not by walking in the footsteps of actual Hackers but simply copying what they did and using it for malicious purposes. A script kiddie is that one annoying kid in class, who pisses off everyone else. So don’t ever try to be a Skid.

Hope we’ve provided the best explanations for the types of hackers. So, if you like this article then don’t forget to share it with your friends and always feel free to drop a comment below if you have any query or feedback.