游戏主机是如何被逆向工程,以便创建模拟器的?

11

人们如何对像 Wii 这样的游戏主机进行逆向工程,以创建模拟器来运行他们的游戏可执行文件?


每个系统都是不同的,首先拆开看看有哪些芯片可以被识别。往往情况下,主处理器和其他芯片都是定制的,这意味着你可能无法获得文档。因此,转储ROM可能会有所帮助,或者观察总线以寻找未加密的内容。也可能需要观察其他接口,例如以太网/ WiFi,如果平台可以下载程序的话。 - old_timer
我想这是一场猫捉老鼠的游戏,一方越擅长保护平台,另一方就越擅长逆向工程。社交工程学可能也会起作用。Kevin Mitnick已经写了几本关于这个主题的书。 - old_timer
1
我不认为这是一个重复的问题,因为我正在询问如何对游戏主机进行反向工程,以便人们可以理解游戏可执行文件格式,从而创建模拟器。这与所谓的重复问题相反,后者询问它们是如何工作和编写的,其中不包括有关如何对控制台可执行文件进行反向工程的任何信息。 - liamzebedee
1个回答

12

就游戏机和类似的设备而言,它们通常基于行业标准处理器。游戏公司只是购买处理器并使用它,他们不会投入2亿美元来设计自己的CPU并试图与Motorola、Intel、Freescale等公司竞争。

这些同样的行业标准处理器经常有行业标准的调试端口,如JTAG/BDM/NEXUS等。游戏机制造商也必须对其自己的设备进行调试!这些端口经常用于反向工程,以了解游戏机在运行其操作系统时正在执行什么操作。这并不总是那么简单,因为你可能需要找到激活调试功能的方法,但这是一个概述。

至于模拟器本身,您需要模拟硬件架构和硬件本身。一旦您可以模拟这个过程,您就可以简单地“运行”游戏机的操作系统和游戏,它们不知道它们没有在真实硬件上运行。有许多技术来虚拟化硬件,使其运行足够快的代码,但这是一个完全不同的主题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接