爱飞的猫 发表于 2015-5-24 21:59

强行爆破 Multicraft 本地 & 网络验证

本帖最后由 jixun66 于 2015-5-24 22:00 编辑

和 [本地+网络双验证]破解Multicraft控制面板 过本地验证+山寨网络验证全过程 帖子的破解稍微有些不同,这个直接爆破验证函数。
感谢 Angelic47 对文件做出的分析 如果没有之前的分析会浪费很多时间 /w\

【软件名称】: Multicraft 1.8.2
【下载地址】: http://www.multicraft.org/site/page?view=download
【验证方式】: 本地+联网序列号验证
【开发语言】: Python 2.7
【破解目的】: 绕过序号检查、去除联网验证,实现无码注册。
【作者声明】:
只是出于对破解感兴趣,请勿用于商业用途;如果你喜欢该软件请购买支持正版。
可能有的地方有错,还请各位看官指出修正,谢谢。



首先就是手动提取相关文件。文件数据是贴在 exe 末端的“PKZ”字符开始的数据。

最开始我还以为只是一个 PKZ 包,结果搞了半天才发现,这东西是 pyinstaller 自创的 CArchive 格式 (识别代码在结尾)…

于是跑到官方拖一份最新的 pyinstaller 源码下来,然后根据源码逆推相关提取/打包代码。
脚本的相关代码请参见附件:


CArchive 解出来的文件名大概是这样的:
001_0zout00-PYZ.pyz
002_1miu
003_1mstruct
004_1marchive
005_1s_pyi_bootstrap
006_1scarchive
007_1spyi_rth_encodings
008_1smulticraft
009_0oO

前面三个数字是序号, 下划线右边的数字表示是否需要压缩处理 (1: 压缩, 0: 不压缩)
后面的第一个字符含义可以在源码中获得;就目前来说只需要知道 s 表示会被直接执行的脚本就行了。

就如你所想的那样:我们要对 008_1smulticraft 这个文件进行更改。(其实我试过直接对 pyz 包进行处理去掉相关验证代码,但是打包出来的会提示找不到 AES 模组… 怀疑打包的 pkz 有点问题, 求指导)

在此之前,「破解Multicraft控制面板」的这个帖子已经介绍了相关验证函数的位置,不需要满世界去找破解点了,于是我就只放出自己的处理方案。

首先在最上面插入一个破解内容的函数,避免命名冲突,然后立马调用:

def loader_patch():
    # 序号检查函数, 尽可能模拟原版
    def custom_load(self):
      self.key = '1111-2222-3333-4444'
      return True

    def custom_parse(self):
      self.serial = 9999
      self.customer = 9999
      self.edition = 62
      self.valid = True
      self.licenseOk = True
      return True

    license.License.load = custom_load
    license.License.parse = custom_parse

    # 破解网络验证 (+ 远端版本检查)
    import threaded

    def custom_read(self, params, sendTime, url):
      Global.disabled = False
      return (True, False, '<p>Cracked By Jixun :)</p>')

    threaded.PeriodicQuery.read = custom_read

loader_patch()


调试的时候却发现,这破解没用啊,还是读取原来的函数 orz

然后就是偶然间发现了一个可疑的地方 (更改前的 586 行):

      sys.modules.__dict__ = \
      sys.modules.__dict__


文字是 base64 加密,解开看看:

      sys.modules["license"].__dict__["License"] = sys.modules['__main__'].__dict__['Parser']


大概是和授权方面有关系,不管他,直接干掉 (求指导,这句我也没怎么懂 orz)

重新打包,果然可以了。扔张图上来 /w\


* 提取脚本需要确保输出目录存在
** 打包脚本不会检查输出文件是否已经存在,记得备份
*** 提取脚本不能直接从 exe 提取数据,逻辑没写好 orz

破解后的文件下载:http://pan.baidu.com/s/1bnffP6n (提取 6666)

asd9988 发表于 2015-5-24 22:11

jixun66 发表于 2015-5-24 22:08
刚做的 /.\
还不是完全自己独立分析的

哈哈,不错,挺好的。
如果你这帖子加精华了的话,我到是希望我这里能前排出售我的广告位啊 嘿嘿!

爱飞的猫 发表于 2015-5-24 22:20

q739985679 发表于 2015-5-24 22:14
MC为什么要爆破啊,不要钱啊???

不管你说的是 Minecraft 还是 Multicraft,这两个都是商业软件/游戏。

Minecraft 官网,正版价格大概 175 左右: https://minecraft.net/
Multicraft 收费表 (免费版最多 10 个人): http://www.multicraft.org/site/page?view=pricing

asd9988 发表于 2015-5-24 22:06

感觉还不错,mc的这玩意破解版满地都是了?

爱飞的猫 发表于 2015-5-24 22:08

asd9988 发表于 2015-5-24 22:06
感觉还不错,mc的这玩意破解版满地都是了?

刚做的 /.\
还不是完全自己独立分析的

2205 发表于 2015-5-24 22:10

好贴,支持!!虽然已经根据之前那位大牛的方法破解过了。

FantasyOwl 发表于 2015-5-24 22:14

MC为什么要爆破啊,不要钱啊???

Hmily 发表于 2015-5-25 15:19

思路方法不同于@Angelic47 ,写的挺好,文章分类不要用转载了,我给改成原创了。

爱飞的猫 发表于 2015-5-25 18:57

Hmily 发表于 2015-5-25 15:19
思路方法不同于@Angelic47 ,写的挺好,文章分类不要用转载了,我给改成原创了。

非常感谢 /w\

FantasyOwl 发表于 2015-5-25 21:42

jixun66 发表于 2015-5-24 22:20
不管你说的是 Minecraft 还是 Multicraft,这两个都是商业软件/游戏。

Minecraft 官网,正版价格大概...

难道这个可以当做正版用户玩-!!!!!!
页: [1] 2 3 4
查看完整版本: 强行爆破 Multicraft 本地 & 网络验证