Allatori 代码混淆教程

本文介绍了Allatori,一款强大的第二代Java混淆器,提供代码保护功能,包括混淆、减小文件大小和提高运行速度,同时具备水印和许可管理。详细讲解了下载、配置、使用及在Eclipse中的集成方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Allatori简介

Allatori 是第二代 Java 混淆器,可为您的知识产权提供全方位的保护。

尽管大多数第二代混淆器都提供了值得保护的级别,但我们已经在Allatori中开发了许多附加功能,以使对代码进行逆向工程几乎不可能。

Allatori 不仅会混淆,还会最大程度地减少应用程序的大小并提高速度,同时您和您的团队以外的任何人都无法读取您的代码。作为每个现代 Java 混淆器,Allatori 具有完整的水印功能,从而有可能为您的软件提供适当的许可!

如果有必要保护您的软件,并且要减少软件的大小和缩短处理时间,则可以使用 Allatori 混淆器。

2.下载

1.官网最新 Allatori-7.1-Demo.zip 下载
2.优快云下载(包含反编译工具 jd-gui.exe)

3.内容简介

1.解压下载的压缩包 Allatori-7.1-Demo.zip
然后进入目录 xx/Allatori-7.1-Demo\tutorial\step01\files

2.目录如下内容
Allatori-7.1-Demo\tutorial\step01\files

  • Clean.bat:清除 log.xml 以及生成混淆的文件
  • config.xml:混淆的配置文件
  • mousegestures-1.2.jar、test.jar:被混淆的 jar 包
  • MouseGesturesOriginal.bat:混淆前 jar 的测试命令
  • MouseGesturesObfuscated.bat:混淆后 jar 的测试命令
  • RunAllatori.bat:执行生成混淆 jar 的命令

3.config.xml 详解

混淆的成功与否在于次配置的对与错。官方默认对除了 public 修饰的类、方法、区域放开,其余的都会混淆处理

<config>
    <input>
        <jar in="test.jar" out="obf-test.jar"/>
        <jar in="mousegestures-1.2.jar" out="obf-mousegestures-1.2.jar"/>
    </input>

    <keep-names>
        <class access="protected+">
            <field access="protected+"/>
            <method access="protected+"/>
        </class>
    </keep-names>

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

<jar in="你的 jar 包名称.jar" out="混淆后的 jar 包名称.jar"/>

4.jar混淆使用

  1. 把需要混淆的 jar 包放到刚才的目录下
  2. 修改 config.xml的 jar 部分,写上被混淆 jar 的名字和混淆后 jar 的名字
  3. 双击 RunAllatori.bat,会生成一个新 jar

5.测试

1.如果双击 MouseGesturesOriginal.bat 和 MouseGesturesObfuscated.bat 的结果一样,说明混淆成功。
2.使用反编译工具 jd-gui.exe 查看混淆后的 jar 包,会发现除了public 修饰的方法都被混淆

注意:常量的值不会被混淆,处理方案是,放到方法中即可实现混淆

6.eclipse集成allatori

1、把lib目录拷贝到工程目录下。如下图

2、配置pom.xml

<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> 

3、修改allatori配置文件

<config>
    <input>
        <jar in="../target/cohelps-admin-server.jar" out="../target/cohelps-admin-server-3.8.0.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.*"/>
        
        <class template="class *springframework*"/>
        <class template="class *apache*"/>
        <class template="class *yaml*"/>
        <class template="class org.springframework.*"/>
        <class template="class com.bstek.*"/>
        <class template="class com.alibaba.*"/>
        <class template="class com.baomidou.*"/>
    </ignore-classes>
</config>

4、执行maven install 即可自动生成混淆jar包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值