STmimimimmi 发表于 2024-4-10 15:09

Aspose-words java 24.3 许可算法分析

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

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

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

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

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

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

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

激活证书用例

注意事项
更改后jar包的META-INF文件夹需要清空校验证书,否则无法加载


感谢:Valen大神提供的分析思路和替换代码

yxm9264 发表于 2024-7-17 10:46

大神能不能说下用的是什么工具去debug?可能由于jar包混淆了,使用idea debug读取不到方法的变量。

nzy8513 发表于 2024-4-10 18:23

大佬v587

Lty20000423 发表于 2024-4-11 07:43

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

acquaint121388 发表于 2024-4-11 11:17

牛逼了我去

oscar4222001 发表于 2024-4-11 11:21

非常棒 谢谢楼主分享啊

goodmangis 发表于 2024-4-12 07:46

能看看.Net版本的吗?

Vincent2018 发表于 2024-6-14 15:55

大佬有Aspose-psd .net的新点版本吗

killme10086 发表于 2024-6-15 10:45

大神能不能分析下 Aspose.HTML License许可

Forgetten 发表于 2024-7-19 23:09

yxm9264 发表于 2024-7-17 10:46
大神能不能说下用的是什么工具去debug?可能由于jar包混淆了,使用idea debug读取不到方法的变量。

顶,我也想知道
页: [1] 2
查看完整版本: Aspose-words java 24.3 许可算法分析