StarForce 是1998年 Protection Technology(星之盾科技)针对 Windows 平台设计的一款软件复制保护技术的商标,它获得了微软合作伙伴等级认证 并成为微软解决方案合作伙伴 和英特尔软件合作伙伴。
它的主要保护方案是使用字节码封装可执行文件和DLL,并通过其虚拟机解释这些文件。
尽管商标所有者 Protection Technology 声称 StarForce 很难被逆向工程所破解,但是通常使用该保护方案的游戏最终都会遭到破解。制作破解的难度与 StarForce 的版本及游戏开发者在可执行文件中应用的保护例程次数息息相关。
此程序虽然遏阻了一些盗版,但是对于正版用户也带来极大困扰,差劲的优化及容易跟其他程序产生冲突反而让绑着Starforce的正版软件不能运行,因而臭名昭彰并且有“惩罚正版玩家”的戏谑词。在全球玩家眼里评价极差的一个软件。
据认为,StarForce 是通过测量 CD 中第一个和最后一个写入扇区之间的物理角度来工作的。这个硬件特征在所有转自母盘的 CD 副本中都是唯一的,而以当前的技术,在刻录光盘时复制该特征是很困难的。一些程序可以通过截取 CD 驱动器与被保护程序之间的通信来伪造这个角度,从而使保护措施形同虚设。
因为当前的大多数虚拟光驱软件都是通过模拟 SCSI 驱动器来运作,故而若系统中安装了 IDE 驱动器,StarForce 4.0 之前的版本就会禁止使用 SCSI 光盘驱动器。但是,若系统中没有安装 IDE 光盘驱动器,StarForce 就会验证 SCSI 光盘驱动器中的光盘;它的弱点就是,即使系统中安装了 IDE 光盘驱动器,但若将其拔下或禁用,就可以通过一个虚拟的 CD 或 DVD 镜像来运行被保护程序。
目前已知的官方 StarForce 产品包括:
现确认,有2种 StarForce 保护级别:
根据 Boycott StarForce Wiki 的资料显示,部分已知使用了“专业”级别保护的游戏有赌命战士、分裂细胞:混沌法则、极速房车赛、赛道狂飙:日出和超级战士等。它也引用了一个传闻中的保护级别“精英”,目前尚不知有哪款已发布的游戏使用了该级别的技术。
尽管被 StarForce 3.0 所保护的游戏通常最终都会被破解,而且还有其他方法可以绕过其保护,然而 StarForce 3.0 还是因为极端难以被反向工程而得到了声誉。有些破解会在游戏官方发布后几天内放出,但也有一些游戏在官方发布后几个月或几年才被破解:例如分裂细胞:混沌法则,在官方发布后过了422天才被破解。 其他游戏需要手动对其破解,并且在完成这些步骤之后,还需要额外的破解来防止游戏崩溃,例如科林麦克雷 2005。
分裂细胞:混沌法则的破解涉及了对 StarForce 3.0 的完全逆向工程,而且同破解一起发布的还有一组关于 StarForce 3.0 如何工作的文档。通过这些技术细节,StarForce 如何执行资源密集的过程(例如如何在模拟虚拟机函数和操作码的同时实现对光盘等媒体的检测等)也渐渐为人所知。
StarForce 3.0 会将其自身的设备驱动程序在被保护产品第一次运行时安装或随被保护产品一起安装至系统,而该驱动程序通常并不会随软件一起被卸载(金刚是个例外),这一点令其饱受批评。尽管 Protection Technology 提供了删除工具,但其并未随被保护游戏告知或提供给用户。不过在安装时,安装程序既会询问用户是否安装该驱动程序,还会提供一份附有如何卸载驱动程序等信息的帮助文件。
除以上所列,很少有游戏在安装前或安装时会告知用户 StarForce 驱动程序的存在。
StarForce 3.0 驱动通常与某些旧版本的游戏演示版、免费软件和像赛道狂飙:国家一样的下载版游戏一起安装。安装驱动的目的是防止破解者用演示版可执行文件帮助爆破最终版可执行文件(因为这两个文件通常极其相似),它也可以阻止网游作弊。为回应人们对安装驱动程序之行为的批评,Protection Technologies 发布了一种新的解决方案:StarForce 当前版本的,它以游戏每3天要求插入源 CD 光盘代替了安装驱动程序。该精简版也用在了所有被 StarForce 所保护的演示版和下载版游戏中,以减少对光盘(或任何网络连接需求)的请求次数。
CDV、育碧软件、Digital Jesters(现改组为 defunct)、JoWooD、Egosoft、Codemasters、Eagle Dynamics、MIdway Games以及Bohemia Interactive Studio 将 StarForce 3.0 用于他们的一些产品中。
不过,2006 年,育碧软件和 JoWooD 宣布,因为“StarForce 软件存在问题”,它们在北美洲发行的游戏将不再使用 StarForce。 CDV 也于 2006年 5月宣布在今后所有的游戏中抛弃使用 StarForce 而改用 TAGES 复制保护系统,以回应用户的抱怨。
一些游戏者提议联合抵制使用 StarForce 的游戏或发行商。 这些游戏者声称 StarForce 软件会引起系统的不稳定甚至崩溃,而 Protection Technology 拒绝对其软件所造成的破坏道歉。育碧软件决定调查 StarForce 联合抵制的程度并在其论坛中发起一个投票,以调查谁在反对使用 StarForce。 结果(在一场诉讼 与网上的普遍不满 的同时),在和 GTR2 中,StarForce 3.0 被 SecuROM 所替代。
卸载一个被 StarForce 所保护的游戏并不会从系统中删除 StarForce 驱动程序,该驱动程序会继续在系统后台运行。StarForce SDK 为系统提供了卸载游戏时同时删除驱动程序的功能,然而它并不会被自动执行。当前已有一款可以从系统中删除 StarForce 驱动程序的官方工具。 该程序存放在一个被 StarForce 官方网站中的链接所指向的第三方网站中。 一些网友也提供了手动删除驱动程序的说明和方法。
自 4.0 版本起,StarForce 开始包含一个删除服务。该服务会在被 StarForce 所保护的游戏被卸载之后自动卸载 StarForce 驱动程序。一旦卸载了驱动程序,该服务也会被自动删除。
StarForce 3.0(2006 年 8 月前)带来了一个安全问题,具体表现为:当 StarForce 安装于一个可以在公共网络中被发现的受限用户帐户中时,驱动程序的访问控制列表会被设定为任何用户(包括没有管理员权限的用户)都可以更改被驱动程序所运行的代码。这样入侵就很容易了:用户可以将该代码修改为指向任意可执行程序,它会在下次重新启动时以完全系统权限运行。可以用安全工具“sercheck2”来检测是否存在这样潜在的不安全驱动程序配置。
2006年1月30日,著名的博客提供商 Boing Boing 引用一些与保护系统有关的问题,包括磁盘驱动器性能退化、操作系统安全性和稳定性的减弱,声称 StarForce 是恶意软件。
在过了一天后的 2006年1月31日,Boing Boing 收到了 StarForce 的一封电子邮件,威胁采取法律行动,并称该文章“充满侮辱、谎言、错误的指控和传言”。CNET 做了相似的事,并收到了相似的电子邮件。 不过,Protection Technologies 并未证实这些文章是恶意撰写的。
在争论中,知名的 Sysinternals 程序员 Mark Russinovich 分析了 StarForce 并发现其“没有什么明显的不稳定”:
我发现寂静岭 III 的卸载程序并未卸载 StarForce,这是不能原谅的。但这是育碧软件的责任,而不是 StarForce 的。
2006年3月5日,Protection Technology 的一名雇员帖出了一个指向银河文明 II 的未授权下载源的链接,这是 由 StarDock 开发的一款未使用强制复制保护措施的游戏,该雇员此举意为证明游戏若缺失强制保护将导致的后果。 在互联网中引起大量关注之后,StarForce 随后为此举发表了道歉声明。