黑客爸爸的Minecraft模组破解实战

一位黑客父亲通过JD-GUI反编译工具分析Minecraft模组授权机制,利用Burp Suite代理工具修改网络请求,成功绕过付费模组的UUID验证系统,并在此过程中向孩子传授黑客精神与技术原理。

周末妻子身体不适,我们只能待在家里。正值母亲节周末,为了让抱病的妻子能好好休息,我需要尽量让儿子保持忙碌。

当我问儿子想做什么时,他提到在YouTube上看到的一个新Minecraft模组,可以扮演漫威超级英雄。但我们下载的版本缺少他在视频里看到的套装(果然如此)。

经过调查,发现他想要的版本仅限Patreon赞助者获取。我乐意花5美元支持开发者,加上刚看完《复联4》,对付费模组中钢铁侠内容的渴望超过了保留5美元的念头。于是我在Patreon支付了5美元并下载模组。启动后却看到:

“未经授权使用”

我重新阅读Patreon消息发现两个问题:一是我们想立即使用,等待被加入白名单(可能永远等不到);二是担心需要每月支付5美元才能维持使用权。既然已经付款,我不喜欢受制于人。

是时候成为儿子需要的黑客爸爸了(同时想给他传授黑客精神)。

模组本质是jar文件,我用JD-GUI打开搜索"Unauthorized use",发现多个处理器包含相同代码,都在检查用户是否在白名单中。

白名单来源是SuperHeroesBetaTesterChecker.getList(),竟然从pastebin.com拉取授权用户列表!UUID对应可查询的用户名,通过mcuuid.net即可获取。

最初尝试反编译修改源码重编译,但耗时过长。最终选择Burp Suite方案:

  1. 在代理选项中设置Burp监听所有接口
  2. 导出证书使所有设备信任代理
  3. 设置设备将所有流量路由至Burp代理
  4. 添加匹配替换规则,将其他UUID替换为我们的ID

流量经Burp代理后,所有从pastebin.com返回的UUID列表都会自动加入我们的ID作为授权用户,完美运行。

(未详细说明步骤,因已有大量相关教程)

总结:我们支付了5美元却仍需特殊权限,通过计算机技术解决问题的同时给孩子上了宝贵一课。我已将发现和工作原理告知模组创作者,并提供了用户名。整个过程充满乐趣且富有教育意义。

最后建议:如果开发者投入时间创作软件,请支持他们。但若未兑现承诺,不妨戴上你的黑客帽子。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计