Allatori 代码混淆 整合springboot 项目 初体验

Java源代码加密工具(Allatori)用法说明 一、Allatori简介 Allatori 是第二代 Java 混淆器,可为您的知识产权提供全方位的保护。 尽管大多数第二代混淆器都提供了值得保护的级别,但我们已经在Allatori中开发了许多附加功能,以使对代码进行逆向工程几乎不可能。 Allatori 不仅会混淆,还会最大程度地减少应用程序的大小并提高速度,同时您和您的团队以外的任何人都无法读取您的代码。作为每个现代 Java 混淆器,Allatori 具有完整的水印功能,从而有可能为您的软件提供适当的许可!如果有必要保护您的软件,并且... 阅读详情

Allatori
最近涉及到一些代码安全方面的工作,找到Allatori 这个代码混淆工具,代码混淆是将代码中类名、方法名、属性名替换为无意义符号,增加代码逆向难度,对应用程序逻辑结构进行打乱混排,保证源码可读性降到最低,从而实现代码保护。
官网下载 http://www.allatori.com/ 压缩包

1.pom.xml中引入插件

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.2.1.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!-- Allatori plugin start -->
            <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>${project.basedir}/target</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>${project.basedir}/src/main/resources</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>
                        <!-- allatori混淆的jar文件目录 -->
                        <argument>${project.basedir}/lib/allatori.jar</argument>
                        <!-- allatori混淆的配置文件-->
                        <argument>${project.basedir}/src/main/resources/allatori.xml</argument>
                    </arguments>
                </configuration>
            </plugin>
            <!-- Allatori plugin end -->
        </plugins>
    </build>

2.打开下载好的压缩包,找到 这两个jar包
在这里插入图片描述
3.复制上面两个jar包到项目目录下新建一个lib 丢进去,这里我的项目是多模块的项目,先放在start目录下
在这里插入图片描述
4.resource 目录下新增allatori.xml
在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <input>
        <!-- 这里的in表示需要混淆的jar(springboot打包后的jar),out表示输出混淆后的jar(混淆器修改springboot打包后的jar) -->
        <jar in="../../../target/xxx.jar" out="../../../target/xxx-obfuscated.jar" />

    </input>
    <!-- 不替换类名、方法名、属性名 -->
    <keep-names>
        <class access="protected+">
            <field access="protected+" />
            <method access="protected+" />
        </class>
    </keep-names>

    <ignore-classes>
        <!-- 	忽略springBoot的启动项(防止启动报错)	 -->
        <class template="class *springframework*" />
        <!-- 不混淆框架内的东西(包括Redis,Jbdc,DAO层和Entity层等),最好只混淆自己的核心逻辑-->
    </ignore-classes>
    <!-- 接口形参名保持不变 -->
    <property name="local-variables-naming" value="keep-parameters"/>
    <property name="log-file" value="log.xml" />
    <!--	添加水印密匙,主要用来保护版权	 -->
    <!-- <watermark key="secure-key-to-extract-watermark" value="Customer: John Smith; Date: xx.yy.zzzz"/> -->
    <!-- 	配置过期时间	 -->
    <!-- <expiry date="2000/01/01" string="EXPIRED!"/> -->
    <!-- 随机命名混淆字符-->
    <property name="random-seed" value="cshxzf jrncbd hh"/>
</config>

5.配置都完成之后,使用maven package 打包,完成之后在target目录下会生成两个jar包,一个是正常的jar包一个是混淆后的jar包
在这里插入图片描述
在这里插入图片描述
6.正常生成之后打开jar包 再使用反编译工具打开class文件查看代码已经被混淆了。

总结: 我这里遇到的几个问题是,因为我是多模块的项目,将配置完成之后发现结果只有starter模块的代码被混淆了,其他的模块的还是原样,网上也搜查了些资料说是在allatori.xml文件里面配置多个模块就可以了,但是最后都给我报错说找不到目标文件,后来也没再继续找下去,我自己的处理方式是在每个模块下面再配置同样的代码,最后每个模块都会生成自己的混淆后的jar包,我最后再将混淆后的jar包 手动丢到start的jar中替换没有混淆的jar包。
不知道大家有没有别的有效的办法 可以share一下。

Allatori混淆SpringBoot项目代码 Allatori简介 Allatori是一个Java 混淆器,它属于第二代混淆器,因此它能够全方位的保护你的知识产权。 Allatori具有以下几种保护方式:命名混淆,流混淆,调试信息混淆,字符串混淆,以及水印技术。对于教育和非商业项目来说这个混淆器是免费的。支持war和jar文件格式,并且允许对需要混淆代码的应用程序添加有效日期。 有项目需要对代码进行保护,比较初级的方案就是对代码进行混淆,打包之后的文件进行反编译后,就可以看到效果。 Allatori官方文档 ... 阅读详情

相关推荐

【Java】Allatori代码加密

今天给各位分享一个Allatori代码加密实战,这个其实是我这边在做Allatori调研时写出来的操作实例,希望对大家有用

Kida 的躺平小屋 2062

关于allatori代码混淆技术的一次实践

allatori官方网站:https://allatori.com/ proguard官网: https://www.guardsquare.com/proguard.

Carson073的博客 4159

SpringBoot项目Jar包防反编译实战:从代码混淆到字节码加密

在Java应用开发中,保护知识产权和代码安全是开发者面临的核心挑战之一。Java字节码因其跨平台特性,虽易于分发,但也容易被反编译工具还原为可读的源代码,导致核心算法和敏感配置泄露。其原理在于.class文件包含了丰富的元数据信息。为了应对这一风险,代码混淆技术应运而生,它通过重命名、控制流变换等手段,在不影响程序运行的前提下,大幅增加反编译后代码的理解难度,从而有效保护业务逻辑。对于安全要求更高的场景,字节码加密结合自定义类加载器的方案提供了更强的静态保护,它在构建阶段对关键代码进行加密,仅在运行时于内存

com_xpp的专栏 407

Spring Boot使用Allatori代码混淆

Allatori混淆技术介绍 Allatori是一个Java 混淆器,它属于第二代混淆器,因此它能够全方位地保护你的知识产权。 Allatori具有以下几种保护方式:命名混淆,流混淆,调试信息混淆,字符串混淆,以及水印技术。对于教育和非商业项目来说这个混淆器是免费的。支持war和jar文件格式,并且允许对需要混淆代码的应用程序添加有效日期。 有项目需要对代码进行保护,比较初级的方案就是对代码进行...

做工作不具体化,想问题就会简单化 3701

使用Allatori进行Spring Boot代码混淆

在构建和部署Spring Boot应用程序时,代码混淆是一种常用的安全措施,它可以使代码更难以阅读和理解,从而增加攻击者分析和逆向工程的难度。记住在进行代码混淆之前备份你的代码,并在混淆后测试应用程序的功能。混淆后的代码将使用各种技术和策略进行重命名、删除无用代码和添加混淆指令,以增加代码的复杂性和混淆程度。首先,将生成的可执行JAR文件复制到一个新的目录中,以便我们可以在不影响原始代码的情况下进行混淆。完成代码混淆后,我们可以测试混淆后的代码,以确保应用程序仍然能够正常运行。是混淆后的JAR文件的名称。

CgbAutoit的博客 807

Spring Boot + Allatori 代码混淆demo

基于Spring Boot,运用Allatori 6.4版本对代码进行混淆的demo。内含Allatori文档及详细工程。

SpringBoot项目——混淆加密

SpringBoot项目——混淆加密 Java是一种跨平台的编程语言,代码运行之前会被JDK编译成字节码文件。在Java字节码中包括了很多源代码信息,比如变量名、方法名等等,并且通过这些名称来访问变量和方法,这些符号带有许多语义信息,很容易被反编译成Java源代码。平时我们在分发和部署项目的时候,为了保护我们自己的知识产权,通常要对Java代码进行混淆加密。 Oracle数据库是用Java开发的,如果代码不混淆加密的话,任何人都能通过反编译程序,获取到Oracle的源代码。以Oracle的行事作风,所有影

m0_46540897的博客 6024

Spring Boot使用Allatori代码混淆的方法

主要介绍了Spring Boot使用Allatori代码混淆的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

Spring Boot应用代码混淆实战:ProGuard配置与反编译防护

在Java应用开发中,代码安全是保护知识产权和业务逻辑的关键环节。Java字节码因其包含丰富的元数据信息,容易被反编译工具还原为近似源代码,这为商业软件和敏感系统带来了潜在风险。代码混淆技术通过重命名类、方法和字段,以及优化控制流,在不改变程序逻辑的前提下,显著增加反编译后代码的理解难度,从而提升破解成本。ProGuard作为主流的开源混淆工具,通过压缩、优化、混淆和预校验四个阶段,有效保护编译后的.class文件。在Spring Boot项目中,合理配置ProGuard保留规则,确保Spring组件、注解

weixin_33797791的博客 483

认知网络分析实战:用Python复现课堂对话研究(含LSA代码)

本文通过Python实战,详细演示了如何运用认知网络分析(ENA)和滞后序列分析(LSA)两种方法,对课堂对话数据进行深度挖掘。文章提供了从数据清洗、行为编码到网络构建、序列统计及可视化的完整代码流程,帮助教育研究者和数据分析师量化分析对话中的认知结构与动态互动模式,从而获得超越文本表面的研究洞见。

weixin_28559803的博客 148

【Ultrascale+ MPSOC学习记录】10、PS端以太网使用lwip

还是参考ALINX教程,学习PS端以太网如何使用,从教程中可以看到,开发板使用了一个xilinx默认不支持的phy JL2121,所以需要修改lwip的库源码。

ryo891012的博客 869

代码混淆工具-Allatori-8.1使用

在工作中,我们写的代码需要开源和需要给团队中的人使用,为了防止代码被轻松反编译,可以通过混淆工具,降低代码的可读性。 文章目录前言一、Allatori介绍二、使用步骤1.引入jar和配置文件2.配置allatori文件3.配置pom.xml总结 前言 本文主要讲解allatori在Java maven工程中的使用方法。 一、Allatori介绍 官方地址: http://www.allatori.com Allatori 是第二代 Java 混淆器,可为您的知识产权提供全方位的保护。 尽.

blackoon88的博客 6142

SAP MIRO发票自动化:BAPI_INCOMINGINVOICE_CREATE实战解析

本文深入解析了如何使用SAP标准BAPI_INCOMINGINVOICE_CREATE实现MIRO发票校验流程的自动化。通过实战代码示例,详细阐述了从采购订单和收货凭证获取数据、构建BAPI核心参数、处理常见错误到高级场景优化的完整路径,旨在帮助SAP开发人员构建稳定、高效的自动化解决方案,提升财务处理效率与准确性。

weixin_29243279的博客 492

使用Allatori对Spring Boot项目进行代码混淆

Allatori混淆技术介绍 Allatori是一个Java 混淆器,它属于第二代混淆器,因此它能够全方位的保护你的知识产权。 Allatori具有以下几种保护方式:命名混淆,流混淆,调试信息混淆,字符串混淆,以及水印技术。对于教育和非商业项目来说这个混淆器是免费的。支持war和jar文件格式,并且允许对需要混淆代码的应用程序添加有效日期。 有项目需要对代码进行保护,比较初级的方案就是对代码进行...

Lovnx 1万+

ARTIX-7 GTP 3G-SDI 工程构建与调试实战

本文详细介绍了基于ARTIX-7 FPGA和GTP收发器的3G-SDI工程构建与调试实战。从基础概念解析到Vivado工程创建、GTP IP核配置、SDI IP核集成,再到系统集成与时钟域处理,提供了全面的技术指导。文章还分享了调试技巧、常见问题排查方法以及性能验证步骤,帮助开发者快速掌握3G-SDI视频传输技术的实现与优化。

weixin_30443813的博客 253

关于华为高斯数据库出现Invalid or unsupported by client SCRAM mechanisms定位解决的过程

最近公司有个新项目使用的是高斯数据库,因为我们的项目是直接从别的项目组拿来的,配置都是已经配好的,但是在放到正式环境上之后出现报错。起初我们以为是测试和正式的版本不一致,但是结果是版本一致的。最后这个问题搞了我们几个小时,都没法解决。

Curtisjia的博客 3162

allatori-JAVA代码混淆工具

Allatori不仅仅是混淆,它还能最大限度地减少应用程序的大小,提高速度,同时除了你和你的团队,任何人都无法读懂你的代码。Allatori和所有现代的Java混淆器一样,具有完整的水印功能,可以为您的软件提供适当的许可!虽然大多数第二代混淆器都能提供值得信赖的保护,但我们在Allatori中开发了一些额外的功能,使代码的反向工程几乎不可能。如果你有必要保护你的软件,如果你想减少它的大小和处理时间,Allatori混淆器是为你准备的。

xyw10000 1869

第3.4章 机器人第三方库实战总结(四):G2O优化库从入门到实战(附SLAM实例代码)

自定义边同样是满足复杂应用需求的重要手段。自定义边时,需要明确边所连接的顶点类型以及边所表示的误差项的计算方式。假设我们要定义一条边,用于约束两个上述自定义顶点之间的相对位姿和传感器偏移量关系。我们可以这样定义边类:public:// 计算误差// 计算雅可比矩阵// 读盘和存盘函数,这里暂不实现。

行知SLAM 351

allatori入门

需要去官网下载allatori jar。 1、下载的jar可以放到项目可以读到的地方。 2、编写混淆配置allatori.xml 示例配置: <?xml version="1.0" encoding="utf-8"?> <!--方法参数名称保持不变,避免公共api接口等出现异常 --> <property name="local-variables-nami

jeesite的博客 1500

SolidWorks2020详细步骤安装教程

1、在安装软件前请断开网络连接,需要安装.NETFramework3.5和4.0,最后还要确保把之前安装的旧版本完全卸载,以管理员身份运行SolidWorks_Flexnet_Server\server_remove.bat,然后等到服务“SolidWorksFlexnet服务器”将被删除。12、先不要运行软件,找到_SolidSQUAD_文件夹,将文件夹“ProgramFiles\SOLIDWORKSCorp”中的所有破解文件复制替到“ProgramFiles\SOLIDWORKSCorp”目录下;

qq_53545309的博客 1万+

交换机背板带宽、交换容量与包转发率到底是啥?

在网络工程中,交换机是核心设备之一,而关于它的性能指标,背板带宽、交换容量、以及包转发率往往成为人们衡量其性能的重要参数。这些术语的定义、关系、以及在实际场景中的应用,都对交换机的选型与部署有着重要意义。本文将为您全面解读这些概念,帮助您深入了解交换机的核心性能指标。

网络技术联盟站 1542

使用allatori混淆springboot项目模块

1.首先到官网下载混淆所需要的jar包:allatori.jar 官网地址:http://www.allatori.com 2.在项目的pom文件中添加混淆的插件 <build> <plugins> <!--混淆配置开始--> <plugin> <groupId>org.codehaus.mojo</groupId>

Xiaoxin_Java的博客 1508

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

混淆工具之Allatori的使用

Allatori简介: Allatori是一个Java 混淆器,它属于第二代混淆器,因此它能够全方位地保护你的知识产权。 Allatori具有以下几种保护方式:命名混淆,流混淆,调试信息混淆,字符串混淆,以及水印技术。对于教育和非商业项目来说这个混淆器是免费的。支持war和jar文件格式,并且允许对需要混淆代码的应用程序添加有效日期。官网地址:http://www.allatori.com...

LHAbner的博客 6704

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

一款上手即用的Java代码混淆工具

Java代码很容易进行反编译,如果有人想要研究你的项目,随便反编译一下就看得清清楚楚了,公司的项目对外发布时希望能够进行加密,所以这时候就需要对源码进行混淆

欢迎光临 1万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Spring Boot 自动配置:引入依赖后,Bean 是怎么创建的?

Spring Boot自动配置并非引入依赖即生效。需通过@AutoConfiguration入口导入配置类,再经@ConditionalOnProperty等条件判断,结合配置属性(如cache.caffeine.enabled=true)与依赖注入(如InternalServiceClient)共同决定Bean创建。即使开启开关,若缺少必要依赖或初始化条件不满足,仍无法生成Bean。自定义同类型Bean不会自动替换,默认配置仍会注册,除非显式使用@ConditionalOnMissingBean。关键在于

MetaLite的博客 97
上一篇: springboot 整合Druid 连接池并开启监控GUI (多数据源)
下一篇: Feign + Ribbon + hystrix 设置超时时间,解决接口调用Socket read time out
一名软件修理工
博客等级 码龄9年 2168粉丝 20原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一名软件修理工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值