How can someone with little programming knowledge except for some Ruby on Rails/Ruby begin on a path of Reverse Engineering as a hobbyist to help the exploitation process of modern-day gaming consoles like Xbox Ones and PS4s?I realize there is no simple do this, then that spoon-fed process of learning an extremely diverse subject matter like reversing but there are such vast amounts of tutorials that I have no idea which ones really pertain to my interest of specifically game console exploitation! I really want to help contribute to the long-term process of finding these vulnerabilities and get unsigned code running on these systems
How to start learning reverse engineering to eventually help exploiting of modern consoles like Xbox One, PS4?
disassembly;obfuscation;exploit;embedded
Some things you will inevitably have to know at some degree to be able to reverse engineer Game Consoles:Learn a lower level language such as C or C++. Most, if not all, Console games, modern and old, use these two languages for the bulk of the game (AKA, the Engine). This is important for my next point, which is:Learn about the architecture of game software. Internally, games are not very different from one another. There are common data structures and algorithms that are needed by most games, and these needs reflect in the hardware. Learning the tools that engineers used to create these structures (C/C++) and knowing the structures and algorithms themselves, will help a lot when you have to make assumptions and guesses during the hacking process.You'll obviously have to get familiar with hexadecimal dumps and assembly languages to be able to make sense of reversed Console code and ROMs.Write a console game, preferably using an unofficial SDK. This is something that can also greatly improve your knowledge of the hardware and platform. Find out about the home brew community for your favorite Console and attempt to write a simple game using the available tools. You will have to solve a lot of hardware-specific problems and do a lot of guessing, since documentation is frequently rare. You'll gain valuable knowledge in the process.Contribute to an emulator project. This is also a great way of acquiring knowledge about the hardware. The best possible way, I'd argue, since you will be trying to mimic the hardware with a piece of software.