Proguard语法及常用proguard.cfg代码段

SpringBoot 玩一玩代码混淆,防止反编译代码泄露! 简单就是把代码跑一哈,然后我们的代码 .java文件 就被编译成了 .class 文件就是针对编译生成的 jar/war 包 里面的 .class 文件 逆向还原回来,可以看到你的代码写的啥。比较常用的反编译工具 JD-GUI ,直接把编译好的jar丢进去,大部分都能反编译看到源码:那如果不想给别人反编译看自己写的代码呢?怎么做?该篇玩的代码混淆 ,是其中一种手段。我给你看,但你反编译看到的不是真正的代码。先看一张效果示例图 :开搞先看一下我们混淆一个项目代码,要做啥?第一步, 在项目路径下,新增一份文件 阅读详情
关于ProGuard的作用、使用及bug分析可见 ProGuard的作用、使用及bug分析。

1、ProGuard的常用语法
-libraryjars class_path 应用的依赖包,如android-support-v4
-keep [,modifier,...] class_specification 不混淆某些类
-keepclassmembers [,modifier,...] class_specification 不混淆类的成员
-keepclasseswithmembers [,modifier,...] class_specification 不混淆类及其成员
-keepnames class_specification 不混淆类及其成员名
-keepclassmembernames class_specification 不混淆类的成员名
-keepclasseswithmembernames class_specification 不混淆类及其成员名
-assumenosideeffects class_specification 假设调用不产生任何影响,在proguard代码优化时会将该调用remove掉。如system.out.println和Log.v等等
-dontwarn [class_filter] 不提示warnning

关于proguard更多语法可见:http://proguard.sourceforge.net/index.html#manual/usage.html

 

2、标准proguard.cfg文件内容
参考android标准,修改如下:

源文件见<android_root>/build/core/proguard.flags , 将14行 -dontobfuscate解除注释。

 

3、常用proguard.cfg代码段

不混淆某类的构造方法,需指定构造函数的参数类型,如JSONObject

 

不混淆某个包所有类或某个类class、某个接口interface, 不混淆指定类则把**换成类名

 

不混淆指某个方法,*可换成指定的方法或类名

 

不混淆Parcelable的子类,防止android.os.BadParcelableException

 

添加android-support-v4.jar依赖包

 

4、proguard与log level结合解决debug模式Log问题
常见的Android debug日志的打法是定义一个静态变量DEBUG_STATUS,如果为true,则打印log,否则不打印。对于release模式该变量为false,debug模式变量为true。这里介绍一个更好的方法,不用担心正式发布时一不小心错改了该变量。

 

proguard的作用就是在release模式压缩、优化、混淆代码,其中的压缩和优化就包括去除不必要的代码,我们可以利用这一特性解决debug日志的问题,在proguard.cfg中添加

表示Log.d和Log.v代码无副作用,在proguard时会被从源码中remove掉,这样release模式(正式发布)就不会打印日志了,而debug模式(平常调试)照常打印,不用修改一点代码大赞吧,嘿嘿*_^


TP4054芯片实战:手把手教你设计USB锂电充电电路(附PCB散热优化技巧) 本文以TP4054芯片为核心,手把手教你设计稳定可靠的USB锂电池充电电路。文章详细解析了芯片的恒流恒压工作模式、关键外围元件选型计算,并重点分享了PCB布局与散热优化的实战技巧,帮助工程师从“能工作”提升到“工作得好”,确保充电效率与系统稳定性。 阅读详情

相关推荐

NIDS——suricata(一)

NIDS——suricata环境安装和规则编写

weixin_58666006的博客 1273

语法基础——Proguard语法基础

启用混淆 通过工程下的build.gradle文件中的开启混淆开关和配置混淆规则文件 minifyEnabled:混淆开关 proguard-android.txt:SDK中默认proguard的配置规则 proguard-rules.pro:自定义proguard的配置规则 buildTypes { debug { minifyEnabled true ...

点击置顶文章查看博客目录(全站式导航) 2753

STM32G0定时器中断实战:HAL库配置TIM2实现精准1秒LED闪烁(附完整代码)

本文深入解析了STM32G0系列微控制器中定时器中断的配置与应用,重点介绍了如何使用HAL库配置TIM2实现精准的1秒LED闪烁。通过详细讲解时钟树分析、预分频系数与自动重装载寄存器的计算原理,并结合CubeMX图形化配置与完整代码示例,帮助开发者从底层理解定时器工作机制,掌握可复用的工程化配置方法。

weixin_29194817的博客 253

代码混淆,不再让生产环境代码裸奔

代码混淆

dengfengan的博客 1534

[捷稀 JCG Q30 Pro 刷机说明] 以刷入openwrt24.10为例

摘要: 本文详细介绍了捷稀JCG Q30 Pro路由器刷入OpenWrt 24.10系统的步骤。通过先刷入OpenWrt 23.05过渡固件,再升级Uboot,最后通过TFTP加载工厂镜像完成刷机。关键步骤包括解锁分区、刷写Uboot、进入恢复模式及配置网络。文章还提供了无线设置、Tailscale内网穿透等进阶命令,并附参考文档和固件下载链接。适用于有一定技术基础的玩家,需注意操作风险,严格按流程执行。

贤时间 7133

【温室气体数据集】全球总碳柱观测网络 TCCON

【温室气体数据集】全球总碳柱观测网络 TCCON

WW、forever的博客 437

震惊!三分钟内搞定ProGuard混淆Java代码所有问题!绝招大公开!

当前的世界抄袭不断,当然本着开源的精神,我们也提倡代码共享,但是绝对拒绝代码抄袭,为了防止世界被破坏,为了守护世界的和平,自然而然衍生了许多代码混淆的技术,那么何为代码混淆呢?

小金的博客 7790

揭秘 C++ 性能优化的终极秘籍,让你面试时应答如流

VTune Amplifier 是英特尔开发的一款强大的性能分析工具,它可以深入分析应用程序在英特尔架构上的性能瓶颈。功能特点全面的分析视角:提供了多种分析模式,如热点分析、线程分析、内存分析等。热点分析模式能快速定位程序中最耗时的代码段;线程分析模式可帮助开发者了解多线程程序中线程的执行情况、同步开销等;内存分析模式则专注于内存访问的性能,包括缓存命中率、内存带宽使用等。硬件层面的洞察:能够深入到硬件层面,分析 CPU 的微架构指标,如指令级并行度、流水线停顿等。

大模型大数据攻城狮的专栏 1151

操作系统文件物理结构与存储空间管理:从考试到实战的完整解析

文件系统是操作系统的核心组件,负责管理磁盘上的数据存储。其核心原理涉及文件的物理结构(如连续、链接、索引分配)和存储空间管理(如位示图、成组链接法),通过地址映射和空闲块分配机制,实现高效的数据存取。理解这些技术能帮助开发者优化存储性能,应用于数据库、云存储等场景。本文深入探讨文件物理结构与空间管理的计算方法和实践技巧,助你掌握操作系统文件管理的关键知识。

weixin_34122810的博客 373

ISP算法:自动白平衡(AWB)

1. 为什么要做白平衡? 人类视觉系统具有颜色恒常性特点,一次人类对物体观察不受光源影响。但是Sensor在不同光线下,物体呈现的颜色不同,在晴朗天空下会偏蓝,在烛光下会偏红。如图: 2.什么是自动白平衡? 为了消除光源对于图像传感器成像的影响,模拟人类视觉系统的颜色恒常性。保证在任何场景下看到的白色是真正的白色。 3. 如何做自动白平衡? 只要乘以一个对角矩阵,便可以进行白平衡...

a200800170331的专栏 1万+

小程序数据采集(3):PC端微信小程序降维调试与流量数据获取详解

本文提出了一种针对PC端微信小程序的逆向分析方法,通过利用PC端基于Chromium架构的天然优势,实现无需Root的降维打击。文章详细介绍了如何开启CEF远程调试协议、基于DevTools Protocol实现流量劫持、对抗PC端安全防线以及获取小程序本地存储数据的技术方案。相比移动端严苛的环境,PC端小程序在调试接口、网络拦截和数据存储等方面存在显著漏洞,为爬虫开发提供了更便捷的突破口。

数据知道的博客 825

proguard.cfg 系统找不到指定的文件

新建项目时提示:proguard.cfg 系统找不到指定的文件  如图:   系统找不到指定的文件" title="proguard.cfg 系统找不到指定的文件" style="margin:0px; padding:0px; border:0px; list-style:none">   解决方法: 方法一:在 \android-sdk-windows\tools

想了解甘道夫吗添加微信ID号:ganpucha 5138

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【代码】android 程序代码混淆 proguard 脚本 proguard.cfg

android 代码混淆 1 proguard.cfg,这就是混淆所需的proguard脚本啊。   其代码如下:   view plain -optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -optimizatio

清源教育 4062

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

混淆——proguard.cfg文件

1、proguard.cfg 文档内容如下: -optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -optimizations !code/simplification/arithmetic,!field/*,!cl

xsj362233248的专栏 631

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

ProGuard加密混淆Java代码

ProGuard能够通过压缩、优化、混淆、预检等操作,检测并删除未使用的类,字段,方法和属性,分析和优化字节码,使用简短无意义的名称来重命名类,字段和方法。从而使代码更小、更高效、更难进行逆向工程。

zc_huiyanruju的博客 3134

android:APK混淆中proguard.cfg/proguard-project.text脚本文件的编写知识

处于一个开发者辛辛苦苦将自己的应用开发出来被别人一反编译便成为了他自己的东西,所以要进行混淆处理。 在Android 2.3以前,混淆Android代码只能手动添加proguard来实现代码混淆,非常不方便。而2.3以后,Google已经将这个工具加入到了SDK的工具集里。具体路径:SDK\tools\proguard。当创建一个新的Android工程时,在工程目录的根路径下,会出现一个

TnTlittlefish的博客 1815
上一篇: Android apk 防止反编译技术第一篇-加壳技术
下一篇: ProGuard的作用、使用及bug分析
candyguy242
博客等级 码龄17年 63粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值