Reverse Engineering: Learn to Code by Breaking Code

Reverse Engineering is the process of learning the mechanical or technological principles of a device, object, or system through analysis of its structure, function and operation. Basically, it’s figuring out how stuff works by taking them apart, a concept that can also be applied to coding with great results, as Treehouse points out. Do you remember yourself as a kid, unscrewing the lid of that old clock and pulling out its springs and cogs before you try and figure out how to fit them back in and see if you can make it tick again? Well that same idea applied to coding, can prove to be a very helpful tool to understanding how sophisticated codes work: just pull stuff out and figure out what they do by seeing what doesn’t work anymore. Obviously, taking a hammer to you favorite website won’t do the trick, as you can’t just wreck everything recklessly. To reverse engineer a piece of code, you need to approach it in a cool-headed and methodical way: taking away one part at a time and paying attention to its effects is crucial in implementing this learning technique. Deleting one line at a time to see how necessary its functions are to what you’re trying to achieve, is a good starting point, and then a good second step is to go back and change variables and function arguments to see if you can get them to do what you have in mind. Checking out how the sequence of operations works can also be useful: try moving various lines around and check to see whether things can be done in another order. Of course, breaking code can only do so much: A certain degree of familiarity with coding is necessary just to know where you should start from and what to take apart. But if you have a general view of how a coding language works, this approach can really help you dive into its mechanics and figure them out hands-on.

Add new comment