Aspose-words java 24.3 许可算法分析

查看 90|回复 7
作者:STmimimimmi   
Aspose.Words,强大的word操作软件,支持中文和转换pdf
由于没有最新版,所以就自己研究了一下激活算法
本分析的过程纯粹是研究学习的,需要商业版的请绕行。
1、先找一下证书的主类License


image.png (69.59 KB, 下载次数: 0)
下载附件
2024-4-10 14:05 上传

主要是针对这两个地方进行分析:
一个是检查证书名称,也就是签名,通过zzL7中的zzFw验证证书名称
一个是把证书的秘钥转换成流的方式传入zzL7的zzWDH方法
所有的验证都指向了zzL7,所以看一下zzL7中这两个方法都是啥
2.修改zzL7部分
名称验证zzFw方法


image.png (47.5 KB, 下载次数: 1)
下载附件
2024-4-10 14:13 上传

这里把名签名也变成了一个安全流。
验证代码最终走到了,同类中的zzWDH去验证。
许可中的名称可用,所以要看zzWDH
[color=]zzWDH方法


image.png (72.36 KB, 下载次数: 1)
下载附件
2024-4-10 14:22 上传

先看一下秘钥流和签名流向哪里,由此处可以看出,再次验证会跟zzYzt这个方法有关,
这里先埋一个伏笔,看一下它的上层校验逻辑zzWdb中连接到zzYzt的方法
[color=]对流做处理


image.png (242.25 KB, 下载次数: 0)
下载附件
2024-4-10 14:50 上传

处理流的时候,发现关联到了一个方法zzWlq
所以跟踪zzWlq方法到了zz2O
[color=]固定返回256


image.png (144.82 KB, 下载次数: 0)
下载附件
2024-4-10 14:57 上传

所有的修改好后,回到zzL7,修改验证需要的zzX30方法


image.png (157.38 KB, 下载次数: 0)
下载附件
2024-4-10 15:01 上传

直接返回验证成功,完成激活
3.修改方法(
[color=]注意过程中需要javassist-3.29.2-GA.jar的支持,这是关键点,具体原理大家可百度一下。

字节码更改


image.png (198.78 KB, 下载次数: 1)
下载附件
2024-4-10 15:04 上传

激活证书用例


image.png (34.36 KB, 下载次数: 0)
下载附件
2024-4-10 15:06 上传

[color=]注意事项
更改后jar包的META-INF文件夹需要清空校验证书,否则无法加载
感谢:Valen大神提供的分析思路和替换代码

下载次数, 方法

nzy8513   

大佬v587
西枫游戏   

牛逼哟,必须回帖赞一个
Lty20000423   

Java是世界上最好的语言,哈哈
acquaint121388   

牛逼了我去
oscar4222001   

非常棒 谢谢楼主分享啊
goodmangis   

能看看.Net版本的吗?
Vincent2018   

大佬  有Aspose-psd .net  的新点版本吗
您需要登录后才可以回帖 登录 | 立即注册

返回顶部