如何混淆JavaWeb代码

【详解】使用proguard混淆javaweb项目代码 ProGuard是一个Java类文件的过滤器,它可以删除无用的类、字段、方法和属性,重命名剩余的部分,使反编译后的代码难以阅读。优化:通过删除未使用的类、字段、方法等来减少程序大小。混淆:通过重命名类、字段和方法来增加反编译的难度。预验证:确保混淆后的代码仍然符合Java规范。 阅读详情
最近在公司项目打包过程中要求要对项目中的代码进行混淆,
使反编译之后看到的代码的类的名称,成员变量,函数名称都变成无意义的a,b,c...
造成阅读代码的障碍,这也是核心技术保护的一种方法,
java中比较常用代码混淆工具就是proguard,自己在使用过程中也遇到了一些问题,
所以将使用过程记录下来,以作备忘。

主要步骤如下:

  1. 将web项目中的源码导出为jar,eclipse中可以很容易做到
  2. 下载proguard,地址:https://www.guardsquare.com/en/products/proguard
  3. 打开proguard中的bin下proguardgui.bat,启动gui工具,这里使用的proguard6.0.3
  4. 添加需要混淆的jar,图中1表示jar的数据路径,2表示jar输出路径,3表示项目使用到的所有jar,这里讲项目lib下的所有jar都添加了进来。
    在这里插入图片描述
  5. 添加不需要混淆的类,可以设置类中的成员变量及方法,web项目中尤为需要注意的controller层的代码不能够被混淆,否则前端调用时可能会出现问题,我这里测试是这样的。
    在这里插入图片描述
  6. 如果混淆之后运行服务在tomcat中出现java.lang.ClassFormatError类型的错误,可以在Optimizations位置添加!code/allocation/variable设置
    在这里插入图片描述
  7. 执行混淆程序,为了方便下次使用,可以保存配置Save configuration,成功的执行没有任何warning信息和错误提示,提示Processing completed successfully表示混淆执行成功
    在这里插入图片描述
  8. 通过解压工具打开jar,将混淆的代码拷贝没有混淆的项目的WEB-INF/classes下,具体根据你的项目情况替换掉,如果有提示duplicate的类之类的信息,根据提示重复的jar,可以返回第4步,移除掉重复jar,在重新执行混淆
  9. 启动tomcat服务验证是否能够正常执行,出现问题可以搜索相关问题。
MCU Flash读写保护导致下载失败?从原理到解锁实操全解析 在嵌入式开发中,Flash保护是导致MCU下载失败的常见隐性原因。Flash读保护(RDP)用于防止固件被调试接口读取,写保护(WRP)则用于锁定特定扇区免遭误擦写。理解RDP的Level 0/1/2分级和WRP对Bootloader区的保护原理,是定位“连得上却刷不进”问题的关键。当调试器能识别内核但无法擦写Flash时,往往就是保护机制在起作用。这类问题常见于开发调试、量产烧录和IAP升级场景,尤其在STM32、GD32等Cortex-M系列平台中。本文从保护机制原理出发,结合典型的报错形态,系统梳理了 阅读详情

相关推荐

很强大的java代码混淆工具 Jocky

大家熟知的Progaurd只能对class文件进行混淆,也就是必须先把java源码编译为class文件,然后再进行混淆 Jockey跟其他混淆工具不同的是:它是直接对编译过程做文章,也就是在把java文件编译为class文件的过程中对代码进行混淆,混淆后的代码中包含很多JVM 指令,大家知道JVM指令是面向机器的,人类一般很难看懂!。">大家熟知的Progaurd只能对class文件进行混淆,也就是必须先把java源码编译为class文件,然后再进行混淆 Jockey跟其他混淆工具不同的是:它是直接对编译过程做文章,也就是在把java文件编译为class文件的过程中对代码进行混淆,混? [更多]

Java代码加密混淆工具有哪些?

Allatori Java Obfuscator:Allatori Java Obfuscator是一个商业化的Java代码混淆工具,可以帮助开发者对Java代码进行加密、混淆和优化,以增加应用程序的安全性和保护知识产权。DexGuard:DexGuard是一个商业化的Java代码混淆工具,可以帮助开发者对Android应用程序的Java代码进行加密、混淆和优化,以增加应用程序的安全性和保护知识产权。在Java中,代码加密混淆工具可以帮助开发者将源代码进行加密和混淆处理,以增加代码的安全性和保护知识产权。

Aa112233aA1的博客 2484

web代码混淆方案.混淆js代码,压缩css代码

web代码混淆方案.混淆js代码,压缩css代码 什么?右击网页就能看到JS,CSS源代码?!别人抄起来岂不是太容易了? 所以我们要混淆,压缩JS,CSS代码,即防止别人抄走修改,又能节省网络流量

java 混淆war,java yguard混淆web工程

用yguard来混淆java web工程,只需要一个ant脚本,用maven也可以,不过没试过。下面的例子会混淆自己开发的jar包,所有开发的class都打成jar包放到WEB-INF/lib/了,这是因为yguard只能混淆jar包,WEB-INF/classes/下放的是一些配置文件。混淆后配置文件中的类名也会一起改(可以配置不改),用的是ant1.9,maven3.0.5,注:所有文件均ut...

weixin_39609822的博客 452

Linux系统centos7安装网卡驱动

有时候我们装完Centos或Ubuntu系统会发现没有网卡信息,说明网卡驱动不配置,所以我们要重新安装。 首先去服务器主板官网下载网卡驱动,注意32位和64位。 先查看网卡型号 lspci | grep -i ethernet 我的网卡型号是 00:1f.6 Ethernet controller: Intel Corporation Device 0d55。 网上一找,压根没找到这型号的网卡,别说驱动了。怀着试一试的心态,就安装i219-v系的网卡驱动,还别说,成功了。 针对i21...

wshc18的博客 2万+

thinkcmf 代码执行 (CVE-2019-7580) 漏洞复现

所有文章,仅供安全研究与学习之用,后果自负! thinkcmf 代码执行 CVE-2019-7580thinkcmf 代码执行 (CVE-2019-7580)0x01 漏洞描述0x02 影响范围0x03 漏洞复现3.1 登录后台3.2 漏洞利用3.2.1webshell3.2 phpinfo3.3 获取系统命令0x04 漏洞修复 thinkcmf 代码执行 (CVE-2019-7580) 复现小心会搞崩环境。 0x01 漏洞描述 ThinkCMF是一款支持Swoole的开源内容管理框架(CMF),基于Thi

YouthBelief的博客 4262

java war包混淆,spring项目的代码混淆(proguard)

前不久被要求对java web的war包做代码混淆,我使用proguard6.0.3完成的。后面也许还会用到,因此记录下过程和配置方法,demo代码按照图1结构进行组织。仅对混淆功能进行说明,其他功能如压缩、优化不考虑。混淆需求混淆代码的需求如下:混淆包名、类名、成员属性、方法名等。不混淆涉及到dao命名空间配置、aop切点的类名或方法名。不混淆注解。不混淆proguard默认配置的类名或方法名。...

weixin_39593427的博客 2923

ComfyUI实战:AnimateDiff与ControlNet结合,打造无缝风格化视频转绘

本文详细介绍了如何利用ComfyUI平台,结合AnimateDiff与ControlNet插件,实现高质量的视频风格化转绘。通过搭建节点工作流、调整关键参数,有效解决画面闪烁与失真问题,并分享了进阶玩法与常见问题解决方案,帮助用户轻松打造流畅、风格统一的动态视觉效果。

weixin_29039773的博客 335

共有18款Java 代码混淆和加密开源软件

http://www.oschina.net/project/tag/167/code-confusion?lang=19&sort=view Java混淆器 ProGuard ProGuard 是一个免费的 Java类文件的压缩,优化,混肴器。它删除没有用的类,字段,方法与属性。使字节码最大程度地优化,使用简短且无意义的名字来重命名类、字段和方法 。ecl

mengzhengjie的专栏 2万+

本地AI语音生成与配音工作台Pandrator:从TTS到RVC的完整实践指南

语音合成(TTS)技术通过深度学习模型将文本转换为自然语音,其核心原理涉及声学建模与波形生成。这项技术不仅提升了人机交互体验,更在内容创作领域展现出巨大价值,广泛应用于有声书制作、视频配音、虚拟助手等场景。本文聚焦于一个集成了XTTS-v2、RVC等先进模型的本地化AI语音工作台——Pandrator,它通过模块化架构将语音合成、声音克隆、音频转录与翻译等流程无缝整合,为用户提供了一个图形化、可定制的完整解决方案。文章深入解析了其基于TTS与RVC(Retrieval-based Voice Convers

weixin_42676876的博客 339

微信小程序 - 真机调试调用接口报错{errno: 600001, errMsg: “request:fail -102:net::ERR_CONNECTION_REFUSED},真机运行测试请求异常

微信小程序,真机,调试测试,运行报错,API接口,服务器接口都报错了,小程序报错errno: 600001,小程序报错request:fail -102:net::ERR_CONNECTION_REFUSED,真实手机打开接口全都失效了,微信小程序真机测试失败,微信小程序{errno: 600001, errMsg: "request:fail -102:net::ERR_CONNECTION_REFUSED"},详细解决方法,https,服务器SSL证书,无法解决,服务器更换SSL证书,接口地址改了也不行

🏆 前端领域优质创作者 1万+

使用proguard进行javaweb代码混淆

背景:公司需要将软件打包出售,此时需要进行代码混淆和一些加密要求调研:目前此类实现包含软件和硬件实现;硬件实现是使用类似加密狗usb工具进行防护,应用系统通过与加密狗交互,来判断用户使用的软件是否在有效期内。软件实现是使用加解密技术,本地校验或使用服务端校验,来满足授权的要求。但是以上两种方案,都存在问题,一旦用户有技术能力反编译java代码,则以上内容都是徒劳。于是在网上对于此类需求,主要由两种...

KelvinLiu 7686

分区补光与ISP图像调节技术

在安防监控场景中,逆光、强光、明暗不均(如门口 / 窗边的 “阴阳脸” 画面)是导致图像细节丢失的核心问题。分区补光技术通过对画面不同亮度区域精准补光,解决 “局部过曝 / 欠曝” 难题;ISP(图像信号处理器)图像调节技术则通过算法优化,提升画面色彩、对比度与细节。二者协同可实现 “硬件补光 + 算法优化” 的双重增强,是低功耗摄像机实现高清画质的关键技术组合。分区补光与 ISP 图像调节技术:原理、协同方案及安防监控应用案例。一、核心技术原理解析。

AIoT深度探索者 | 嵌入式系统架构师 深耕物联网(IoT)与人工智能(AI)融合技术,聚焦​​边缘计算、图像开发、低功耗通信协议​​,致力于智能硬件,关注我获取最新技术文章信息与海量资源~ 729

【Java】使用 proguard对 Javaweb 工程代码混淆

目标:将代码混淆,也就是给第三方源代码,让他们只能运行,却看不懂代码。用到的工具:混淆jar的工具:proguard5.1 下载地址:http://download.youkuaiyun.com/detail/lk7688535/9625472 反编译jar的工具:xjad2.2操作步骤:见这篇文章:http://blog.youkuaiyun.com/zhangdaiscott/article/details/453

Ezrealmore 5055

uniapp - [微信小程序] 实现点击预览各种文件 pdf文档、视频mp4、mp3音乐、图片图像、word/excel/ppt 等,uniapp小程序文件预览功能(详细示例代码,一键复制开箱即用)

uniapp,uniapp微信小程序,支付宝小程序平台端,uniapp实现文件在线预览,uniapp微信小程序怎么实现预览视频mp4,mp3音乐,图片,office文档,小程序平台如何在线预览word/excel/ppt文档,uniapp实现小程序端的文件查看功能,uniapp小程序端实现pdf文件预览,uniapp纯前端预览PDF、DOC、DOCX、图片、视频,uni-app文档、图片预览查看,uniapp文档预览功能,uniapp小程序端文件预览,uniapp小程序平台纯前端解析word,pdf,xls

✅ 精选推荐文章 1万+

手把手教你用ESP32-C3打造智能聊天机器人-立创实战派

本文将详细介绍如何利用立创ESP32-C3开发板,烧录小智AI程序,快速实现一个功能强大的聊天机器人。

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 5533

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

在网上找了很多关于代码混淆的例子,最终结合网上知识以及自己的项目实现了代码混淆,实现过程如下:1、在pom.xml文件的<build>   <finalName>as</finalName></build>中加入如下配置:<plugins>   <!--ProGuard混淆插件-->     &n 在网上找了很多...

weixin_39214481的博客 1139

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

JavaWeb 混淆代码

首先使用fat-jar进行打包 [url]http://blog.youkuaiyun.com/wyp_810618/article/details/7168099[/url]

lh19900706的博客 243

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

proguard+springboot+maven插件 代码混淆

一 背景 Java web项目部署到服务器上以后,尤其针对是在客户的服务器上部署,很容易被“友商”捞到相关的包,通过反编译的手段,我们的代码几乎等同于裸奔在不可控制的服务器上,产品的设计细节都被一览无余,所以针对给厂商做的服务,我们做一些代码的混淆是很有必要的。 二 步骤 2.1 导入maven插件 通过maven插件的办法的好处就是,在编译过程中混淆代码,尽量避免了给业务上带来的影响。这里混淆代码如下,实际混淆过程中要根据实际业务调整 ...

weixin_42547243的博客 8205

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

使用idfc-proguard-maven-plugin混淆优化Jave Web工程一

本文旨在说明用idfc-proguard-maven-plugin这个插件来优化混淆Java Web项目的代码。 本文使用的代码出自这里: http://www.codejava.net/frameworks/struts/struts-2-spring-4-hibernate-4-integration-tutorial-part-1-xml-configuration

AHAU10的专栏 3174

使用Proguard5.2混淆JAVA WEB工程

最近开发了一个JAVA WEB系统,为了保护项目组成员的劳动成果,决定使用Proguard对项目进行混淆处理,在混淆处理过程中,遇到一些问题,在此做个总结,希望可以帮到大家。 基础的就不说了,网上很多教程,直接上图说明我是如何进行WEB项目混淆的。 1:先将WEB项目下的WEB-INF/classes目录中编译好的需要混淆类或包打成jar包,打jar包时要注意按照包的路径层层建目录,即jar包...

daoyongyu的专栏 345

Java代码混淆:项目安全领域的最后一道防线

本文探讨了Java项目面临的安全风险及代码混淆技术的应用。文章指出,Java字节码易被反编译导致源码泄露,尤其在金融、风控等敏感领域可能造成重大损失。代码混淆通过标识符替换、控制流重构、字符串加密等手段,虽不能阻止反编译,但能显著提高逆向工程成本。介绍了ProGuard等主流工具的实现原理和配置要点,强调混淆需与Native化、环境加固等措施协同形成纵深防御。实践建议包括:保留映射文件、处理反射冲突、全面测试等。作者认为,代码混淆是Java项目安全体系中"性价比最高"的防护手段,应纳入标

专注AI大模型,软件混淆,授权 531

一次苦逼的查错经历

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33708432的博客 83
上一篇: docker 下安装postgres数据库
下一篇: List的遍历删除-java.lang.UnsupportedOperationException: remove
TechTrek
博客等级 码龄14年 15粉丝 49原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值