aspose.cad for java 21.11 学习破解方法
仅作为学习研究使用,不得商用
1. 首先引入依赖
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.28.0-GA</version>
</dependency>
2. 编写代码
try {
//这一步是完整的jar包路径,选择自己解压的jar目录
ClassPool.getDefault().insertClassPath("C:\\Users\\JohnsonChi\\Desktop\\temp\\cad\\aspose-cad-21.11.jar");
CtClass zzZJJClass = ClassPool.getDefault().getCtClass("com.aspose.cad.internal.ok.bY");
CtMethod[] methodA = zzZJJClass.getDeclaredMethods();
for (CtMethod ctMethod : methodA) {
CtClass[] ps = ctMethod.getParameterTypes();
if (ps.length == 1 && ps[0].getName().contains("InputStream") && ctMethod.getName().equals("a")) {
System.out.println("ps[0].getName==" + ps[0].getName());
ctMethod.setBody("{" +
"int i = 0;\n" +
" try {\n" +
" javax.xml.parsers.DocumentBuilderFactory documentBuilderFactory = javax.xml.parsers.DocumentBuilderFactory.newInstance();\n" +
" javax.xml.parsers.DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();\n" +
" org.w3c.dom.Document document = documentBuilder.parse($1);\n" +
" com.aspose.cad.internal.ok.aO.a a = a(document);\n" +
" b = this;\n" +
" com.aspose.cad.internal.ok.bz.a();\n" +
" com.aspose.cad.internal.ok.aQ.b();\n" +
" int x = this.a(i) + 1;" +
" com.aspose.cad.internal.ok.aQ.a = com.aspose.cad.internal.ok.aP.c[x];\n" +
" com.aspose.cad.internal.ok.aQ.b();\n" +
" com.aspose.cad.internal.ok.aQ.d = a.d;\n" +
" } catch (Throwable throwable) {\n" +
" return 0;" +
" } \n" +
" return i;" +
"}");
}
if (ps.length == 3 && ps[0].getName().contains("Node") && ctMethod.getName().equals("a")) {
System.out.println("ps[0].getName==" + ps[0].getName());
ctMethod.setBody("{" +
"return true;" +
"}");
}
}
//这一步就是将破译完的代码放在桌面上
zzZJJClass.writeFile("C:\\Users\\JohnsonChi\\Desktop\\temp\\cad\\aspose-cad-21.11");
} catch (Exception e) {
System.out.println("错误==" + e);
}
3. 用winrar将生成的class替换到aspose-cad-21.11.jar
的对应目录内,保存。
4. 删除jar包META-INF
文件夹内的ASPOSE.RSA
和ASPOSE.SF
,保存。
5. 编写lisence.xml
<License>
<Data>
<Products>
<Product>Aspose.Cad 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>
6. 用winrar将lisence.xml
放入jar包根目录,保存。
7. 测试代码:
try (InputStream is = License.class.getResourceAsStream("/lisence.xml")) {
License license = new License();
license.setLicense(is);
} catch (Exception e) {
e.printStackTrace();
}