介绍大家可能都会碰到一些代码比较敏感的项目场景,这个时候代码被反编译看到就不好了,这个时候就需要代码混淆插件来对代码进行混淆了。基于Maven的项目一般会去考虑使用proguard-maven-plugin,但是这个插件仅支持打Jar包不支持打War包。于是我用空闲时间在proguard-maven-plugin的基础上修改了里面的一部分逻辑,可以在项目构建过的时候把代码混淆,支持打成jar包和w
转载
2024-02-28 14:05:37
592阅读
MavenMaven是什么?Maven 翻译为"专家"、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目
Maven WEB 项目使用ProGuard进行混淆,最佳解决方案近期公司的Android项目做了混淆,虽说对于保护代码并不是100%的,但混淆后的代码可以使那些不法份子难以阅读,这样也能对代码的保护做出贡献。 于是,公司写的一大堆WEB项目也想做保护。但几大问题随之而来:公司的所有项目全部是Maven项目,网上的混淆方案不是陈旧就是无效网上的大部分解决方案感觉像是对简单DEMO进行混淆
博客上有过几篇 Maven 方面的文章,涉及到了几个零散的点。这篇 Chat 会专门介绍一个良好的企业级 Maven 依赖管理应该如何设计。内容包含私服配置,第三方依赖管理,公司内部依赖管理,项目结构对应的依赖管理。最后也想通过本篇 Chat 和大家交流一下 Maven 依赖管理方面的经验。由于本文涉及内容太多,不想在文章中包含太多基础的内容,但是对于了解不深的人来说,没有这些内容也
转载
2024-09-10 12:02:53
136阅读
ProGuard基础语法和打包配置 这是对Android打包混淆所需配置所做的总结. ProGuard常用语法 下面列出一些常用的语法-libraryjars class_path 应用的依赖包,如android-support-v4-keep [,modifier,...] class_specification 不混淆某些类-keepclassmembers [,modifier,...]
一、开始原因 因公司需要,故研究 proguard 混淆代码,期间踩了不少坑,记录一下过程,避免下次再次踩坑,也希望可以帮到大家。代码环境: spring-boot 2.2.5, jdk 1.8, maven 3.6 二 、p
1. 前言有时候我们开发的软件有不同的环境,开发阶段是开发环境,也就是我们这些研发人员平时使用的环境,大多数人开发还是在Windows下面吧,少数人连开发环境都需要在Linux或者Unix下进行,因为Java自身的跨平台性可能在哪个操作系统下开发差别不大,如果Java调用C/C++执行特定服务,就需要C/C++人员开发时最好和生产环境一样在Linux(而且版本一致)下进行研发,省得到时
转载
2024-10-12 10:24:10
298阅读
maven-shade-plugin简介“This plugin provides the capability to package the artifact in an uber-jar, including its dependencies and to shade - i.e. rename - the packages of some of the dependencies.”,这句话简
转载
2024-09-26 09:38:58
107阅读
一、引言Q群的朋友问道可不可以在多个Web应用间合并打包成一个WAR来发布,现实情况下也存在,比如一个某大型电子商务网站,包含有机票、酒店、旅游、VIP客户等频道,其实每个频道都是分开独立的应用,但是主站上页头和页尾是公用的,怎么把主站的公共部分无缝集成到各个频道,这就颇具现实意义了,当然这只是部分运用。还有就是在项目扩展的时候,有些项目不是通过Maven构建的,并且规定你只能在它的上面进行拓展。
依赖范围就是用来控制依赖与这三种classpath(编译classpath、测试classpath、运行classpath)的关系,Maven有以下几种依赖范围。 1.compile: 编译依赖范围。如果没有指定,就会默认使用该依赖范围。使用此依赖范围的maven依赖,对于编译 测试 运行三种的classpath都有效。 2.test:测
今天主要说一下在项目里如何引用这个包。 1 如果只是使用包里的资源,而不使用这个包的依赖包,需要这样引用即可<dependency>
<groupId>com.lind</groupId>
<artifactId>a-start-test-depend-shade</artifactId>
没有Maven之前的日子个人的一个小感受,学习一个新技术,应该以历史的眼光开看待这个新技术出现的原因,以及帮我们解决了什么问题。我们来回忆一下没有Maven的日子是怎么样的?开发一个项目,需要用别人写好的jar包,我们先把开源的jar包下载下来放到项目的lib目录下,并把这个目录添加到CLASSPATH(告诉Java执行环境,在哪些目录下可以找到你要执行的Java程序需要的类或者包)我们
转载
2024-06-21 18:22:42
129阅读
前面文章《Proguard进行源代码混淆》讲解过怎么使用Proguard工具对Android的源代码进行混淆的方法(感兴趣的朋友可以访问:),但是在实际工作中发现,通过上述方法对导出的Jar并没有进行混淆。 下面我们就介绍,如果对导出的Jar包进行代码混淆。 一、准备工作 首先我们要准备好:1.你已经导出的jar包(srcjar.jar)文
Java 代码编译后生成的 .class 中包含有源代码中的所有信息(不包括注释),尤其是在其中保存有调试信息的时候。所以一个按照正常方式编译的 Java .class 文件可以非常轻易地被反编译。通常情况下,反编译可以利用现有的工具jd-gui.exe或者jad.exe。(这两个反编译工具在我的资源里有下载:有些情况下,为了保护java源码不被别人看到,通常会使用加密手段对java源码进行加密,
转载
2024-09-24 09:14:41
349阅读
上文已实现打出可执行的jar包,在原来pom基础上,加入的配置即可。<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
转载
2024-05-16 11:01:07
699阅读
scope范围名称有效范围Compile编译,测试,运行。默认的依赖范围Test测试,如JunitRuntime运行,如JDBCProvided编译,测试,如ServletAPISystem编译,测试,依赖于系统变量compilemaven默认的范围就是compile,在所有的classpath中可用,同时它们也会被打包。provided依赖只有在当JDK或者一个容器已经提供该依赖之后才使用。例如
转载
2024-06-16 15:26:04
100阅读
ProGuard代码混淆插件Maven配置
原创
2022-12-03 00:19:31
1162阅读
# Spring Boot Proguard Maven Plugin
[ 是比较出色的 Java 代码混淆工具,可以有效的保护与优化你的代码。当然这里说的保护是防止恶意抄袭,通过混淆造成反编译阅读困难。但逻辑与内容并不会加密,仔细分析还是可以获得一些信息。 b、proguard-maven-plugin 是 Maven 中的 ProGuard 插件,可以非常方
转载
2024-05-26 10:03:26
366阅读