声明:本破解教程仅作为技术探讨,由本博客产生的一切侵权行为,与本人无关!
背景:破解的动机是需要将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.完成。