一:情景分析有时候看到其他应用App的一些效果很炫,或者是功能实现很好就想着参考参考,于是乎,下载APK----反编译APK---查看源码。。。。,但是悲剧来了。。。。源码都是些a,b,c。。。等等这样的东东,根本啥都看不明白,后来了解到这是程序的作者保护自己劳动成果的“手段”,于是乎自己就想咱也试着“保护一下”自己的劳动成果吧,至此开启了“Android混淆代码”的旅程二:初始了解到Androi            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-18 06:49:13
                            
                                30阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Proguard是安卓提供的方便开发者对代码和apk进行保护和精简的工具,可在SDK/tools文件夹下找到。 
 
    
  
 proguard的作用 : 
 
  1,代码混淆 
 
  2,精简代码,删掉没有用到的代码,减小apk的体积。 
 
    
  
 使用场景: 
 注意,直接build生成的APK是不进行混淆的,必须是signed的apk才会混淆            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-28 15:27:49
                            
                                73阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            APP没有混淆,一点安全感也都没有了,随便一个反编译的工具都能看到apk中的代码。代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。为了加大反编译的成本,但是并不能彻底防止反编译。开启混淆:在项目路径下app目录下的build.gradle文件,找到minifyEnabled这个配置,然后设置为true即可。relea            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-10 13:02:52
                            
                                224阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            开启混淆在build.gradle的buildTypes中添加一下的依赖就可以开启了混淆;buildTypes {
        debug {
            // 开启混淆
            minifyEnabled true
            // 开启资源压缩,编译时会自动删除未使用到的res资源
            shrinkResources true            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-20 22:18:31
                            
                                85阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            代码混淆有其必要性及特殊性,要用好混淆文件,也得注意其中隐藏的坑。一、基本配置:1、基本指令的添加#############################################
#
# 对于一些基本指令的添加
#
#############################################
# 代码混淆压缩比,在0~7之间,默认为5,一般不做修改
-optimizatio            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-09 18:20:26
                            
                                269阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            -keep class com.xxx.**
-keep class com.xxx.*一颗星表示只保持该包下的类名,而子包下的类名还是会被混淆.两颗星表示把本包和所含子包下的类名都保持注意:用以上方法保持类后,你会发现类名虽然未混淆,但里面的具体方法和变量命名还是变了,这时如果既想保持类名,又想保持里面的内容不被混淆,我们就需要以下方法了-keep class com.xxx.*{*;}
-ke            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-10 10:52:37
                            
                                1099阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ProGuard是一个开源的Java代码混淆器。它可以混淆Android项目里面的java代码,对的,你没看错,仅仅是java代码。它是无法混淆Native代码,资源文件drawable、xml等。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-25 11:09:05
                            
                                439阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Apk文件被反编译出来能被获取到里面的代码。对于这种情况,我们可以对项目代码进行混淆,随机生成难理解的类名,方法名,让代码难以阅读,加大功能被盗取的难度。混淆可以起到压缩Apk,混淆文件,预检,优化的作用。1. 使用方式,在gradle文件中设置minifyEnabled为true即可开启混淆buildTypes {
release {
minifyEnabled ture //是否开启代码混淆            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-10 20:48:33
                            
                                291阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ## Android代码混淆的步骤
下面是实现Android代码混淆的步骤的表格展示:
| 步骤 | 描述 |
| --- | --- |
| 1 | 在项目的build.gradle文件中开启代码混淆 |
| 2 | 配置混淆规则文件 |
| 3 | 构建打包APK文件 |
| 4 | 检查混淆后的代码是否正常运行 |
接下来,我将详细介绍每个步骤需要做的事情,并提供相应的代码示例。
#            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-09-02 11:07:22
                            
                                34阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 如何实现“Android哪些不能被混淆”
在Android开发中,使用ProGuard进行代码混淆可以帮助我们保护应用程序的源码。然而,有时我们不希望某些类、方法或字段被混淆,这通常是因为它们会被外部库、框架或调用所依赖。本文将带你逐步了解,在Android开发中,哪些部分不能被混淆,以及如何实现这一过程。
## 流程步骤
在实现“哪些不能被混淆”之前,首先我们需要了解整个流程。以下是一            
                
         
            
            
            
            Android Proguard 混淆文件的规则及使用简介一个能够 压缩、优化和混淆整个项目代码的配置文件,可以通过配置,删除项目中的移除无用代码、减小apk体积、通过使用无意义的名称重命名类、字段和方法,达到混淆的作用,防止反编译,使得apk更不容易进行逆向工程。原理ProGuard能够对Java类中的代码进行压缩(Shrink),优化(Optimize),混淆(Obfuscate),预检(Pr            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-19 07:50:33
                            
                                186阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            混淆的规则 1.压缩 Shrinking 默认开启,优化Apk体积,移除未使用的类和成员 #关闭压缩 -dontshrink 2.优化 Optimization 默认开启,在字节码中进行优化,让应用运行更快 #关闭优化 #-dontoptimize #表示proguard对代码进行迭代优化的次数,Android一般为5 -optimizationpasses n 3.混淆 Obfuscation            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-25 20:08:48
                            
                                612阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、为什么要保留实体类?原因:        当将实体类混淆后,把JSON字符串解析成对应的实体类的时候,会出现解析不成功的情况。所有属性的值都是默认值或者null。 但是如果是本地new的和通过set方法设置属性值的不受混淆影响。二、为什么要保留四大组件?原因:    &nbs            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-06 18:37:42
                            
                                179阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.大通套混淆规则: #############################################
#
# 对于一些基本指令的添加
#
#############################################
# 代码混淆压缩比,在0~7之间,默认为5,一般不做修改
-optimizationpasses 5
# 混合时不使用大小写混合,混合后的类名为小写
-do            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-01 13:27:45
                            
                                165阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                    最近研究了一下代码的混淆,总结如下:       1.build文件中minifyEnabled设置为true,然后开始配置proguard-rules.pro文件中的内容,分为三部分吧       1)可以直接复制粘贴的,不需要做任何修改的固定内容#压缩等级,一            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-10 13:59:32
                            
                                227阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Add project specific ProGuard rules here.
# Bydefault, the flags in thisfile are appended to flags specified
# in D:\Android\sdk/tools/proguard/proguard-android.txt
# You can edit the include path a            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-03 18:11:19
                            
                                128阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本文混淆是基于Android Studio.在AS实现APK的混淆是一件简单的事情.  第一步,只需要在gradle文件中设置minifyEnabled为true即可以android {
    buildTypes {
        release {
            minifyEnabled true
            zipAlignEnabled true            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-23 17:50:42
                            
                                233阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Android混淆大全,一篇就够了Proguard介绍Android SDK自带了混淆工具Proguard。它位于SDK根目录\tools\proguard下面。 ProGuard是一个免费的Java类文件收缩,优化,混淆和预校验器。它可以检测并删除未使用的类,字段,方法和属性。它可以优化字节码,并删除未使用的指令。它可以将类、字段和方法使用短无意义的名称进行重命名。最后,预校验的Java6或针对            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-19 06:29:21
                            
                                85阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Android代码混淆指南
## 流程概述
为了保护Android应用的安全性,我们通常会对代码进行混淆,即通过改变代码结构和变量名,使得代码难以被逆向工程破解。在进行代码混淆时,需要注意哪些代码是需要混淆的,哪些是不能混淆的。下面是一个简单的流程图,来帮助你理解这个过程:
```mermaid
graph TD
    A(开始) --> B(代码混淆)
    B --> C(排除列            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-04-01 05:06:10
                            
                                53阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Java 代码混淆和不能混淆的代码
在 Java 开发中,代码混淆是一种提高代码安全性的技术。它通过改变程序内部结构和代码名称来阻止逆向工程,从而保护商业机密和知识产权。然而,并不是所有的 Java 代码都可以或应该被混淆。本文将探讨哪些代码不应混淆,并提供相关的代码示例。
## 代码混淆的优点
代码混淆主要有以下几个优点:
1. **保护知识产权**:防止代码被逆向工程,保护开发者的