Hi All,
I don't post much here, but I will finally be getting some free time in the coming months and I wanted to query the general public and see if there would be any interest in tutorials and examples of reverse engineering various game console ROMs. I would like to focus on consoles that I am relatively familiar with in order to guarantee a quality series of write ups!
What do I mean when I say reverse engineering?
Gaining the ability to look as ASM code and relating that code to what is going on in the game
Using various reverse engineering tools to better understand the internals of how various games work
Learning to hack / modify your favorite games from various consoles.
What are some of the skills that I plan on covering?
Basic computer systems architecture and design
Programming basic and essential knowledge to be able to reverse engineer existing code
Introduction to various programming and reverse engineering tools in a linux based environment
What do I expect from users?
Willingness to learn
Understanding that I will not be able to give constant updates at first while I am still in grad school.
My vision for this is that I provide instructions to build a VM (Virtual Machine) that will give the users access to the tools that we will be using throughout our research and learning together. From there we will start with the following write ups!
Building Our Environment - Tools, setup, and overview Basic Computer Architecture and Systems Design - A Ground Up Introduction to Computer Systems Busses / Protocols and Communications - An Overview of Typical System Components and How They Interact What makes Code "Code" - A Brief Introduction to Computer Science and Programming (Compilers, Assemblers, Linkers, etc all at a very high level) Interrupts / System Calls / Low Level Goodness - An Introduction to How Code Makes Use of the Underlying Hardware Our First Console Overview - A Hardware Rundown of Whatever Console is Chosen by the Students What is Reverse Engineering? - An Overview of Our Goals and Plans Involving What We've Learned So Far Reversing Our First Rom - We Will Modify A ROM From a Console Picked By The Students
If you are interested, please response with one of the following consoles that you would like to see the series of writeups based on:
Sega Genesis
Atari 2600
Game Boy Advance (My personal favorite)
Game Boy
Nintendo NES
Nintendo 64
Thanks!