`
xyz_lmn
  • 浏览: 65408 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

android应用安全——代码安全(android代码混淆)

 
阅读更多

android2.3的SDK开始在eclipse中支持代码混淆功能(理论上java都支持混淆,但关键在于如何编写proguard的混淆脚本,2.3的SDK使用简单的配置就可以实现混淆)。使用SDK2.3后,新建的工程下和之前相比,都会多了一个文件“proguard.cfg”。这个文件就是混淆所需的proguard脚本。在工程的"default.properties"中添加这样一句话“proguard.config=proguard.cfg”即可实现混淆(如下图)。


android4.0SDK,ADT14或者更高版本,项目中没有default.properties文件,只有project.properties文件,找到project.properties文件即可。该文件中有以下两行:


# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
# proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt


根据这段说明,只要将proguard.config前面的#去掉(下图),就可以利用ProGuard来混淆代码了!


默认的设置是不带优化功能的,下面代码可优化混淆:

proguard.config=${sdk.dir}/tools/proguard/proguard-android-optimize.txt:proguard-project.txt



proguard 配置

最常用的配置选项
-dontwarn 缺省proguard 会检查每一个引用是否正确,但是第三方库里面往往有些不会用到的类,没有正确引用。如果不配置的话,系统就会报错。
-keep 指定的类和类成员被保留作为 入口 。
-keepclassmembers 指定的类成员被保留。
-keepclasseswithmembers 指定的类和类成员被保留,假如指定的类成员存在的话。


使用的JNI、jar时更应该考虑混淆的配置。


混淆更多配置请参考:

http://developer.android.com/tools/help/proguard.html#configuring


/**
* @author 张兴业
* iOS入门群:83702688
* android开发进阶群:241395671
* 我的新浪微博:@张兴业TBOW
*/



分享到:
评论

相关推荐

    Android SO文件保护加固——混淆篇(一)源代码

    为了提高应用的安全性,开发者需要对SO文件进行保护和加固,其中混淆是一种常用的技术手段。 混淆技术主要是通过改变代码的可读性和可理解性,使得恶意逆向工程师难以分析和理解代码逻辑。在Android SO文件保护中,...

    Android课程设计——背单词软件

    使用Gradle作为构建工具,开发者可以通过修改build.gradle文件来定制编译选项,如版本控制、依赖管理、代码混淆等。完成开发后,应用可以通过Android Studio生成APK文件,供用户安装和使用。 总之,"Android课程...

    Android项目实战——手机安全卫士开发案例解析(随书代码文件

    在本项目实战中,我们将深入探讨如何开发一款名为“手机...通过实际操作和学习随书提供的代码,开发者不仅能掌握Android开发技术,还能了解到如何构建一个完整的安全应用,这对于提升个人技能和解决实际问题大有裨益。

    android 应用 源代码——桌面小程序 免费

    以下是一些关于Android应用源代码和桌面小程序开发的重要知识点: 1. **Android SDK**: 开发Android应用的基础是Android Software Development Kit (SDK),它包含了开发者需要的所有工具,包括编译器、模拟器、调试...

    Android SO文件保护OLLVM混淆加固——混淆篇(二)

    总的来说,OLLVM混淆是提升Android应用安全性的有效手段之一,通过混淆技术,可以有效降低代码被逆向分析的风险。然而,混淆并非一劳永逸的解决方案,开发者应结合多种安全策略,以构建全方位的安全防线。

    Android课程设计————课程表(app)

    - 使用ProGuard或R8进行代码混淆,提高应用安全性。 通过以上步骤,我们可以构建一个基本的课程表应用。然而,为了提升用户体验,还可以考虑增加更多特性,如课程分类、搜索功能、云同步等。在实践中不断迭代,...

    Android源码——笑话故事android应用源码.zip

    【Android源码解析——构建笑话故事应用】 在深入解析这个"Android源码——笑话故事android应用源码.zip"之前,我们需要了解Android应用的基本结构和开发流程。Android应用主要由Java或Kotlin语言编写,通常包括...

    安卓Android源码——捕鱼达人源代码.zip

    【标题】"安卓Android源码——捕鱼达人源代码.zip" 提供的是一个基于Android平台的捕鱼达人的游戏源代码,这是一份对于Android开发者来说非常有价值的参考资料。它可以帮助开发者深入理解游戏开发流程,特别是...

    安卓Android源码——小米便签源代码分享.zip

    9. **性能优化**:源代码可能包含一些性能优化技巧,如懒加载、内存管理、代码混淆等,这些都是提升应用质量的关键。 通过深入分析这份源代码,开发者不仅能学习到Android应用的基础知识,还能发现实际项目中的最佳...

    Android项目之——页面特效集合(附源码).zip

    - `proguard.cfg`: ProGuard配置文件,用于混淆和优化代码,减少APK大小,提高应用安全。 - `.classpath`: Eclipse或ADT的经典配置文件,指定了项目的构建环境和依赖库。 4. **R.java**: 自动生成的资源ID类,...

    安卓Android源码——xinxinDemo.zip

    5. `proguard-project.txt`:ProGuard是一个混淆器,可以减小APK大小,隐藏源代码,提高应用的安全性。此文件包含了ProGuard的配置规则。 6. `AndroidManifest.xml`:这是Android应用的核心配置文件,定义了应用的...

    安卓Android源码——LedongliDemo.zip

    5. `proguard-project.txt`:ProGuard的配置文件,用于在发布应用时进行代码混淆,保护代码安全,减小APK大小。 6. `AndroidManifest.xml`:这是每个Android应用的核心文件,包含了应用的元数据,如活动(Activity...

    游戏安全——手游安全技术入门源代码

    开发者可以采用反编译技术,如混淆代码、加固应用,以及使用服务器验证机制来防止数据篡改。此外,实时检测异常行为和建立安全日志也是有效手段。 4. **游戏和外挂的逆向分析方法**:逆向工程是外挂开发者常用的...

    安卓Android源码——查询工具源代码.zip

    1. **Proguard.cfg**: ProGuard 是 Android 开发中的一个代码混淆工具,用于优化、缩小和混淆 Java 字节码,以防止反编译。ProGuard 配置文件定义了混淆规则,包括哪些类、方法和变量需要保留,这对于保持代码可读性...

    安卓Android源码——testBaiduMap.zip

    5. **proguard-project.txt**:ProGuard是一个Java代码混淆工具,此文件用于配置代码混淆规则,保护应用源代码的安全性,同时减小APK的大小。 6. **AndroidManifest.xml**:这是Android应用的核心文件,定义了应用...

    安卓Android源码——Android应用源码之手机控制电脑wirelesskeyboard1.4(手机端源码).zip

    【标题】中的“安卓Android源码——Android应用源码之手机控制电脑wirelesskeyboard1.4(手机端源码)”表明这是一个关于Android操作系统开发的项目,具体是实现手机作为无线键盘来控制电脑的功能。这个项目的版本号...

    安卓Android源码——BlogForZFB.zip

    5. **proguard-project.txt**:ProGuard配置文件,用于混淆代码,减少应用大小并保护代码安全。混淆后的代码难以被逆向工程解析。 6. **AndroidManifest.xml**:Android应用的核心配置文件,它声明了应用的组件(如...

    安卓Android源码——TrendsCrossLayout.zip

    5. `proguard-project.txt`:ProGuard的配置文件,用于混淆代码,减少APK大小并保护代码安全。 6. `AndroidManifest.xml`:Android应用的核心配置文件,定义了应用的组件、权限、启动Activity等信息。 7. `src`:源...

    安卓Android源码——FloatWindowDemo.zip

    5. `proguard-project.txt`:ProGuard配置文件,用于代码混淆,保护应用源码安全,减小应用体积。 6. `AndroidManifest.xml`:Android应用的核心配置文件,定义了应用的组件(如Activity、Service等)、权限请求、...

    安卓Android源码——精典源码之查询工具源代码.zip

    ProGuard是Android开发中的一个代码混淆、优化和压缩工具,可以减小APK的大小,保护代码安全,防止反编译。在发布应用时,通常会启用ProGuard以提高应用的安全性和效率。 2. **.classpath**:这是Eclipse或Android ...

Global site tag (gtag.js) - Google Analytics