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大神提供的分析思路和替换代码 大神能不能说下用的是什么工具去debug?可能由于jar包混淆了,使用idea debug读取不到方法的变量。 大佬v587 Java是世界上最好的语言,哈哈 牛逼了我去 非常棒 谢谢楼主分享啊 能看看.Net版本的吗? 大佬有Aspose-psd .net的新点版本吗
大神能不能分析下 Aspose.HTML License许可 yxm9264 发表于 2024-7-17 10:46
大神能不能说下用的是什么工具去debug?可能由于jar包混淆了,使用idea debug读取不到方法的变量。
顶,我也想知道
页:
[1]
2