开发者逆向工程将《星际争霸》移植到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

相关文章
|
6月前
|
数据采集 监控 安全
精简高效与安全兼备:ARM32与MCU32平台上的信息协议设计新思路
精简高效与安全兼备:ARM32与MCU32平台上的信息协议设计新思路
269 1
|
6月前
|
存储 人工智能 达摩院
FunASR 语音大模型在 Arm Neoverse 平台上的优化实践
Arm 架构的服务器通常具备低功耗的特性,能带来更优异的能效比。相比于传统的 x86 架构服务器,Arm 服务器在相同功耗下能够提供更高的性能。这对于大模型推理任务来说尤为重要,因为大模型通常需要大量的计算资源,而能效比高的 Arm 架构服务器可以提供更好的性能和效率。
|
6月前
|
缓存 Linux
ARM平台内存和cache对xenomai实时性的影响
ARM平台内存和cache对xenomai实时性的影响
144 0
ARM平台内存和cache对xenomai实时性的影响
|
6月前
|
JSON Ubuntu Linux
LuaJit交叉编译移植到ARM Linux
LuaJit交叉编译移植到ARM Linux
141 1
|
6月前
|
Linux 计算机视觉
Linux交叉编译opencv并移植ARM端
通过以上步骤,你可以在Linux上交叉编译OpenCV,并将生成的库文件和头文件移植到ARM平台上,从而在ARM上使用OpenCV。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
453 0
|
6月前
|
安全 Linux 数据安全/隐私保护
【SPI协议】了解ARM平台上的SPI的基本应用
【SPI协议】了解ARM平台上的SPI的基本应用
617 0
|
1月前
|
编解码 弹性计算 应用服务中间件
阿里云服务器Arm计算架构解析:Arm计算架构云服务器租用收费标准价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中Arm计算架构以其低功耗、高效率的特点受到广泛关注。本文将深入解析阿里云Arm计算架构云服务器的技术特点、适用场景以及包年包月与按量付费的收费标准与最新活动价格情况,以供选择参考。
|
1月前
|
存储 Docker 容器
ARM架构鲲鹏主机BClinux离线安装docker步骤
下载并安装适用于ARM架构的Docker CE二进制文件,解压后移动至/usr/bin目录。创建docker组,配置systemd服务脚本(docker.service、docker.socket、containerd.service),重载systemd配置,启动并启用docker服务。编辑daemon.json配置存储驱动、镜像加速地址等,最后拉取所需镜像。
46 0
|
1月前
|
NoSQL MongoDB Docker
求助,有没有大神可以找到arm64架构下mongodb的3.6.8版本的docker镜像?
在Docker Hub受限的情况下,寻求适用于ARM架构的docker镜像资源或拉取链接,以便在x86架构上获取;内网中的机器为ARM架构,因此优先请求适合ARM的Docker镜像或Dockerfile,非常感激您的帮助。
|
3月前
|
编解码 安全 Linux
基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究
这段内容讲述了国产操作系统背景下,大牛直播SDK针对国产操作系统与Linux平台发布的RTMP/RTSP直播播放SDK。此SDK支持arm64架构,基于X协议输出视频,采用PulseAudio和Alsa Lib处理音频,具备实时静音、快照、缓冲时间设定等功能,并支持H.265编码格式。此外,提供了示例代码展示如何实现多实例播放器的创建与管理,包括窗口布局调整、事件监听、视频分辨率变化和实时快照回调等关键功能。这一技术实现有助于提高直播服务的稳定性和响应速度,适应国产操作系统在各行业中的应用需求。
114 3