【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.RSAASPOSE.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();
}
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值