How To Hack All The Things
Written by M42D on 13 Jan 2020
A question I often hear is “how do you hack things?” As there are a lot of “things” and hacking is a broad understanding. So this is not a question that can be swiftly answered. But in this article i will attempt to explain the process that will cover most or even all forms of hacking while not going into any technical details so the average Joe can understand it as well.
Hacking in a nutshell
Hacking is learning how a “thing” works and using your newly gained knowledge to make the “thing” operate in a way that was not intended by the designers.
Do your research
First you need to learn as much as possible about the “thing” you are trying to hack. Because to change the way the “thing” does its thing you will need to know how the “thing” does its thing.
RTFM
The “thing’s” documentation this is often a good place to start, or if it’s open-source the source is a nice place to learn a lot about how the “thing” does its thing. Don’t worry if no documentation or source is available for the “thing”, there are more ways to research how the “thing” makes things happen.
Reverse engineering.
If you have access to the “thing” you are trying to hack, you can resort to reverse engineering to learn how the “thing” does its thing. Reverse engineering is the art of picking a “thing” apart to see what makes the “thing” tick, this requires an understanding of the underlying technology the “thing” relies upon. If you do not possess this you might want to hit the books or internets. For a lot of things there are some nice tools available to aid you in reverse engineering.
Black-box testing.
In case of no source, documentation and even access to the “thing” you are trying to hack is available you will have to resort to black box testing. Blackbox testing is a term to describe fiddling around with different inputs and checking what comes out to get a better understanding of how the “thing” might be doing its thing.
Get organized
The next step is to list what you can control. Find out what influence it has on the workings of the “thing”, what restrictions there are, how it’s processed, what influence it has over things you can’t directly control. Especially focus on any side effects that might have been unknown or overlooked by the developer. In a black box situation the side effects can provide you with new insight on the workings.
Hack the “thing”
After you’ve got an understanding of how the “thing” works and you’ve indexed what you can control, it’s time to make a roadmap of what needs to happen to make the “thing” do something that was not intended.
Just do it
Don’t give up
During this process you often find out that things are not working as you thought they were and you go back to probing and researching and testing your hypotheses. Don’t get discouraged because you’re constantly failing; this is the process. If you do it right you will find yourself digging through all kinds of documentation, focusing on the littlest things that make up or influences the “thing”. You will gain more knowledge over the workings of the “thing” and each time you will come a little step closer to hack the “thing”.
TLDR;
- Research.
- Test.
- Repeat until result.