Java教程

java代码混淆工具Allatori

本文主要是介绍java代码混淆工具Allatori,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

  • 1 从官网下载allatori文件
  • 2 Eclipse 下进行代码混淆
    • 2.1 config.xml 详解
  • 3 单个jar文件进行混淆
  • 4 注意事项


1 从官网下载allatori文件

http://www.allatori.com/,也可以从以下链接获取

有时候处于某种原因,我们需要将自己的代码做一些“处理”,保护一下自己小小的辛苦成果。至于allatori的技术原理以及其他的混淆技术这里不做解释,只是做一些简单记录
解压后文件:

img

其中lib下是执行混淆用到的jar包allatori.jar和allatori-annotations.jar

tutorial 各种案例

其实打开readme.html 里面就已经有比较完成的操作步骤

2 Eclipse 下进行代码混淆

将上文lib下的allator.jar复制到eclipse安装目录
eclipse/dropins下(可以通过右键开发工具图标获取地址)

右键要混淆的项目选择Configure–>add Allatori

clean项目,生成的class文件就是混淆后的代码了。

这里需要补充一点,在点击混淆前还有一个配置文件需要简单处理一下

可以去Allatori-7.0-Demo\tutorial\step01\files 路径下复制config.xml文件到你的项目主路径下,混淆的时候根根据config.xml的内容进行处理

img

关于config.xml文件中的配置项可以去官网查阅。

反编译其中一个文件,内容已经不好阅读img

2.1 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"/>

3 单个jar文件进行混淆

上面的方式一般都是整个项目进行混淆,如果只想混淆几个关键的核心代码,只需要把需要混淆代码打个jar包,然后单独混淆此jar包即可

复制对应的class文件,打成jar包(通过 jar cvf 包名.jar * )

img

cmd 下进入F://down/bb目录下 执行命令 jar cvf core3.jar *

3.2 将core3.jar复制到目录Allatori-2.3-Demo\Allatori-7.0-Demo\tutorial\step01\files下

img

3.3 修改config.xml文件

img

运行RunAllatori.bat 得到corem.jar

反编译查看结果

img

4 注意事项

如果代码里请求静态资源的方法,注意请求路径的写法。因为如果是第三步将混淆后的jar包导入项目,获取文件的相对路径可能会不一样
如果方法中有重定向等写法,主要不要将此内容进行混淆

这篇关于java代码混淆工具Allatori的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!