Java 混淆器

PTA 编程题(C语言)-- 然后是几点 PTA 编程题(C语言)-- 然后是几点 阅读详情

【这是一猿小讲的第 60 篇原创分享】

在脑海中假想一下,在你苦苦经历 81 难,摸爬滚打研制的技术轮子,终于成型得以问世,遂打个 JAR 包投放于万网之中。可是没过几天,同样功能的轮子出现在你的眼前,关键是核心代码都一样,此时你的内心是否会像一万只草泥马奔腾而过呢?

面对此景,我们有没有办法,去混淆一些核心代码,来捍卫自己劳动成果呢?

作为臣服于 Java 的子民们,一切又都是那么的幸福,诸多开源的轮子帮你解决了这个问题,今天不妨尝试用一用 ProGuard 这款轮子。

ProGuard 是一个压缩(shrink)、优化(optimize)和混淆(obfuscate) Java 字节码文件的免费的工具。它可以删除无用的类、字段、方法和属性,可以删除没用的注释,最大限度地优化字节码文件。它还可以使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性。常常用于Android 开发用于混淆最终的项目,增加项目被反编译的难度——摘自百度百科。

640?wx_fmt=png

如官方图示(看不清,懵懂就行)

  • ProGuard 会对输入的 JAR 文件按照压缩、优化、混淆、预验证的顺序依次进行处理,最后得到输出 JAR 文件;

  • ProGuard 使用依赖类库(Library jars)来辅助对 Input jars 类之间的依赖关系进行解析,但是依赖类库本身不会被处理,也不会被包含到 Output jars 中。

1. 工欲善其事必先利其器

下载最新版的 ProGuard,然后解压,进入到 bin 目录,Windows 下直接双击  proguardgui.bat 即可,而 Mac Os 下控制台运行 proguardgui.sh 即可。

下载地址:https://sourceforge.net/projects/proguard/files/latest/download

640?wx_fmt=png

本次演示是在 Mac Os 下,控制台输入 sh proguardgui.sh。ProGuard 运行启动成功的界面如下。

640?wx_fmt=png

2. 工具而已,用就行了

640?wx_fmt=png

在 Input/Output 中,Add input 选择要混淆的 JAR 包,注意一定要添加待混淆的 JAR 包依赖的所有类库,Add output 指定输出文件名(例如 a.jar);压缩(Shrinking)和优化(Optimization)不是本次的重点,略过;Obfuscation 中有很多混淆规则,可以自行依据官网进行配置调整;最后选择 Process,点击右下角的 Process! 即可。

640?wx_fmt=png

成功操作界面会提示:Processing completed successfully!

3. 效果如何呢?

采用 JD-GUI 打开根据混淆输出的 JAR,效果貌似像那么回事儿。

640?wx_fmt=png

保护你劳动成果的方式有很多种,本次 2 分钟简单的分享,只是让你们知道有 ProGuard 这款技术轮子存在,有太多的细节需要去实践,大家可以按需,自行按照官网进行深入使用。

640?wx_fmt=png

推荐阅读:

AI Agent开发第82课-手把手教你把paddleocr-vl做成mcp使其在DIFY里运行 本文详解如何将国产顶尖多模态 OCR 模型 PaddleOCR-VL 封装为标准 MCP(Model Calling Protocol)服务,并通过自研的 HTTP-based MCP Client 接入 Dify 1.10,实现 AI Agent 在对话中自动识别并调用 OCR 能力。该方案已在某头部保险公司真实业务流程中落地,使用了当前最先进的“Agentic AI 原生”设计思想。 阅读详情

相关推荐

京瓷扫描驱动安装_京瓷喷头拆解和供墨原理剖析

在工业喷头打印领域,京瓷喷头作为主流喷头广泛应用于喷墨行业,目前京瓷喷头市面上销售主要有两个系列:KJ4A和KJ4B。其中KJ4A系列设计是用于油性墨水,例如UV墨水,主要用在广告领域;而KJ4B设计用于水性墨水,例如活性、分散墨水等,主要用在数码印花领域。最近我们团队对京瓷喷头进行了拆解分析,本期和大家分享一下我们对京瓷喷头拆解和喷头供墨原理的研究。京瓷喷头介绍1. KJ4A系列(油性)如下图所...

weixin_39883906的博客 1672

Java代码混淆工具ProGuard(附有1.8以上和以下使用工具)使用详解

ProGuard是Java类文件收缩器,优化器,混淆器和预验证器。快速混淆Java代码。

m0_46208105的博客 9596

手把手教你设计STM32的JTAG电路:从原理图到PCB布局(含JLINK连接详解)

本文详细介绍了STM32的JTAG电路设计全流程,从核心原理、接口规范到PCB布局布线技巧,特别包含JLINK调试器的连接与配置方法。通过信号滤波、上拉配置和防反接保护等关键设计要点,帮助开发者构建稳定可靠的JTAG调试环境,提升嵌入式开发效率。

weixin_29159441的博客 388

Java代码混淆工具-ProGuard

ProGuard是一个压缩、优化和混淆Java字节码文件的免费的工具,它可以删除无用的类、字段、方法和属性。可以删除没用的注释,最大限度地优化字节码文件。它还可以使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性。常常用于Android开发用于混淆最终的项目,增加项目被反编译的难度。

酸奶盖儿的博客 3023

炸金花游戏(3)--基于EV(期望收益)的简单AI模型

前言:   炸金花这款游戏, 从技术的角度来说, 比德州差了很多. 所以他的AI模型也相对简单一些. 本文从EV(期望收益)的角度, 来尝试构建一个简单的炸金花AI. 相关文章:  德州扑克AI--Programming Poker AI(译).  系列文章说来惭愧, 之前一直叫嚷着写德州AI, 不过可惜懒癌晚期, 一直没去实践, T_T. 相比而言,***简单很多, 也更偏重于运...

weixin_30377461的博客 2341

openmediavault(OMV) (1)安装部署

EXT3(Third Extended File System): EXT3 是 Linux 中广泛使用的日志文件系统,是 EXT2 文件系统的升级版本。这里可以根据自己的需求进行设置,目前只设置了自动登出为1天,为方便后续配置使用,其他设置可根据自己的具体需求进行设置。通过cd 命令进入到我们的raid存储中,通过ls发现里面没有任何的数据,因为我们的raid存储中还未创建任何数据。我的系统要安装在100G的磁盘上,故选择100G的磁盘,实际可以根据具体情况选择。

Monster✺◟(∗❛ัᴗ❛ั∗)◞✺的博客 2168

Java混淆器 Allatori

项目要结案,源码要加密,搞了几天代码混淆,一直没结果。网上很多java混淆工具貌似都是针对jar文件,今天无意间找到了一款支持war文件的混淆器,它就是Allatori。    Allatori属于第二代混淆器,具有全方位保护你的知识产权的能力。Allatori具有以下几种保护方式:命名混淆,流混淆,调试信息...

iteye_2865的博客 1223

Allegro172版本如何在联机模式下使用skill文件操作指导

注意:如果下次重新开启Symphony模式的时候可能导致symphony_skill中的文件内容被清空,所以最好将自己常用的skill文件都写到symphony_skill.txt中去,然后做好备份,需要的时候,在开启软件后把文件放到env目录中去。在用Allegeo172版本进行PCB设计的时候,有时会用到Symphony模式进行多人实时在线协同设计,如下图。这个模式设计起来可以提升设计速度,但是也有一个缺陷,就是不能使用skill文件。如下图,当调用skill的时候就会出现如下报错。

weixin_54787054的博客 1586

java混淆工具proguard_Java混淆器 ProGuard

ProGuard 是一个免费的 Java类文件的压缩,优化,混肴器。它删除没有用的类,字段,方法与属性。使字节码最大程度地优化,使用简短且无意义的名字来重命名类、字段和方法 。eclipse已经把Proguard集成在一起了。JAVA源代码(.java文件)通常被编译为字节码(.class文件)。而完整的程序或程序库通常被压缩和发布成Java文档(.jar文件)。字节码比 Java源文件更简洁,但...

weixin_33842969的博客 427

小米15修复“NV损坏” 去除主板校验电阻步骤解析与图示

小米15系列将搭载骁龙8至尊版处理器,采用台积电3nm工艺。文章分析了手机出现"NV损坏"故障的表现及修复方法,包括通信异常、系统启动问题等典型症状,并介绍了去除主板校验电阻和刷写工程固件两种修复方案。重点讲解了去除主板电阻后刷写QCN文件的操作流程,强调在维修过程中需要结合分析与思考。适用于小米15系列特定机型(24129PN74G/I/C)的硬件修复。

小马哥的专栏 313

【雕爷学编程】Arduino动手做(75)---TTL转RS-485模块之二线制可以实现真正的多点双向通信

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程) 实验七十五:TTL转RS-485模块 MAX485 RS485模块 MAX485 是一个8.

雕爷学编程 1万+

一个Java字节码混淆器:superblaubeere27/obfuscator

该项目是一个开源的Java字节码混淆器,由superblaubeere27开发并托管在GitHub上。它旨在通过提供图形用户界面(GUI)来简化Java程序的混淆过程。混淆器的主要编程语言是Java。 ## 2. 核心功能 - **流程混淆(Flow Obfuscation)**:通过改变代码的结构,使得逆向工程变得更加困难。 - **行号移除(LineNumber Removal)**:移除...

gitblog_00642的博客 377

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

JAVA代码混淆器大全

 JAVA代码混淆器大全 Author/CompanyProgramShrink.Optim.Obfusc.Preverif.LicenseEric LafortuneProGuardFree (GPL)Jochen HoenickeJodeFree (GPL)NQ4

幽客独往 5780

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Java混淆器和java混淆编译

【虎.无名】一般的java混淆器,主要针对Java应用进行,如只保留main入口,直接针对java字节码的类库进行混淆。而我以前的工作主要是编写公共底层库,需要做一些源代码保护,最后用的是apusic提供的joc.jar混淆编译器,可直接针对源代码进行混淆编译。目前joc下载链接已经失效,而且不支持jdk1.5以上版本了。无奈只能重新对Java混淆器进行选型。Allatori 功能上似乎还行...

tzyhys的专栏 1465

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

java混淆器:proguard混淆器

在java语言中,混淆器是什么作用呢? java程序因为是运行在java虚拟机上,已经编译好的java的程序可以通过反汇编工具(如JAD)很容易的被破解。导致开发人员的辛苦劳动被非法窃取。为了防止这种事情发生,混淆器就产生了。 混淆器的作用是:对于编译好的程序加上混淆器后就很难被反汇编,和PC传统的软件保护方法:加壳的有点像。 对于proguard本身详细的使用方法,推荐这一篇 http:

扣的CODE 750

java混淆器最好_使用混淆器,保护你的java程序

一起学习RetroGuard的使用方法:RetroGuard是一个很不错的Java混淆器,而且在JBuilder7的企业版中也带了这个混淆器。RetroGuard本身是一个Java程序(一个Jar包),所以要使用的话必须先安装JDK。运行前需要设置一些环境变量,除了要在PATH中包含java的执行路径以外,还要在CLASSPATH中加入D:\retroguard\RetroGuard.jar(假设...

weixin_32248531的博客 365

java混淆器

混淆时,设定保留类名、public方法名、public字段名。使用Proguard混淆J2ME应用程序http://www.j2medev.com/Article/ShowArticle.asp?ArticleID=87RetroGuardhttp://www.retrologic.com/retroguard-main.htmlProGuardhttp://proguard.sour

BRUNI (不如你) 's 优快云 BLOG 2116

Java 代码混淆器

在J2ME中本身也有混淆。这个就不说了。   常用Java混淆器 DashO Pro DashO Pro 是Java代码保护的理想选择。其代码保护能力强大易用,方便灵活(商业软件,非开源)。 该Java混淆器是: 独立软件开发商理想选择——保护其重要知识产权; 业界理想选择——防止针对Java代码的内部和外部黑客威胁; Sun的选择——代码防护和混淆。对于企业级应用,作为其Jav

it_man的专栏 1万+

java混淆器的作用

java混淆器的作用: 一、 用java写的代码 编译后成为.class文件 但是这个class文件可以被反编译查看到源代码。如果代码作者不希望源代码被别人看到 就利用混淆器把源代码混淆 但是程序功能还是 正常的,编译后供别人使用,当别人反编译class文件想查看源代码时发现的是被混淆后的代码,虽然这些混淆后的代码也可以分析出来但是很困难 举个例子 class Person {

mihenyinghua的专栏 977

Java 混淆器 RetroGuard

Java 代码编译后生成的 .class 中包含有源代码中的所有信息(不包括注释),尤其是在其中保存有调试信息的时候。所以一个按照正常方式编译的 Java .class 文件可以非常轻易地被反编译。反编译工具有很多种,其中非常强大的一种是 jad。为了避免出现这种情况,保护开发者的劳动,又有一种叫做 Java 混淆器的工具被开发出来。Java 混淆器的作用是对编译好的代码进行混淆,使得其无法被反编译或者反编译后的代码混乱难懂。Java 混淆器也有很多种,其中比较强大的一种是 RetroGuard(只说比较强

Defonds 的专栏 4892

Java培训分享5个常用Java代码混淆器

对于Java程序员来说,如果辛辛苦苦写的代码被人摽窃走,将是一件非常恼火的事情。如何保护自己的代码呢,可以通过逆向工程反编译得到Java程序的源代码,这种反编译工具之一就是JAD,尽可能给反编译人员制造障碍来保护我们的Java文件。下面,小千分享5个常用Java代码混淆器,帮助你保护你的代码。 1、Zelix KlassMaster Zelix KlassMaster是一款用Java写的实用工具,能读取和修改Java类文件,可以运行在任何支持1.1.6版Java虚拟机的平台上。 下载:http://www.

xiaoxijinger的博客 1180

混淆器:java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器

java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器 下载地址:http://yunpan.cn/QXhEcGNYLgwTD   运行方式:java -jar Encrypt.jar 运行效果:   代码混淆后的效果: package o0OOo00.o0Oo0O0; import java.awt.Compon

tengyunjiawu_com的专栏 2855

使用混淆器,保护你的java程序

RetroGuard的使用方法: (转帖自 www.cnjm.net)   RetroGuard是一个很不错的Java混淆器,而且在JBuilder7的企业版中也带了这个混淆器。    RetroGuard本身是一个Java程序(一个Jar包),所以要使用的话必须先安装JDK。运行前需要设置一些环境变量,除了要在PATH中包含java的执行路径以外,还要在CLASSPATH中加入D:/retr

sunyuzhe114的专栏 1431

java混淆工具zelix比较_常用的5款java混淆器

从事Java编程的人都知道,可以通过逆向工程反编译得到Java程序的源代码,这种反编译工具之一就是JAD。因此,为保护我们的劳动成果,尽可能给反编译人员制造障碍,我们可以使用Java Obfuscator(Java混淆器)保护Java的类文件。JavaObfuscator的原理就是将字节码转换为一个逻辑上的对等物,这种转换后的版本极难拆散。即使有人试图去反编译,过程将极其艰难复杂,并很难绕过转换后...

weixin_39675728的博客 2342

java中代码混淆器_java代码混淆器下载

java代码混淆器注意事项:1、注意版本,如果不是项目需要,最好使用最新稳定版本,这样出错的机会小一些,学习曲线会明显缩短。2、最好以源码的同编译版本的jvm来启动,不要直接用默认的jvm打开。3、注意启动后默认加载的中包含的,它的版本和你使用到的jvm版本一致。4、使用1.4的jvm打开时,注意在选项卡中,不要勾中选项,因为勾中这个选项会导致文件中出现,这个类只有在1.5的环境下才有。报错信息如...

weixin_42237496的博客 173
上一篇: 分享几张图
下一篇: Java 反编译
一猿小讲
博客等级 码龄15年 294粉丝 156原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值