STmimimimmi 发表于 2024-6-17 09:48

Aspose-slides-24.5-jdk16的算法分析

0x00 Aspose-slides介绍
Java API 用于在任何基于 Java SE 或 EE 的应用程序中创建、加载、操作、转换或解析 Microsoft PowerPoint 演示文稿、幻灯片及其元素。
自己研究了一下激活算法
本分析的过程纯粹是研究学习的,需要商业版的请绕行。
0x01 算法分析
由于算法比较简单,只用文字描述
1)进入com.aspose.slides.License类,找到isLicensed方法,将返回值hook为true完成绕过。
2)进入com.aspose.slides.internal.kd.e2类,如果长度为1,从混淆的bw类中,找到java.io.Inputstream关键字,替换返回体,如果长度为0,从混淆类bw中,返回com.aspose.slides.internal.kd.gn.fn类。
3)导入一个License.xml文件激活即可

0X03 修改方法(注意过程中需要javassist-3.29.2-GA.jar的支持,这是关键点,具体原理大家可百度一下)


licence示例
<License>
    <Data>
      <Products>
            <Product>Aspose.Slides for Java</Product>
      </Products>
      <EditionType>Enterprise</EditionType>
      <SubscriptionExpiry>29991231</SubscriptionExpiry>
      <LicenseExpiry>29991231</LicenseExpiry>
      <SerialNumber>mimi</SerialNumber>
    </Data>
    <Signature>mimi</Signature>
</License>

应用方法

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


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

wdaw1 发表于 2024-7-7 01:36

有问题
pres.save(htmlFilePath, SaveFormat.Html5);

Exception in thread "main" class com.aspose.slides.exceptions.InvalidOperationException: Operation is not valid due to the current state of the object.   大佬html这个SaveFormat.Html可以 但是SaveFormat.Html5这个加了5就不行了

Forgetten 发表于 2024-8-3 20:32

本帖最后由 Forgetten 于 2024-8-3 20:33 编辑

STmimimimmi 发表于 2024-8-3 09:22
分析一下代码逻辑,结合GPT,最后去调试就可以
我的方法是直接使用idea进行调试,但是idea的断点一直进不去,看不到jar变量的值,这样会导致调试非常麻烦,就跟忙猜一样,所以想请问一下有什么方法可以调试,能看到变量的值

nihz 发表于 2024-6-17 11:37

高手!感谢分享

usa167167 发表于 2024-6-17 13:30


感谢楼主!感谢分享

zhaoxiaohua125 发表于 2024-6-17 14:53

请问有没有word和excel的

Lty20000423 发表于 2024-6-18 07:42

感谢分享

STmimimimmi 发表于 2024-6-18 08:58

zhaoxiaohua125 发表于 2024-6-17 14:53
请问有没有word和excel的

有word的

ljzh7798 发表于 2024-6-19 09:12

很好,感谢分享

Fris 发表于 2024-6-25 17:41

其实不用javassist也可以,找个licence,然后跳过签名验证即可。
在最新版的 aspose-slides-24.6-jdk16.jar 中验证可行。

yxm9264 发表于 2024-7-5 14:46

老哥研究下 spire.presentation ? 这个ppt换图片/pdf效果比Aspose的更好
页: [1] 2
查看完整版本: Aspose-slides-24.5-jdk16的算法分析