Idea打包混淆时注意

开发者福利!热门AI工具限免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

Idea打包混淆时注意


1、对于已加入的jar,使用

-libraryjars libs/youjarname.jar ,会报错(Eclipse上不会):
Error:ProGuard: [H5Project] Note: there were 282 duplicate class definitions.(提示类定义冲突了)
注意:idea有的时候错清除了,注意清理一下缓存


2、(1)*是一层,**是多层
(2)对于第三方包,如果第三方没有提供混淆说明,那就不要混淆,免得影响功能
-dontwarn 包名.**
-keep class 包名.**{*;}
(3)对于某些第三方包(记为包A),其也使用了第三方包(记为包B),但是我们使用到的A包中的功能与包B无关(既B包不影响我们使用A中的某些功能),因而我们无需把包B也导入,但是用idea时会报错,对于此种情形,解决方法如下:
a. 把包B也到入到工程(但是有一种情形下是多层引用,A引用了多个包或者B又引用了其它包)
b. 法二:
A包目录:A.A1.B1, A.A1.B2.C1, A.A1.B2.C2,A.A1.B3
B包目录:不用管,A.A1.B2中使用了B包,但是我们使用的是A.A1.B1或者A.A1.B3中的功能,没有使用A.A1.B2.**中的功能,但是A.A1.B2.**使用了B包,混淆时会报错找不到。
比如报错A.A1.B2.**中某类中的B.A.*某类找不到
错误类似:
Error:ProGuard: [项目名]   Exception   = [java.lang.IllegalArgumentException] (Can't find any super classes of [A/A1/B2/C1/Object] (not even immediate super class [B/A/C/AbstractObject]))


此时解决方法如下:
-dontwarn A.A1.**
-keep class A.A1.*{*;}#不能用**
-dontwarn A.A1.B2.**
#-keep class A.A1.B2.**{*;}#这行一定不能加,让其混淆掉(就能忽略检查,混淆通过)

注意-keep class与-keep public class的不同



Idea插件开发中使用ProGuard混淆代码 配置gradle插件 gradle配置ProGuard插件 buildscript { repositories { jcenter() } dependencies { classpath 'net.sf.proguard:proguard-gradle:6.2.2' } } 添加混淆task // idea 依赖所在目录 def... 阅读详情

相关推荐

idea使用Allatori混淆java代码

摘要 我们平开发的java项目大多是生成一个jar包运行,而jar包可以通过jd-gui进行解析,然后看到我们的源代码,如果我们写了大量的代码别人直接通过这样的方式把我们的辛苦成果直接窃取了那是多么难过的事情,因此我们很有必要对jar包做一些混淆代码的操作,让别人无法直接看懂我们的代码。本文将教会你如果把jar包进行混淆 一.创建java项目,并运行 1.创建并运行工程: 点...

aa787282301的博客 6737

Java+IDEA+Maven混淆打包

IDEA中使用maven打jar包,然后使用工具混淆代码,亲测有效

Java项目混淆打包指南:使用IDEA和Maven

Maven允许开发者自定义构建配置,通过修改pom.xml文件或使用Maven的Profile功能,可以为不同的环境设置不同的构建参数或插件配置。例如,可以根据不同的环境(开发、测试、生产)激活不同的Profile,来调整构建行为。自定义构建配置的一个重要方面是优化Maven的构建过程。可以采取以下策略进行优化:并行多模块构建:使用-T或parallel插件参数并行处理多个模块的构建。使用快照版本和更新策略:利用快照版本来频繁更新依赖,而非发布版本。

weixin_42590539的博客 1422

Java+IDEA+maven混淆打包

IDEA中使用maven打jar包,然后使用工具混淆代码,亲测有效

IDEA 使用ProGuard混淆Maven项目代码

转自:IDEA 使用JDK1.8使用ProGuard混淆Maven项目代码_DCTANT的博客-CSDN博客_idea 代码混淆 博主这个pom配置试了确实能行,赞! <plugin> <groupId>com.github.wvengen</groupId> <artifactId>proguard-maven-plugin</artifactId>

馒 的技术空间 3039

IDEA 使用JDK1.8使用ProGuard混淆Maven项目代码

这里面的坑实在是太多了,整这个东西整到心态爆炸,要不是公司要求搞这个东西,我都想放弃了!最终在我的坚持下完成了这个混淆。 前面的一些小坑: 坑1:proguard-maven-plugin下载非常慢,以及跑mvn clean package下载非常慢。 解决方法:在C:\Users\${用户名}\.m2文件夹下创建settings.xml,然后填入: <?xml version="1...

DCTANT的博客 2万+

IDEA打包工具类jar并混淆

最近在做lincense授权功能,做了个license生成以及验证工具类,为了防止用户破解,需要打成jar包并混淆,在此记录一下。 生成jar idea中有个东西叫Artifacts,对于Maven来说,所有生成的东西都可以叫作Artifact,当然也包括Jar。 打开项目配置:Project Structure–>选择左侧Artifacts–>然后添加一个空jar包。 添加完之后可以修改jar包名称,按自己需要修改即可。 配置需要打成jar包的工具类。 这是我们选择项目运行后生成

刘健宁的博客 5629

[转]java代码混淆以及及IDEA中springboot使用Allatori进行混淆

1. 原因 由于看到很多的java项目通过反编译jar包能够看到代码的具体实现,相当于将所有的逻辑都暴露在外,会造成很大的危险,因此,本次主要学习一下关于如何预防此类问题的方法,本文主要讨论通过代码混淆的方式来对打包出来的jar包进行处理 2. 代码混淆(取自百度百科) 百度百科对于代码混淆的解释:代码混淆亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。代码混淆可以用于程序的源代码,也可以用于程序编译而成的中间代码。执行代码混淆的程序被称作代码混淆器。 主要是首先

Crazy的专栏 1541

IDEA 指定单独的class 发布可执行的jar包并且混淆

1.如何在IDEA中把工具类打包成Jar?_骑士逸-CSDN博客_idea怎么打包成jar具体的操作过程在这篇文章中已经记录的非常清晰了 2.proguard怎么使用 jar包混淆操作_赖胖子的博客-CSDN博客_jar 混淆 有几个问题需要注意的是: 1.报找不到主类就是放在jar包中的文件为 *.java文件,而不是 .class文件 ...

lulueee的博客 585

idea java代码混淆_使用 IntelliJ IDEA 开发 Android 应用程序配置 Allatori 进行代码混淆...

IntelliJ IDEA 提供了非常强大的 Android 开发支持,就连 Google 官方推荐的 Android Studio 其实也是 IntelliJ IDEA 的一个 Android 开发专用版。因为 Android 程序发布采用 APK 文件封装格式,其内部仍然是虚拟机字节码,是可以通过诸如 dex2jar、jd 等工具进行反编译的,所以进行产品发布前都要经过字节码混淆,以最大限度...

weixin_39710249的博客 521

Java Jar包混淆proguard.v3.8

Java Jar包混淆proguard.v3.8 双击proguardgui.jar运行

idea java 代码混淆加密_java代码混淆

com.github.wvengenproguard-maven-plugin2.0.11packageproguardtruetruepg-target 1.8-dontshrink-dontoptimize-dontskipnonpubliclibraryclasses-dontskipnonpubliclibraryclassmembers-dontusemixedcaseclassname...

weixin_39936558的博客 676

allator多模块代码混淆

1.由于项目需要私有化部署,为了保证代码的安全性,需要对springboot项目进项代码混淆 官网:http://www.allatori.com/ 解压找到 目录: Allatori-7.1-Demo\Allatori-7.4-Demo\tutorial\step01\files 如果你只有一个项目,并且混淆次数也不多,你也可以通过这种方式,把项目拷贝到这个目录,修改配置文件,手动执行混淆的脚本。 2.多个springboot项目的候 集成idea代码混淆 项目结构 pom.xml <bui

weixin_42712370的博客 1028

java 打包 maven 混淆_Maven混淆打包插件的使用

混淆打包插件的使用1. 混淆插件com.github.wvengenproguard-maven-plugin2.0.13packageproguardtruetruepg-target 1.8-dontshrink-dontoptimize-dontskipnonpubliclibraryclasses-dontskipnonpubliclibraryclassmembers-allowacc...

weixin_42640676的博客 1223

使用 IDEA 插件 JarEditor 修改 JAR 文件,无需手动解压重打包

《使用IDEA插件JarEditor无需解压修改JAR文件》介绍了这款IntelliJ IDEA插件的使用方法。该插件可直接编辑JAR文件内容,无需传统繁琐的解压-修改-重打包流程。主要功能包括:修改class代码和资源文件、增删文件、全局搜索等,支持混淆代码的字节码编辑。安装后,用户只需在IDEA中打开JAR,通过JarEditor标签页修改代码并自动编译打包。相比传统方式更高效,尤其适合日常开发和小规模修改。文章还提供了操作步骤、常见问题解决方法及进阶工具推荐,为开发者提供了便捷的JAR文件修改方案。

babytiger的专栏 1209

SpringBoot项目——混淆加密

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

m0_46540897的博客 6020

Compose Desktop 初体验之打包

大家好,前两篇文章大概介绍了下上手 `Compose Desktop` 和自定义绘制遇到的一些问题,本篇文章带大家一起来看下 Compose Desktop 应该如何打包吧!

Zhujiang 3995

使用allatori对SpringBoot多模块代码进行混淆

使用allatori对SpringBoot多模块代码进行混淆 代码混淆介绍 1.由于项目需要私有化部署,为了保证代码的安全性,需要对springboot项目进项代码混淆,代码混淆顾名思义就是把代码变得让人看不懂,那么看不懂了又怎么运行呢,其实混淆主要混淆一些关键性的业务性代码,把关于业务逻辑的一部分代码变量名称变成a,b,c,d,e,f,g…就让人读起来很难理解。但是话又说回来,由于代码的特殊性,...

null_equals的专栏 3185

springBoot项目只有打包好的jar,没有源码,在IDEA中调试代码(二)

这种方式好处就是可以改jar包里面的代码,缺点就是当jar包中的类过多,会耗费大量的间来复制。而且如果代码是做了混淆等处理,通过复制jar包中的代码这种方式就不可行,因为反编译出来的代码可能是错误的。首先,之所以第一篇文章会采用复制的方式,是因为当发现把所要运行的jar包也当作依赖放到libs中,运行代码会提示类找不到或缺失一些什么配置,当间排查是什么问题,就采用了复制代码的方式。有候,我们只是想debug,不想通过复制类的方式来运行,就需要通过其他方式来达到目的。

星月昭铭的博客 1057
上一篇: 安卓设置点击效果
下一篇: 在new 控件时LayoutParams的使用
安卓鸟
博客等级 码龄14年 14粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值