`
pick1990
  • 浏览: 2376 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Android开发需要在安全性方面有一定措施

阅读更多
Android开发需要在安全性方面有一定措施

Android开发时时下较为热门的工作,但与此同时,有一大批黑客专司反向破解android开发程序。

Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹
proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难看懂的代码,从而达到保护代码的作用。
在工程的"default.properties"中添加这样一句话“proguard.config=proguard.cfg”
打包签名后的.apk就是混淆的,其实我们只要做一步就可以了就是在"default.properties"中添加这样一句话“proguard.config=proguard.cfg”就可以了。
如果想要更加复杂地混淆代码,可以详细地对该文件进行配置.




由于苹果 开发是Android虚拟机加载的,它有一定的规范,加密apk后Dalvik无法识别apk了。完全避免是不可能的,总有人能够破解你的代码。但是有几种
方式来提高被反编译取代码的难度:

1 关键ipad开发代码使用jni调用本地代码,用c或者c++编写,因此相对比较难于反编译

2 混淆java代码。混淆是不改变代码逻辑的情况下,增加无用代码,或者重命名,使反编译后的源代码难于看懂。

    网上开源的苹果 开发代码混淆工具较多,一般是用ant的方式来编译的


-injars  androidtest.jar【jar包所在地址】
-outjars  out【输出地址】
-libraryjars    'D:\android-sdk-windows\www.lekolite.cn\android-9\android.jar' 【引用的库的jar,用于解析injars所指定的jar类】


-optimizationpasses 5
-dontusemixedcaseclassnames 【混淆时苹果 开发不会产生形形色色的类名 】
-dontskipnonpubliclibraryclasses 【指定不去忽略非公共的库类。 】
-dontpreverify 【不预校验】
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 【优化】
-keep public class * extends android.app.Activity  【不进行混淆保持原样】
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
-keep public abstract interface com.asqw.android.Listener{
public protected <methods>;  【所有方法不进行混淆】
}
-keep public class com.asqw.android{
public void Start(java.lang.String); 【对该ipad开发方法不进行混淆】
}
-keepclasseswithmembernames class * { 【保护指定的类和类的成员的名称,如果所有指定的类成员出席(在压缩步骤之后)】
native <methods>;
}
-keepclasseswithmembers class * { 【保护苹果 开发指定的类和类的成员,但条件是所有指定的类和类成员是要存在。】
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.app.Activity {【保护指定ipad开发类的成员,如果此类受到保护他们会保护的更好 】
public void *(android.view.View);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {【保护指定的类文件和类的成员】
public static final android.os.Parcelable$Creator *;
}

优秀的程序员,在进行android开发的过程中,还是很需要注意安全性的问题的
分享到:
评论

相关推荐

    Android开发手机通讯录

    此外,Material Design指南是Android开发中的重要参考,它提供了统一的视觉风格和交互规范。 其次,**数据存储**是通讯录应用的基础。Android提供了多种数据存储方式,如SQLite数据库、SharedPreferences和内部/...

    Android应用程序开发中安全性设计的研究.pdf

    但是,为了更全面地保障应用与用户的安全,本文将讨论在Android系统中常见的安全措施,以及为开发者提供在开发安全Android应用时应当遵循的最佳实践。 首先,Android系统中的应用程序沙盒是保证应用安全的一个关键...

    android 13.Android的IBinder接口及其安全性机制

    ### Android 13 的 IBinder 接口及其安全性机制 #### IBinder 接口简介 在 Android 开发中,为了实现跨进程通信(IPC),Android 提供了一个核心接口——`IBinder`。这个接口允许不同进程中的应用组件(如 ...

    Android编程开发指南

    此外,由于Android系统具有庞大的用户群体和广泛的应用场景,因此在开发过程中对于性能优化、用户体验和安全性等方面的要求也比较高。本书在介绍这些内容时,会结合具体的应用案例,帮助开发者更好地理解和运用这些...

    Android应用程序安全开发指南

    - 在Android开发中,文件处理是一个重要环节,指南中讨论了安全处理文件的方法。 - Intent使用时需要特别注意,尤其是可浏览Intent(Browseable Intent)的使用需要谨慎,以防止安全漏洞。 4. 最新安全标准和最佳...

    Android物联网RFID功能的开发

    在开发过程中,需要注意RFID技术的安全性和隐私问题。由于RFID标签可以被远程读取,可能会引发数据泄露的风险。因此,设计应用时应考虑加密传输、权限控制等安全措施。 总结起来,Android物联网RFID功能的开发涉及...

    国内第三方Android应用市场安全性的检测.pdf

    同时,该研究结果也对Android 应用市场的安全性提出了挑战,需要开发者和相关机构采取措施来提高应用市场的安全性。 知识点: 1. Android 应用市场安全性检测的重要性 Android 应用市场的安全性检测是非常重要的...

    Android操作系统安全机制研究.doc

    这一层次化设计旨在兼顾安全性和开放性。应用层包含所有用户应用,主要由Java编写,部分为C/C++本地应用。应用程序框架层提供组件间通信的服务,强化系统安全。系统运行时类库层包括多个子系统和Android运行时,其中...

    Android软件安全开发研究.pdf

    总之,Android软件的安全开发需要全面考虑各个组件的安全性,从权限管理、数据保护、组件交互等多个方面入手,以确保应用程序及其所在系统的整体安全。同时,开发者需要时刻关注最新的安全动态,采取有效的安全措施...

    Android底层开发技术实战详解

    书中会介绍权限管理、数据加密、沙箱机制等安全措施,并指导读者如何在开发过程中确保应用的安全性。 七、驱动程序开发 硬件驱动是连接Android系统与物理设备的关键。本书会涉及各种常见的驱动开发,如显示驱动、...

    阿里Android开发手册

    - **防破解措施**:采取反调试、混淆等手段,提高应用的安全性。 8. **持续集成与交付**: - **Jenkins或GitLab CI/CD**:自动化构建、测试和部署,缩短迭代周期。 - **代码质量检查**:集成静态代码分析工具,...

    android银联支付开发demo

    7. **安全措施**:在开发银联支付时,一定要注意数据的安全性,比如敏感信息的加密传输,以及避免内存中敏感数据的泄露。遵循银联的安全规范,确保用户的交易安全。 这个"android银联支付开发demo"可能包含了上述...

    android开发艺术探索 带目录 完整版 (全) pdf

    12. **安全与隐私**:Android应用的安全性是开发者必须考虑的问题。书中会介绍权限管理、代码混淆、数据加密等安全措施,以及如何防止应用被恶意攻击。 13. **单元测试与持续集成**:书中也会涉及到单元测试的编写...

    基于Android的手机银行系统开发与设计.zip

    总的来说,这个基于Android的手机银行系统开发项目涵盖了移动应用开发的多个关键领域,包括但不限于Android编程、UI/UX设计、安全性实践、网络通信和数据库管理。通过这样的项目实践,开发者不仅能掌握安卓开发技能...

    Android高级开发实战 UI、NDK与安全

    通过阅读《Android高级开发实战 UI、NDK与安全》,开发者不仅可以提升Android应用的视觉效果和性能,还能确保其在面临安全挑战时有充足的防护措施。这本书将帮助读者从一个普通的Android开发者成长为具备全面技术...

    试述Android操作系统的安全性.pdf

    【Android 操作系统的安全性】 ...综上所述,Android操作系统的安全性是多方面的,既有自身强大的安全机制,也面临着不断演变的恶意攻击。用户和开发者需要共同努力,提高系统的安全水平,保障个人数据的安全。

Global site tag (gtag.js) - Google Analytics