“Hacking” is essentially effective and insightful tinkering. All great hackers in history have been insatiability curious about how things work.
They poke and prod and test and experiment, and every now and then, they find something interesting. Unexpected behavior, hidden code, useful bugs, etc.
Exploiting software vulnerabilities is only a small segment of hacking. Figuring out how to hook up a Raspberry Pi to your thermostat to control it remotely is hacking. Splicing a custom microcontroller into your old keyboard to give it all sorts of extra functions is hacking. Flashing a custom BIOS onto your GPU to unlock special overclocking features is hacking.
If you want to be great at “hacking” including software exploits, you need to understand computers at a deep level. You need to study electronics, logic, low level programming like Assembly and C, networking, circuits, operating systems and kernels, compilers, parsers, abstraction layers, encryption, and more.
The more concepts you learn and understand, the more interesting insights you will get from poking around, and the better you’ll get at using and developing tools to do even more advanced and interesting things.
There is no fast track, you have to take it slow and steady. Know what a computer is. Not the physical object, the abstract concept of a computer, a Von Neumann architecture, a Turing machine, what it means to be Turing complete, what is “code” and how does a static collection of tiny gates run it? The more stuff you skip, the worse you’ll be. But if all you want is the aesthetic of a “hacker” then just install Kali Linux, open the terminal and run tmux with a few panes, start btop, cmatrix, and neofetch in them. Put on a hoodie. Dim your lights and hunch over the keyboard for maximum effect.
@[email protected] exactly this is the vision of the Digital Curiosity Club that I wish to form for the kids. I would be tinkering myself, and explore all these concepts with the kids.
“Hacking” is essentially effective and insightful tinkering. All great hackers in history have been insatiability curious about how things work.
They poke and prod and test and experiment, and every now and then, they find something interesting. Unexpected behavior, hidden code, useful bugs, etc.
Exploiting software vulnerabilities is only a small segment of hacking. Figuring out how to hook up a Raspberry Pi to your thermostat to control it remotely is hacking. Splicing a custom microcontroller into your old keyboard to give it all sorts of extra functions is hacking. Flashing a custom BIOS onto your GPU to unlock special overclocking features is hacking.
If you want to be great at “hacking” including software exploits, you need to understand computers at a deep level. You need to study electronics, logic, low level programming like Assembly and C, networking, circuits, operating systems and kernels, compilers, parsers, abstraction layers, encryption, and more.
The more concepts you learn and understand, the more interesting insights you will get from poking around, and the better you’ll get at using and developing tools to do even more advanced and interesting things.
There is no fast track, you have to take it slow and steady. Know what a computer is. Not the physical object, the abstract concept of a computer, a Von Neumann architecture, a Turing machine, what it means to be Turing complete, what is “code” and how does a static collection of tiny gates run it? The more stuff you skip, the worse you’ll be. But if all you want is the aesthetic of a “hacker” then just install Kali Linux, open the terminal and run tmux with a few panes, start btop, cmatrix, and neofetch in them. Put on a hoodie. Dim your lights and hunch over the keyboard for maximum effect.
@[email protected] exactly this is the vision of the Digital Curiosity Club that I wish to form for the kids. I would be tinkering myself, and explore all these concepts with the kids.