开发者逆向工程将《星际争霸》移植到ARM平台

简介: 醒来吧,我的孩子们。拥抱你们与生俱来的荣耀。你们须知,我是你们的主宰,虫族永恒的意志。你们生来就是为我服务的。

醒来吧,我的孩子们。拥抱你们与生俱来的荣耀。你们须知,我是你们的主宰,虫族永恒的意志。你们生来就是为我服务的。

-- 《星际争霸》虫族隐藏音乐

image.png

OpenPandora团队的notaz通过反汇编技术将《星际争霸》移植到了ARM上。

“无源码、无移植”的原则并不是完全正确的。你可以通过静态重新编译技术得到和原程序类似的程序。M-HT之前就)经将DOS游戏 移植

到ARM平台上。

整个移植过程是这样的:

  • 使用IDA对《星际争霸》程序进行反汇编
  • 将反汇编的代码转化为C(使用了notaz自己开发的定制工具)
  • 链接了ARM版的winelib(ARM版的wine提供了Win32 API)

听起来这很容易?显然不是。notaz从去年秋天就开始了这一项目,原以为一个多月就可以搞定,结果到了新年还没弄好。有太多的意料之外的问题。也许“无源码、无移

植”的原则是正确的,Windows游戏应该通过虚拟技术运行,静态重新编译是可能的,但是实践起来问题太多了。

但是最终notaz还是完成了这个移植。他的成果,《星际争霸》的ARM版可以从这里下载。注意

,下载的文件不包括游戏的数据文件,你需要从原来的游戏中导出数据文件:

  • 在PC上安装游戏
  • 安装游戏的扩展包
  • 安装官方的1.16.1.1补丁
  • 从CD复制文件:
  • 对于StarCraft,从StarCraft CD复制INSTALL.EXE到你的StarCraft文件夹,然后重命名为StarCraft.mpq
  • 对于Brood War,从Brood War CD复制INSTALL.EXE到你的StarCraft文件夹,然后重命名为BroodWar.mpq
  • 尝试在PC上运行游戏(不插入光盘),确保可以正常运行。
  • 将整个游戏文件夹复制到SD卡的pandora/appdata文件夹内,命名为starcraft

相关文章
|
7月前
|
数据采集 监控 安全
精简高效与安全兼备:ARM32与MCU32平台上的信息协议设计新思路
精简高效与安全兼备:ARM32与MCU32平台上的信息协议设计新思路
274 1
|
7月前
|
缓存 Linux
ARM平台内存和cache对xenomai实时性的影响
ARM平台内存和cache对xenomai实时性的影响
157 0
ARM平台内存和cache对xenomai实时性的影响
|
7月前
|
JSON Ubuntu Linux
LuaJit交叉编译移植到ARM Linux
LuaJit交叉编译移植到ARM Linux
172 1
|
7月前
|
Linux 计算机视觉
Linux交叉编译opencv并移植ARM端
通过以上步骤,你可以在Linux上交叉编译OpenCV,并将生成的库文件和头文件移植到ARM平台上,从而在ARM上使用OpenCV。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
508 0
|
7月前
|
安全 Linux 数据安全/隐私保护
【SPI协议】了解ARM平台上的SPI的基本应用
【SPI协议】了解ARM平台上的SPI的基本应用
670 0
|
2天前
|
人工智能 芯片 Windows
ARM架构PC退货率与CEO策略透视
ARM架构PC退货率与CEO策略透视
|
1月前
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器架构有啥区别?X86计算、Arm、GPU异构、裸金属和高性能计算对比
阿里云ECS涵盖x86、ARM、GPU/FPGA/ASIC、弹性裸金属及高性能计算等多种架构。x86架构采用Intel/AMD处理器,适用于广泛企业级应用;ARM架构低功耗,适合容器与微服务;GPU/FPGA/ASIC专为AI、图形处理设计;弹性裸金属提供物理机性能;高性能计算则针对大规模并行计算优化。
|
2月前
|
编解码 弹性计算 应用服务中间件
阿里云服务器Arm计算架构解析:Arm计算架构云服务器租用收费标准价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中Arm计算架构以其低功耗、高效率的特点受到广泛关注。本文将深入解析阿里云Arm计算架构云服务器的技术特点、适用场景以及包年包月与按量付费的收费标准与最新活动价格情况,以供选择参考。
|
2月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器计算架构X86/ARM/GPU/FPGA/ASIC/裸金属/超级计算集群有啥区别?
阿里云服务器ECS提供了多种计算架构,包括X86、ARM、GPU/FPGA/ASIC、弹性裸金属服务器及超级计算集群。X86架构常见且通用,适合大多数应用场景;ARM架构具备低功耗优势,适用于长期运行环境;GPU/FPGA/ASIC则针对深度学习、科学计算、视频处理等高性能需求;弹性裸金属服务器与超级计算集群则分别提供物理机级别的性能和高速RDMA互联,满足高性能计算和大规模训练需求。
100 6