一  背景: 公司给甲方做的项目基本完结, 甲方向我们索要源码, 按公司要求,技术人员应对核心源码加密后,与非核心源码交给甲方, 甲方可以单独部署。       二  问题点:              &nbsp
1、ProGuard简介Java的字节码一般是非常容易反编译的。为了很好的保护Java源代码,我们往往会对编译好的class文件进行混淆处理。ProGuard的主要作用就是混淆。当然它还能对字节码进行缩减体积、优化等,但那些对于我们来说都算是次要的功能。  引用ProGuard官方的一段话来介绍就是:2、Android Eclipse开发环境与ProGuard在Android 2.3以前,混淆An
转载 2023-08-07 20:09:40
81阅读
  一、为什么要混淆-混淆的作用  压缩(Shrinking):默认开启,用以减小应用体积,移除未被使用的和成员,并且会在优化动作执行之后再次执行(因为优化后可能会再次暴露一些未被使用的和成员)。-dontshrink 关闭压缩  优化(Optimization):默认开启,在字节码级别执行优化,让应用运行的更快。-dontoptimize 关闭优化 -optimizationpasses
转载 2023-07-10 14:57:40
98阅读
Android混淆大全,一篇就够了Proguard介绍Android SDK自带了混淆工具Proguard。它位于SDK根目录\tools\proguard下面。 ProGuard是一个免费的Java文件收缩,优化,混淆和预校验器。它可以检测并删除未使用的,字段,方法和属性。它可以优化字节码,并删除未使用的指令。它可以将、字段和方法使用短无意义的名称进行重命名。最后,预校验的Java6或针对
介绍基本概念混淆,字面上来说就是把项目中的包名、名、方法名和变量名等进行更改,用以迷惑别人。但混淆其实包含了代码压缩、优化、校验等过程,把混淆称作 ProGuard更合适。ProGuardProGuard就是Java对Class文件进行“混淆”的工具。直接贴图吧:1.shrink(压缩):ProGuard会递归地确定哪些成员被使用,而其他的则被丢弃。2.optimize(优化):
转载 2023-08-30 14:36:40
167阅读
1.在建立完Android项目后,选择export ->java->JAR file 除了src中的代码,其他的都不要勾上2.打开Android_SDK\tools\proguard\bin路径下proguardgui.bat批处理文件,,如果你有.cfg 文件那就直接load configuration,如果没有可以编辑一个文档,然后改后缀名,下面的配置参数是可以直接复制到你自己
转载 2023-09-16 23:42:41
138阅读
一:情景分析有时候看到其他应用App的一些效果很炫,或者是功能实现很好就想着参考参考,于是乎,下载APK----反编译APK---查看源码。。。。,但是悲剧来了。。。。源码都是些a,b,c。。。等等这样的东东,根本啥都看不明白,后来了解到这是程序的作者保护自己劳动成果的“手段”,于是乎自己就想咱也试着“保护一下”自己的劳动成果吧,至此开启了“Android混淆代码”的旅程二:初始了解到Androi
起源 以前做过PC端逆向,一直没有学过Android,4月的时候,读了一下 my1988 对混淆壳的分析,很感兴趣,决定深入研究。   花了大约3个月的时间基本理清了混淆壳的原理,简单写了一个App,fastvm, 针对libmakeurl2.4.9.so 可以生成原始的cfg流图,和优化过的cfg流图, 以下是函数sub_342d的 : 优化过的如下
一、proguard到底是什么: proguard就是我们打包过程中压缩、混淆代码的工具,主作用是可以移除代码中的无用,字段,方法和属性同时可以混淆。这样就可以让我们的apk体积更小,更难反编译。【所以,有时候apk包变大了,可能是混淆忘开了】二、Proguard技术的功能 1.压缩 打包过程中检查和移除没有用到的、字段、属性、方法等,相当于打包过程中的文件不包括无用的等,这样体积自然就笑了
转载 2023-09-19 06:36:29
248阅读
Android 避免混淆Android开发中,混淆是一种常见的技术,它用于减小应用的体积和保护代码的安全性。然而,有时候我们需要确保某些不被混淆,因为它们在运行时可能会被反射调用或者被其他代码所依赖。本文将详细介绍如何在Android应用中避免混淆某些。 ## 什么是混淆 混淆是指将源代码中的、方法和字段名称替换成随机字符或无意义的字符,以此来减小APK的体积并增加代码的安全性。
原创 2024-01-30 08:01:51
213阅读
# 如何实现 Android 不被混淆 混淆Android 应用中一种有效的保护机制,它通过改变名、方法名和变量名来使代码更加难以逆向。然而,有时我们需要保证某些不被混淆。本文将介绍如何实现 Android 不被混淆的流程和代码示例。 ## 流程概览 在实现 Android 不被混淆之前,我们可以将整个流程总结如下表格: | 步骤 | 描述 | |------|------|
原创 2024-08-03 10:28:48
38阅读
## Android 混淆Android 应用开发中,为了保护代码的安全性和减小应用的体积,我们通常会对代码进行混淆处理。混淆可以有效地隐藏代码逻辑,减少代码可读性,从而增加攻击者对应用的分析难度。然而,有时候我们也需要确保某些不被混淆,以保证应用的正常运行。本文将介绍如何在 Android 开发中设置某些不被混淆。 ### 为什么需要设置混淆? 在进行代码混淆时,ProG
原创 2023-10-23 06:34:57
87阅读
# 如何实现 Android 没有混淆 ## 介绍 作为一名经验丰富的开发者,我将教你如何在 Android 应用中确保不会被混淆。这对于新手开发者来说可能是一个比较陌生的概念,但是在开发过程中是非常重要的,特别是在发布应用时,以确保代码的安全性和稳定性。 ## 流程 下面是实现 Android 没有混淆的流程,我们将通过一系列步骤来完成这个任务。 ```mermaid seque
原创 2024-04-20 04:42:18
38阅读
# Android 名不混淆方法混淆实现教程 ## 引言 在 Android 开发过程中,为了保护代码的安全性和保护知识产权,我们常常需要对代码进行混淆混淆是指将代码中的名、方法名等标识符进行改名,使其难以被反编译和理解。然而,在某些情况下,我们需要保持某些名不被混淆,以便在代码中进行调用。本文将教会你如何实现 Android 名不混淆方法混淆的方法。 ## 实现步骤 下面是实现
原创 2023-12-01 15:01:54
477阅读
一些公共的模板一些自定义的模板aar中增加独立的混淆配置检查混淆和追踪异常开启 proguard 功能,则每次构建时 proguard 都会输出下列文件:dump.txt 说明 apk 中所有文件的内部结构。mapping.txt 提供原始与混淆过的、方法和字段名称之间的转换。seeds.txt 列出未进行混淆和成员。usage.txt 列出从 apk 移除的代码。这些文件保存在 /bui
# 避免Android混淆Android开发中,混淆是一种对代码进行优化的技术,通过混淆可以使代码变得更小、更难以反编译,从而提高应用程序的安全性。然而,在进行混淆的过程中,有时候会出现中的混淆的情况,这会导致应用程序无法正常运行。本文将介绍如何避免Android混淆的问题,并给出代码示例。 ## 为什么会出现混淆的问题? 在Android开发中,有时候会出现
原创 2024-06-25 03:42:01
122阅读
Proguard是安卓提供的方便开发者对代码和apk进行保护和精简的工具,可在SDK/tools文件夹下找到。   proguard的作用 : 1,代码混淆 2,精简代码,删掉没有用到的代码,减小apk的体积。   使用场景: 注意,直接build生成的APK是不进行混淆的,必须是signed的apk才会混淆
# 保持某个不被混淆Android应用开发中,为了保护代码不被反编译,我们通常会对代码进行混淆处理。混淆可以有效地减小APK的大小,同时也可以增加代码的复杂性,使得反编译变得更加困难。然而,在某些情况下,我们可能需要保持某个不被混淆,比如在使用第三方SDK时,为了避免混淆导致SDK无法正常工作。 ## 为什么需要保持某个不被混淆Android混淆过程中,ProGuard会对代
原创 2024-03-31 03:54:52
352阅读
proguard-rules.pro文件中配置# Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified # in D:\work\Develop_tool\android-sdk/tools/proguard/proguard-an
转载 2024-07-20 16:21:18
71阅读
AAR包混淆方案将所有需要对外暴露的方法所在统一移动到一个文件夹中。对于暴露出来的包名,名及方法名,需手动修改,例如:per.amon.lib.api在 proguard-rules.pro 文件中,添加如下代码-keep class per.amon.module.lib.** { *; }开启代码混淆 开启代码混淆方式buildTypes { release { /
  • 1
  • 2
  • 3
  • 4
  • 5