如何对游戏机进行逆向工程以创建模拟器?
人们如何对 Wii 等控制台进行逆向工程,为他们的游戏可执行文件创建模拟器?
How do people reverse engineer consoles such as the Wii, to create emulators for their game executables?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
至于游戏机等,它们通常基于行业标准处理器。游戏公司只是购买处理器并使用它 - 他们不会投入 2 亿美元来设计自己的 CPU 并试图与摩托罗拉、英特尔、飞思卡尔等公司竞争。
这些相同的行业标准处理器通常具有行业标准调试端口、JTAG /BDM/NEXUS等游戏机制造商也必须调试自己的设备!这些经常用于对控制台在运行操作系统时正在执行的操作进行逆向工程。它并不总是那么简单,因为您可能必须找到激活调试功能的方法,但这只是一个总体概述。
对于模拟器本身,您需要模拟硬件架构和硬件本身。一旦您可以模拟这一点,您就可以简单地“运行”游戏机的操作系统和游戏,并且它们不知道它们没有在真实硬件上运行。有许多技术可以虚拟化硬件,使其运行代码足够快,但这是一个完全不同的主题。
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.