The Homebrew Channel 仓库已存档 (2025年4月28日)

该仓库已由所有者于2025年4月29日存档。现在是只读的。

fail0verflow / hbc 公共存档

The Homebrew Channel - 开源版本

License

GPL-2.0 license

914 stars 119 forks Branches Tags Activity

fail0verflow/hbc

master

BranchesTags

文件夹和文件

| 文件夹/文件名称 | 文件夹/文件名称 | 最后提交信息 | 最后提交日期 | |---|---|---|---| | channel| channel | | | | pywii| pywii | | | | wiipax| wiipax | | | | .gitignore| .gitignore | | | | .kateconfig| .kateconfig | | | | COPYING| COPYING | | | | README.md| README.md | | | | broadway.mk| broadway.mk | | | | common.mk| common.mk | | |

查看所有文件

已存档

该仓库已存档,将不再接受任何贡献。

像大多数Wii自制软件一样,该软件依赖于libogc。在The Homebrew Channel的开发已经开始后,我们发现libogc的很大一部分直接从Nintendo SDK或使用Nintendo SDK的游戏中窃取(反编译和清理)。我们认为至少libogc的重要部分(例如其线程实现)是原创的,并且不情愿地继续使用该项目,同时与它保持距离。

最近,人们发现libogc中的线程/OS实现实际上是从RTEMS中窃取的。libogc的作者不仅窃取了Nintendo的专有代码,而且还认为适合窃取一个开源 RTOS并删除所有署名和版权信息。这远远超出了对逆向工程Nintendo二进制文件带来的版权影响的无知,直接变成了彻头彻尾的故意恶意代码盗窃和侵犯版权。

libogc的当前开发人员跟踪此问题、寻找解决方案或告知社区该项目存在问题的版权状态不感兴趣。当我们提交有关此问题的issue时,他们立即将其关闭,以言语辱骂回复,然后将其从公众视野中完全删除。

因此,我们认为目前无法合法和合理地编译该软件,并且不能鼓励进一步的开发。

Wii自制社区完全建立在谎言和侵犯版权的基础之上,而这全都要归功于shagkur(窃取者)和其余团队(他们支持了它,并且在发现时什么也没做)。开发人员一起欺骗所有人,使他们相信自己的工作是原创的。

请要求您使用和与之合作的控制台或其他专有设备SDK和工具包的领导者和主要贡献者合法地做事,并且不要容忍这种行为。

例如,如果您想自己检查,可以将libogc中的这个函数与RTEMS的旧版本中的这个函数进行比较。虽然代码已经简化,并且许多标识符已重命名,但很明显,libogc版本是RTEMS版本的直接后代。两种代码实现不可能纯粹偶然地变得如此相似。

更新:libogc的开发人员已恢复该issue,现在声称该代码不是被盗的。实际上,他们争论的是,该代码不是逐字复制,然后更改以混淆其来源,而是通过“引用”RTEMS开发的。实际上,将代码提交到libogc的原始提交是RTEMS的不完整副本,而不是当前版本。这意味着,他们不是从字面上复制RTEMS,然后再减少它,而是通过逐行重新键入或复制编辑来逐步合并RTEMS代码。这等效于打开《指环王》的副本,拉出一个空白文档,并精心用不同的单词,为角色使用不同的名称来重新键入整个故事,同时保留整个情节。对于shagkur和其他libogc作者来说不幸的是,这仍然是剽窃和侵犯版权。他们没有从字面上Ctrl-C和Ctrl-V整个RTEMS都没有关系。最终结果非常清楚地仍然是剽窃。

请随意查看另一个示例:此RTEMS函数此libogc函数完全相同,除了稍微重命名的标识符,不同的代码格式以及libogc版本中的prependit参数和if分支(这似乎是一个新颖的添加)。无论是一次性实现还是随着时间的推移逐步实现,这都将在任何法院中明确构成侵犯版权的行为。这种非平凡的代码不可能完全相同地结束,这纯粹是偶然的。实际上,这种行为与导致libogc逐字包含Nintendo SDK反编译代码的相同行为。我们只是认为这是由于缺乏理解(或关心)当它与逆向工程专有二进制代码有关时版权如何运作的结果,但是shagkur似乎认为他有权手动复制和重新键入任何代码,即使是开源代码,并且仅凭这样做的行为就可以消除其原始版权。

WinterMute也不是无辜的,而不仅仅是由于与shagkur同谋并支持他的抄袭行为。他本人以前也被抓到在为libnds编写代码时引用了官方的Nintendo DS(“nitro”)SDK。WinterMute在DevkitPro方面存在巨大的围攻心态问题,这就是为什么没有人能够与他沟通的原因,因为对他的工作或他管理项目的方式的任何批评都受到了极大的敌意。这就是为什么即使经过这么多年,也从未对该项目中的这些问题采取任何措施的原因。

The Homebrew Channel

该仓库包含The Homebrew Channel的源代码的公开发布版本。

包含的部分:

未包含:

请注意,此仓库中的代码与用于构建The Homebrew Channel的官方版本的源代码不同,后者包括其他保护功能(即,我们必须添加反向DRM来阻止诈骗者出售它)。

此代码的发布没有任何保证,甚至没有在真正的Wii上进行过测试,仅在Dolphin下进行过测试(是的,此版本在Dolphin下运行)。

构建说明

您需要安装devkitPPC和libogc,并且正确设置DEVKITPRO/DEVKITPPC环境变量。使用最新的可用版本。确保您拥有libogc/libfat,并且还安装以下第三方库:

您可以使用devkitPro pacman获得这些二进制文件。只需使用

sudo (dkp-)pacman -S ppc-zlib ppc-libpng ppc-mxml ppc-freetype

此外,您需要在主机上安装以下软件包:

构建过程仅在Linux上进行了测试。如果您想尝试在OSX或Windows上构建此版本,则需要自己解决问题。

您需要将Wii common key安装为~/.wii/common-key。

首先在wiipax中运行“make”,然后在channel中运行“make”。您会找到一个.wad文件,您可以安装该文件或直接使用Dolphin在channel/title/channel_retail.wad下运行。您还可以在channel/channelapp下找到可执行二进制文件,但请注意,如果HBC未以其正确的标题标识/权限作为channel启动,则NAND保存文件/主题存储功能将无法正常工作。

许可协议

除非在单个文件标头中另有说明,否则此仓库中的所有源代码均根据GNU通用公共许可证(版本2或更高版本)的条款发布。该许可证的全文可以在COPYING文件中找到。