Skip to content

中间名(半混淆)

什么是中间名?

中间名是提供「中介名称」的反混淆映射表。一般来说,这种映射表提供的名称依然没有特定含义。

两个有一样中间名的方法或字段一定是同一方法/字段,其方法/字段签名相同。 中间名不会回收使用,也不会随意变化。一旦某一类、方法、字段占据了一个特定中间名,这个中间名就永久属于该类、方法、字段,无论该类、方法、字段是否在新版中消失。 某些中间名映射表还会尝试跨版本匹配中间名,以减轻用户(Mod 开发者)在迁移时的负担。 你可以认为中间名是类、方法、字段的「身份证号」。

中间名可用于对冲反混淆名(频繁)更新所带来的二进制不兼容问题。只需要在编译后将 Mod 重混淆至中间名,即可保证运行时使用的各种名称(符号)不变,从而允许开发环境随意替换反混淆表。

列表

项目名发起人维护者开放贡献?许可证类名方法名字段名形参名局部变量名是否还在维护?
MCPConfigMCP TeamForge TeamYes (1)zlib (2)Yes (3)YesYesYesNoYes
IntermediaryFabricMCFabricMCYes (4)CC0-1.0YesYesYesYesNoYes
Hashed OfficialQuiltMCQuiltMCUnknown (5)? (5)YesYesYesYesNoYes

备注:

  1. MCPConfig is "open to contribution" by allowing community members to independently start a new MCPConfig build, manually fixing all compile errors and contribute back via a GitHub pull request. This has happened in several 1.16 pre-releases, 1.17 pre-release and 1.18 pre-releases.
  2. Modified zlib license, retroactively to all historial "MCP" data, excluding MCPBot exports.
  3. MCPConfig only provides fully-deobfuscated class names until March 2021.
  4. There has been at least one case where mappings generated by a community build has been accepted.
  5. There is not a dedicated intermediary mapping repository for QuiltMC's mapping, unlike MCPConfig or Intermediary.s

上次更新时间: