人们如何对像 Wii 这样的游戏主机进行逆向工程,以创建模拟器来运行他们的游戏可执行文件?
人们如何对像 Wii 这样的游戏主机进行逆向工程,以创建模拟器来运行他们的游戏可执行文件?
就游戏机和类似的设备而言,它们通常基于行业标准处理器。游戏公司只是购买处理器并使用它,他们不会投入2亿美元来设计自己的CPU并试图与Motorola、Intel、Freescale等公司竞争。
这些同样的行业标准处理器经常有行业标准的调试端口,如JTAG/BDM/NEXUS等。游戏机制造商也必须对其自己的设备进行调试!这些端口经常用于反向工程,以了解游戏机在运行其操作系统时正在执行什么操作。这并不总是那么简单,因为你可能需要找到激活调试功能的方法,但这是一个概述。
至于模拟器本身,您需要模拟硬件架构和硬件本身。一旦您可以模拟这个过程,您就可以简单地“运行”游戏机的操作系统和游戏,它们不知道它们没有在真实硬件上运行。有许多技术来虚拟化硬件,使其运行足够快的代码,但这是一个完全不同的主题。