除了一些 Ruby on Rails/Ruby 之外,几乎没有编程知识的人如何作为业余爱好者开始逆向工程之路,以帮助现代游戏机(如 Xbox Ones 和 PS4s)的开发过程?
我意识到没有简单的“做这个,然后那个”来学习一个非常多样化的主题的过程,比如倒车,但是有如此大量的教程,我不知道哪些教程真正符合我对游戏机的兴趣剥削!我真的很想为寻找这些漏洞的长期过程做出贡献,并在这些系统上运行未签名的代码
除了一些 Ruby on Rails/Ruby 之外,几乎没有编程知识的人如何作为业余爱好者开始逆向工程之路,以帮助现代游戏机(如 Xbox Ones 和 PS4s)的开发过程?
我意识到没有简单的“做这个,然后那个”来学习一个非常多样化的主题的过程,比如倒车,但是有如此大量的教程,我不知道哪些教程真正符合我对游戏机的兴趣剥削!我真的很想为寻找这些漏洞的长期过程做出贡献,并在这些系统上运行未签名的代码
为了能够对游戏机进行逆向工程,您在某种程度上不可避免地需要了解一些事情:
学习较低级别的语言,例如 C 或 C++。大多数(如果不是全部)控制台游戏,无论是现代的还是旧的,在大部分游戏中都使用这两种语言(又名,引擎)。这对我的下一点很重要,即:
了解游戏软件的架构。在内部,游戏彼此之间并没有太大区别。大多数游戏都需要通用的数据结构和算法,而这些需求反映在硬件上。学习工程师用来创建这些结构的工具 (C/C++) 并了解结构和算法本身,当您必须在黑客攻击过程中进行假设和猜测时,将会有很大帮助。
显然,您必须熟悉十六进制转储和汇编语言才能理解反转的控制台代码和 ROM。
编写控制台游戏,最好使用非官方 SDK。这也可以极大地提高您对硬件和平台的了解。了解您最喜欢的控制台的“自制”社区,并尝试使用可用工具编写一个简单的游戏。您将不得不解决许多特定于硬件的问题并进行大量猜测,因为文档通常很少见。您将在此过程中获得宝贵的知识。
为模拟器项目做出贡献。这也是获取硬件知识的好方法。我认为最好的方法是,因为您将尝试用一个软件来模拟硬件。