Programming is essential for hacking because a hacker is someone who breaks a protocol or application security which is programmed in a certain programming language and to hack an application a hacker needs to understand the logic of that app, find a flaw and the exploit it. So a hacker must learn a couple of programming languages to complete his task.
Programming languages for Web Hacking and Pentesting
If you’re interested in web hacking and pentesting, then you must learn below-mentioned languages at-least basic and intermediate level
• HTML
• JavaScript
• SQL (most important)
• PHP
• Perl
Programming Languages for writing Exploits
Exploit writing is an advance part of Hacking, It requires a higher level of programming language. Every professional hacker must know Exploit Writing, It can be done in any programming language like C, C++, Ruby, Python, etc
• c/c++
• python (most important)
• ruby
• java
Programming languages for Reverse Engineering
Reverse engineering, also called back engineering, is the processes of extracting knowledge or design information from anything man-made and reproducing it or reproducing anything based on the extracted information. Reverse engineering is also beneficial in crime prevention, where suspected malware is reverse engineered to understand what it does, and how to detect and remove it, and to allow computers and devices to work together. Reverse engineering can also be used to “crack” software and media to remove their copy protection.
• Assembly language
Finally one more thing, programming languages for hacking also depends upon what program you want to hack, for example; if a web-app in coded in ASP.NET then you can’t hack it using PHP knowledge, although you can understand logic it will be harder, so always make sure what you wanna hack and in which programming the app is coded.