`
小网客
  • 浏览: 1241636 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Maven打包对java代码进行混淆处理

 
阅读更多

需求:

对java打包编辑进行混淆防止反编译

实现:

<plugin>
	<groupId>com.github.wvengen</groupId>
	<artifactId>proguard-maven-plugin</artifactId>
	<version>2.0.7</version>
	<executions>
		<execution>
			<phase>package</phase>
			<goals>
				<goal>proguard</goal>
			</goals>
		</execution>
	</executions>
	<configuration>
		<attach>true</attach>
		<attachArtifactClassifier>pg</attachArtifactClassifier>
		<options>
			<!-- 详细配置方式参考 ProGuard 官方文档 -->
			<option>-ignorewarnings</option>
			<option>-dontshrink</option>
			<option>-dontoptimize</option>
			<option>-dontskipnonpubliclibraryclasses</option>
			<option>-dontskipnonpubliclibraryclassmembers</option>
			<option>-repackageclasses org.noahx.proguard.example.project2.pg</option>

			<!-- 以下为 Keep,哪些内容保持不变,因为有一些内容混淆后(a,b,c)导致反射或按类名字符串相关的操作失效 -->

			<option>-keep class **.App</option>
			<option>-keepattributes Signature</option>

			<option>-keepattributes SourceFile,LineNumberTable,*Annotation*</option>


		</options>
		<outjar>${project.build.finalName}-pg</outjar>
		<libs>
			<lib>${java.home}/lib/rt.jar</lib>
			<lib>${java.home}/lib/jsse.jar</lib>
			<lib>${java.home}/lib/jce.jar</lib>
		</libs>

	</configuration>

</plugin>

详情参见ProGuard官方配置

0
0
分享到:
评论

相关推荐

    Java+IDEA+maven混淆打包

    在Java开发过程中,为了保护代码安全和防止反编译,我们常常需要对代码进行混淆处理。本教程将详细介绍如何在IntelliJ IDEA(IDEA)中利用Maven进行混淆打包的步骤,确保整个过程顺利且有效。 首先,我们需要了解...

    Java+IDEA+Maven混淆打包

    本教程将详细讲解如何在IntelliJ IDEA(IDEA)中利用Maven进行混淆打包,确保代码的安全性并提高可维护性。 首先,让我们了解一下涉及的工具和技术: 1. **Java**: 一种广泛使用的面向对象的编程语言,用于构建跨...

    allatori第二代Java代码混淆器Maven打包配置,依赖库,以及配置文件

    allatori第二代Java代码混淆器Maven打包配置,依赖库,以及配置文件。示例运行,可行。

    实现maven管理的Javaweb项目的proguard代码混淆功能

    在Java Web开发中,代码安全性和保护知识产权是一个重要的议题,其中一种有效的手段就是对源代码进行混淆处理。本文将深入探讨如何在Maven管理的Java Web项目中集成ProGuard工具来实现代码混淆功能,以及在过程中...

    springboot工程(单个maven工程)利用proguard实现代码混淆 java demo案例

    Spring Boot作为Java领域广泛使用的微服务框架,其工程结构通常包含敏感信息和业务逻辑,因此,对代码进行混淆处理可以有效防止逆向工程攻击,同时也能优化应用的运行效率。ProGuard是一款强大的Java类文件混淆、...

    对java jar包实现混淆加密

    本文将深入探讨如何对Java jar包进行混淆加密,以及相关工具的使用。 一、代码混淆的重要性 代码混淆的主要目的是使原始的Java代码变得难以理解和反编译。这通过改变类、方法和变量的名称,以及重排和优化代码结构...

    maven打包使用yui压缩css和js文件

    YUI Compressor是一款由Yahoo开发的开源工具,它能够去除代码中的空白、注释,并进行变量名混淆,从而减小文件大小。 在Maven中实现这个功能,我们需要借助maven-assembly-plugin或者maven-war-plugin,但更常见的...

    maven 代码混淆.zip

    `maven-compiler-plugin`负责编译Java源代码,而`maven-proguard-plugin`则处理混淆过程。 ```xml &lt;groupId&gt;org.apache.maven.plugins &lt;artifactId&gt;maven-compiler-plugin &lt;version&gt;3.8.1 &lt;source&gt;1.8 ...

    springboot工程(单个maven工程)利用proguard实现代码混淆

    本篇文章将详细探讨如何在一个Spring Boot的Maven工程中集成并使用ProGuard进行代码混淆。 首先,让我们理解什么是代码混淆。代码混淆是指将源代码中的类名、方法名和变量名替换为无意义的简短名称,同时保持代码的...

    java 代码混淆,网上可以找到的demo

    - 对混淆后的代码进行测试,确保功能完整性。 7. **混淆示例**: 在ProGuard配置文件(proguard.cfg)中,一个简单的混淆规则可能是: ``` -keep public class * { public protected *; } ``` 这条规则会...

    使用maven将Java程序打包成exe文件并制作成Windows系统服务(六)之使用allatori对Java代码混淆

    运行`mvn clean package`命令,Maven会按照配置顺序执行构建流程:首先编译源代码,然后使用Allatori混淆代码,接着打包成JAR,最后由Launch4j转换为exe文件。 对于Windows系统服务的创建,你可以使用Java Service ...

    java混淆代码的使用

    本文将深入探讨Java混淆代码的使用,包括其目的、原理以及如何操作。 混淆(Obfuscation)是一种优化技术,它通过重命名类、方法和变量,去除注释,甚至改变控制流结构,来降低代码的可读性,同时保持代码的功能...

    使用Maven控件proguard-maven-plugin给可执行jar文件混淆

    在Java开发中,为了保护代码的安全性和防止未经授权的逆向工程,我们通常会对代码进行混淆。Maven作为Java项目管理的重要工具,可以帮助我们自动化构建、测试和打包过程。本篇文章将详细讲解如何使用Maven插件`...

    Spring Boot + Allatori 代码混淆demo

    3. **集成到Spring Boot项目**:将Allatori作为构建工具的一部分,例如在Maven或Gradle的构建脚本中添加插件配置,确保在打包过程中执行混淆操作。 4. **执行混淆**:运行Allatori,指定输入(未混淆的JAR文件)和...

    maven打包过程执行自定义插件包

    在插件的Java代码中,我们可以使用Maven的API来访问项目的元数据,如源码位置、构建目录等,从而进行相应的处理。 总结一下,通过在Maven的pom.xml文件中配置自定义插件,我们可以扩展Maven的默认生命周期,使其在...

    JAVA代码打包工具

    8. 打包优化:除了基本的打包,我们还可以进行一些优化,如混淆(Obfuscation)以增加代码的可读性,压缩(Compression)以减小文件大小,以及资源的优化合并。 9. 版本控制与持续集成:与版本控制系统(如Git)...

    jar代码混淆器最新版5.3.3

    2. **集成到构建过程**:对于Maven或Gradle项目,可以在构建脚本中配置ProGuard插件,使其在打包时自动执行混淆操作。 3. **运行ProGuard**:执行ProGuard命令,处理输入的JAR或DEX文件,并生成混淆后的输出文件。 ...

    Gradle混淆+打包Jar包基础DEMO

    总的来说,Gradle通过其灵活的配置和丰富的插件生态系统,使得混淆和打包Java项目变得简单易行。只需按照上述步骤配置`build.gradle`文件,你就能为你的Java应用实现高效的混淆和打包操作。在实际项目中,你可能需要...

    obfuscation-maven-plugin:一个用于使用qprotect混淆编译文件的Maven插件

    qprotect是一个强大的代码混淆工具,它可以对Java字节码进行混淆,使得原始代码变得难以阅读和理解。通过改变变量名、方法名、类名,甚至重构控制流,qprotect能有效地提高代码的安全性。同时,它还尽可能地保持代码...

    JAVA 打包(jar\tar\zip)源码

    在Java开发过程中,打包是将源代码、资源文件和元数据整理成可执行或可部署格式的重要步骤。这里我们将深入探讨JAVA的打包机制,主要关注jar、tar和zip这三种常见的打包格式,以及如何处理它们的源码。 首先,`jar`...

Global site tag (gtag.js) - Google Analytics