(06-02-2014, 09:07 PM)thewalker Wrote: Yes Yes but in the subject of hacking I like to suit with C++. If anyone has an alternative language that they think is better for hacking i would love to hear it.:Thumbs-Up:
C is widely considered the lingua franca of hacking.
Granted everyone has their personal favorite language but globally C is your base language for hacking related stuff. There are a a few reasons for this.
One being the utter simplicity of the language syntax itself. It doesn't do much magic and doesn't hide the low-level details.
Two, it compiles cleanly(ignoring optimizations). That is to say there is no name mangling in compilers C code as there is in C++. Not a big deal but it does matter when learning reverse engineering.
Three, writing shellcode. You often want shellcode to be as simple as possible you can write in pure assembly or you can write in C which is simple enough that the compiled code will be readily translatable to shellcode. With C++ this isn't the case; it might be in some cases but if you take advantage of any C++ niceties not found in C it will likely take more work to get down to small shellcode.
Four, it forces you to learn about memory. In binary exploitation(think exploiting browsers, exploiting network services, you know the stuff that gets you root...not just c99 shell on a webserver) understanding memory is absolutely essential. As what you're doing in that stuff is overwriting parts of memory in order to control the program flow. Working in a language that hides memory management puts you at a disadvantage.
So basically C has for quite some time been the main language of hacking. That does mean other languages are not used but ultimately everyone who does the real work ends up learning C. We have our preferences for scripting(perl, ruby, python being the main camps) but the unifying language is C.