Well, there are different areas of hacking. You can get away with general knowledge but if you want to do anything noteworthy you have to specialize. That said, some of these areas are:
1.) Application hacking. Where you are dealing with the analysis of data structures in memory, injecting dependencies into running processes, and learning about the program stack in general and using debuggers like gdb or some frontend based on it, or IDA, or ollygdb.
Stack based buffer overflows fall into this category.https://www.youtube.com/watch?v=xSQxaie_h1o
Based Mickens on OCW, you know him from his fucking hilarious usenix publications.
2.) Web hacking. Where you are reverse engineering web protocols mostly. I'm not that well read on this aside for your usual SQLi, XSS, RFI and all that bullshit people talk about on forums that doesn't really work anymore unless you are crawling google for abandoned and vulnerable sites.
3.) Hardware hacking.
Soldering, desoldering, looking up datasheets, jtagging (no not the fucking xbox kind), and fucking with complicated shit by building less complicated shit that leverages it via a design flaw.
Many more I guess but fuck you none come to mind. People hacking maybe.>>62994886
I guess now is the appropriate time to say...
Start with the geeks.
Also, anybody saying assembly or C is a meme is a retarded nigger. They are absolutely essential.