微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用allatori混淆代码

Step1.在pom中添加插件

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.6</version>
    <executions>
        <execution>
            <id>copy-and-filter-allatori-config</id>
            <phase>package</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <outputDirectory>${basedir}/target</outputDirectory>
                <resources>
                    <resource>
                        <directory>${basedir}/allatori</directory>
                        <includes>
                            <include>allatori.xml</include>
                        </includes>
                        <filtering>true</filtering>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.2.1</version>
    <executions>
        <execution>
            <id>run-allatori</id>
            <phase>package</phase>
            <goals>
                <goal>exec</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <executable>java</executable>
        <arguments>
            <argument>-xms128m</argument>
            <argument>-Xmx512m</argument>
            <argument>-jar</argument>
            <argument>${basedir}/lib/allatori.jar</argument>
            <argument>${basedir}/lib/allatori.xml</argument>
        </arguments>
    </configuration>
</plugin>

Step2.copy jar包插件里配置的路径

Step3.编写配置文件,并放在插件里配置的路径下

示例配置:

<config>
    <input>
        <!-- in表示输出的原始jar包,out表示输出的混淆后的jar包,后者名称自定义,也可以是war -->
        <jar in="../target/akkaload-core-0.0.1-SNAPSHOT.jar"
             out="../target/akkaload-core-0.0.1-SNAPSHOT.jar"/>
    </input>
    <keep-names>
        <class access="protected+">
            <field access="protected+"/>
            <method access="protected+"/>
        </class>
    </keep-names>

    <property name="log-file" value="log.xml"/>

    <!-- 忽略的包或类,这些文件将不被混淆 -->
    <ignore-classes>
        <!-- 不要混淆主类 -->
        <class template="class com.navi.akkaload.AkkaloadApplication" />
        <!-- 不要混淆第三方的代码,否则会出现java.lang.NoClassDefFoundError -->
        <class template="class org.dom4j.*" />
        <class template="class akka.actor.*" />
        <class template="class *alibaba*" />
        <class template="class *org*" />
        <class template="class *rabbitmq*" />
        <class template="class *springframework*" />
        <class template="class *lombok*" />
    </ignore-classes>

    <!-- 到期时间(到期后无法启动jar) 格式:yyyy/mm/dd-->
    <!--<expiry date="2021/04/03" string="SERVICE EXPIRED!"/>-->
    <!-- 随机命名混淆字符-->
    <!--<property name="random-seed" value="abcdef ghnljk svi"/>-->

</config>

效果

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐