如何破解Aspose.word带水印问题

柯鸿云
2023-12-01

声明:本破解教程仅作为技术探讨,由本博客产生的一切侵权行为,与本人无关!

背景:破解的动机是需要将word文档转换成pdf文档,尝试了很多开源的组件(libreoffice,openoffice,poi等),都无法很好的满足需求(文档中含有activex控件,而activex是微软的技术,跨平台的转换组件不支持此种控件的转换,导致内容丢失),觉得aspose是个不错的选择。但aspose是收费软件,转换的时候文档大小,页数有限制,无法满足技术调研的要求,故查找资料,历时1天进行破解。

1.百度aspose官网,下载words组件,搭建test工程。

2.查阅资料,主要是调用setLicense接口,并配置license.xml文档

     InputStream is = test.class.getClassLoader().getResourceAsStream("\\license.xml");
            License aposeLic = new License();
            aposeLic.setLicense(is);

3.license.xml:

<License>
  <Data>
    <Products>
      <Product>Aspose.Total for Java</Product>
      <Product>Aspose.Words for Java</Product>
    </Products>
    <EditionType>Enterprise</EditionType>
    <SubscriptionExpiry>20991231</SubscriptionExpiry>
    <LicenseExpiry>20991231</LicenseExpiry>
    <SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber>
  </Data>
  <Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature>
</License>

4.Signature信息不正确,会提示验证不通过,找到错误源在zzZPF.class中,用反编译工具jbe 找到对应的错误字符串,编辑对应的汇编代码,绕过错误。

5.由于zzZPF.class是有保护的,找到META-INF下的SF,MF文件,将其删除,去掉保护。

6.报This license is disabled, please contact Aspose to obtain a new license 的错误,仿照第五步,绕过错误。

7.完成。

 类似资料: