吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 26498|回复: 33
收起左侧

[原创] 强行爆破 Multicraft 本地 & 网络验证

[复制链接]
爱飞的猫 发表于 2015-5-24 21:59
本帖最后由 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 源码下来,然后根据源码逆推相关提取/打包代码。
脚本的相关代码请参见附件:
pyinstaller-压缩包处理脚本.zip (4.11 KB, 下载次数: 133)

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控制面板」的这个帖子已经介绍了相关验证函数的位置,不需要满世界去找破解点了,于是我就只放出自己的处理方案。

首先在最上面插入一个破解内容的函数,避免命名冲突,然后立马调用:
[Python] 纯文本查看 复制代码
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 行):
[Python] 纯文本查看 复制代码
        sys.modules[Parser.decode('bGljZW5zZQ==')].__dict__[Parser.decode('TGljZW5zZQ==')] = \
        sys.modules[Parser.decode('X19tYWluX18=')].__dict__[Parser.decode('UGFyc2Vy')]


文字是 base64 加密,解开看看:
[Python] 纯文本查看 复制代码
        sys.modules["license"].__dict__["License"] = sys.modules['__main__'].__dict__['Parser']


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

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

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

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

免费评分

参与人数 6威望 +1 热心值 +6 收起 理由
vip大师 + 1 求指导他的核心是什么?我应该反编译哪个?
隐藏英雄 + 1 楼主绝壁是大神,希望出一些帮助新手的详细.
milkice + 1 谢谢@Thanks!
Angelic47 + 1 我说怎么爆破没用……原来是这里作怪
Hmily + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
zxc1164428120 + 1 已经处理,感谢您对吾爱破解论坛的支持!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

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
 楼主| 爱飞的猫 发表于 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 官网,正版价格大概  ...

难道这个可以当做正版用户玩-!!!!!!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-25 14:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表