DecompilerMC

这是做什么用的?

这个工具可以帮助你将 Mojang 的反混淆表从 Proguard 格式转换为 tsrg 格式,然后可以直接用于 SpecialSource,SpecialSource 会重新映射客户端 Jar。

重新映射后,就可以用 cfr(仅代码)或 fernflower(assets 和源代码)进行反编译。

当然,我们直接提供了所有的工具链,所以你的输出将是可读的(很快就会是可执行的)代码,就像你使用 MCP(ModCoderPack)一样。

重要提示

你需要网络连接来下载反混淆表,如果你有反混淆表,你可以把它们放在相应的文件夹内。

此程序支持Windows、MacOS 和 Linux。

此汉化版本仅支持 Windows

你需要在环境变量中添加一个 JRE (Java 16 )。

CFR 反编译大约需 60s,而 fernflower 大约需要 200s,请耐心等待。

你可以使用参数来代替在终端中的选择,这不是必需的,但是一旦你传递了一个 mcversion,它就会启动这个过程。

我们建议每次都使用 -q ,否则它可能会问 stdin 问题。

默认情况下,我们采用了 “好人策略” ,即如果文件夹存在,我们会随机创建一个新的文件夹,如果你真的需要一个特定的路径,请考虑使用 -f

示例

反编译最新正式版而不输出任何内容: DecompilerMC.exe --mcv latest -q

反编译最新快照版本服务端并输出:DecompilerMC.exe --mcversion snap --side server

反编译 1.14.4 客户端,有输出,不自动强制删除旧文件:DecompilerMC.exe -mcv 1.14.4 -s client -na -f -rmap -rjar -dm -dj -dd -dec -q -c

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
用法: 
DecompilerMC.exe [-h] [--mcversion MCVERSION] [--side SIDE] [--clean] [--force]
[--forceno] [--decompiler DECOMPILER] [--nauto]
[--download_mapping DOWNLOAD_MAPPING]
[--remap_mapping [REMAP_MAPPING]]
[--download_jar [DOWNLOAD_JAR]] [--remap_jar [REMAP_JAR]]
[--delete_dep [DELETE_DEP]] [--decompile [DECOMPILE]] [--quiet]

反编译 Minecraft 源代码

可选参数:
-h, --help 显示帮助信息并退出
--mcversion MCVERSION, -mcv MCVERSION
你想反编译的版本 (所有的版本都可以)
'snap' 表示最新的快照或用 'latest' 表示最新的正式版(例如 20w48a,它会自动获取)
--side SIDE, -s SIDE 你想反编译的端类型 (客户端或服务端)
--clean, -c 清理旧文件
--force, -f 通过替换旧文件以强制解决冲突
--forceno, -fn 通过建立新的目录以强制解决冲突
--decompiler DECOMPILER, -d DECOMPILER
在 fernflower 和 cfr 之间选择
--nauto, -na 在自动和手动模式之间选择
--download_mapping DOWNLOAD_MAPPING, -dm DOWNLOAD_MAPPING
下载反混淆表(仅当自动模式关闭时)
--remap_mapping [REMAP_MAPPING], -rmap [REMAP_MAPPING]
重映射到 tsrg (仅当自动模式关闭时)
--download_jar [DOWNLOAD_JAR], -dj [DOWNLOAD_JAR]
下载 jar (仅当自动模式关闭时)
--remap_jar [REMAP_JAR], -rjar [REMAP_JAR]
重混淆 jar (仅当自动模式关闭时)
--delete_dep [DELETE_DEP], -dd [DELETE_DEP]
删除依赖 (仅当自动模式关闭时)
--decompile [DECOMPILE], -dec [DECOMPILE]
反编译 (仅当自动模式关闭时)
--quiet, -q 不显示信息

下载

汉化版

官方原版