How are game consoles reverse engineered so emulators are created?
Asked Answered
T

1

11

How do people reverse engineer consoles such as the Wii, to create emulators for their game executables?

Tonsorial answered 19/11, 2011 at 22:40 Comment(3)
Each system is different, first take the thing apart see what chips if any can be recognized. All too often the main processor and other chips are custom to the platform, meaning you are likely not going to get documentation. So dumping roms may help or watching busses looking for something not encrypted. It could also be a matter of watching other interfaces, say ethernet/wifi for example if the platform can download programs.Precious
I would imagine it is a cat and mouse game, the better one side gets at protecting the platform the better the other side gets at reverse engineering. Social engineering would probably work as well. Kevin Mitnick has written a book or few on the topic.Precious
I don't believe this is a duplicate, as I am asking how the consoles reverse engineered, so people can understand the game executable format, and therefore create an emulator. This is as opposed to the supposed duplicate, which is asking how they work and are written, which doesn't include any information on how the console executable's are reverse engineered.Tonsorial
A
12

As for the game consoles and such they are normally based off industry standard processors. The game company just buys the processor and uses it - they don't pump $200,000,000 into designing their own CPU and trying to compete with the likes of Motorola, Intel, Freescale etc.

These same industry standard processors frequently have industry standard debug ports, JTAG/BDM/NEXUS etc. The game console manufacturer has to debug their own device too! Those are frequently used to reverse engineer what the console is doing as it runs its operating system. It isn't always that simple since you may have to find ways to activate the debug features but this is a general overview.

For the emulator itself you need to emulate the hardware architecture and hardware itself. Once you can simulate this you can simply "run" the game console's operating system and games and they have no idea that they're not running on real hardware. There are many techniques to virtualize the hardware so it runs the code fast enough but that's a completely different topic.

Ackerley answered 4/2, 2012 at 23:26 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.