当前位置: 首页 > 编程笔记 >

Android实用图文教程之代码混淆、第三方平台加固加密、渠道分发

邵和硕
2023-03-14
本文向大家介绍Android实用图文教程之代码混淆、第三方平台加固加密、渠道分发,包括了Android实用图文教程之代码混淆、第三方平台加固加密、渠道分发的使用技巧和注意事项,需要的朋友参考一下

第一步:代码混淆(注意引入的第三方jar)

在新版本的ADT创建项目时,混码的文件不再是proguard.cfg,而是project.properties和proguard-project.txt。

新建一个项目的时候,会自动生成project.properties和proguard-project.txt文件,无需自己新建,如果你的项目无法自动生成,那么你就要检查一下你的ADT版本了

如果需要对项目进行全局混码,只需要进行一步操作:

将project.properties的中

“#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt”的“#”去掉就可以了。

如果有一些代码不能被混淆,比如需要加入了so文件,需要调用里面的方法,那么调用JNI访问so文件的方法就不能被混码。在导出的时候,可能不会报错。但是在手机上运行的时候,需要调用so文件的时候,就会报某某方法无法找到。这个时候就需要用到proguard-project.txt。

在新版本的代码混淆,已经变得很智能,不过引入的第三方jar还是需要手动编写混淆规则

案例:引入了BaiduLBS_Android.jar,android-support-v4.jar两个包

proguard-project.txt脚本编写规则:


#工程中含有第三方jar包

-libraryjars libs/android-support-v4.jar

-libraryjars libs/BaiduLBS_Android.jar

#项目里面包含的包也不能混淆

-keep class com.baidu.** {*;}

-dontwarn com.baidu.**

-keep class vi.com.gdi.bgl.android.java.** {*;}

-dontwarn vi.com.gdi.bgl.android.java.**

 -keep class android.** {*;}

-dontwarn android.**

第二步:导出apk(部分第三方加密平台需要导出签名的apk)

请根据第三方加密平台的要求导出apk,带签名的apk导出速度稍慢。右击项目选择 Android Tools再根据需求导出

第三步:第三方平台加固(生成多渠道包)

现在比较流行的加密平台有:

http://www.bangcle.com

http://***

http://dev.360.cn/protect/welcome

如果你的项目里面包含了百度统计、友盟统计等功能,那么肯定需要了解不同应用商店的下载量,所以生成渠道包就很重要。这些平台都可以帮助生成多个去到apk

下图是使用“爱加密”平台,项目集成了友盟统计

加固需要花费十几分钟的时候,加固完成后就能下载到不同渠道的包,但是没有签名,无法安装

第四步:apk重新签名

加固后的apk是没有签名的,没有签名的apk是无法安装到手机里面的,需要使用签名工具重新签名

可以使用adt自带的,但是过于麻烦,建议使用第三方的签名工具

比如:爱加密提供的http://***/apply/Sign

 类似资料:
  • 本文向大家介绍Android应用开发之代码混淆,包括了Android应用开发之代码混淆的使用技巧和注意事项,需要的朋友参考一下 混淆器(ProGuard) 混淆器通过删除从未用过的代码和使用晦涩名字重命名类、字段和方法,对代码进行压缩,优化和混淆。结果是一个比較小的.apk文件,该文件比較难进行逆向project。因此,当你的应用程序对安全敏感(要求高),比如当你授权应用程序的时候,混淆器是一种重

  • 问题内容: 我正在做一个登录页面。我有UITextField作为密码。 显然,我不希望看到密码。相反,我希望键入时显示圆圈。您如何设置发生这种情况的领域? 问题答案: 请将您的UItextField属性设置为安全。 试试这个.. textFieldSecure是您的UITextField …

  • 本文向大家介绍Android 混淆代码详解及实例,包括了Android 混淆代码详解及实例的使用技巧和注意事项,需要的朋友参考一下 为了防止自己的劳动成果被别人窃取,混淆代码能有效防止被反编译,下面来总结以下混淆代码的步骤: 1. 大家也许都注意到新建一个工程会看到项目下边有这样proguard-project.txt一个文件,这个对混淆代码很重要,如果你不小心删掉了,没关系,从其他地方拷贝一个过

  • 本文向大家介绍FileZilla FTP Server 安全加固图文教程,包括了FileZilla FTP Server 安全加固图文教程的使用技巧和注意事项,需要的朋友参考一下 FileZilla 是一款免费的跨平台 FTP 应用程序,由 FileZilla Client 和 FileZilla Server 组成。本文档依据 FileZilla Server 0.9.59 版本,向您提供一系列

  • 本文向大家介绍java明文密码三重加密方法,包括了java明文密码三重加密方法的使用技巧和注意事项,需要的朋友参考一下 本文介绍了两种密码加密的方法,这两种很常见可以再百度随意找到。 1.摩斯密码; 说道密码加密不得不提的方法。很是经典。 首先说一下他的对照表,直接上图。 核心思想就是替换明文密码,将字符对应的替换成-与.两种符号的组合; 2、栅栏密码; 所谓栅栏密码,就是把要加密的明文分成N个一

  • 在proguard-project.txt中使用-keep类org.xbill.**{*;}似乎不能解决这个问题。

  • 本文向大家介绍android app进行代码混淆实例详解,包括了android app进行代码混淆实例详解的使用技巧和注意事项,需要的朋友参考一下 接到一个新的任务,对现有项目进行代码混淆。之前对混淆有过一些了解,但是不够详细和完整,知道有些东西混淆起来还是比较棘手的。不过幸好目前的项目不是太复杂(针对混淆这块来说),提前完成~~现总结之。  第一部分 介绍下操作流程(eclipse): 1、打开

  • 本文向大家介绍IntelliJ Plugin 开发之添加第三方jar的示例代码,包括了IntelliJ Plugin 开发之添加第三方jar的示例代码的使用技巧和注意事项,需要的朋友参考一下 本小节内容不多,但是个人感觉比较独立,还是拿出来单讲吧。 在开发 IntelliJ Plugin 时,如果需要用到 Gson、OKHttp 等第三方库时,该怎么办呢? 回答这个问题前,我先补充前面没有讲到的内