如何保护Android应用内的代码及文件?

  • 回答 (7)
  • 关注 (0)
  • 查看 (404)

我写了一个APP,里面有相关算法及逻辑,害怕被反编译,有没有办法保护下?

逆鳞若光逆鳞若光提问于
人生的旅途辣鸡前端回答于

我曾经使用过腾讯云的乐固,感觉不错,把教程放出来:

我我们知道对于有过反编译经验的同学分分钟把正常的安卓程序源代码搞出来。一直也在寻找此类服务,之后发现腾讯云上有一个叫乐固的服务,支持反破解,反调试,反窃取,防篡改,防二次打包, 兼容2.x至 7.x 任何安卓系统, 兼容yunOS系统,重要的是免费的,支撑的团队响应速度也很及时,拖入专项问题讨论组,乐固团队人员帮你处理,这个太佩服,效率绝对的高。

前序:准备好之前已经签名好的产品apk。

1.首先找到云产品里找到应用乐固的服务。

进入以后

选择好我们的apk文件。

等到上传完毕以后:

提交,系统就会自动进行加固。

下载加固包。

会提示:

此时,如果没有下载签名工具,就先下载签名工具,如果已经下载好了 就点击 “继续下载加固包”。

这是一个已经加固,但是没有签名的包。需要我们重新用我们自己的签名和密码重新打包签名一下。

2.包签名

首先下载好乐固提供的自助加固工具。

正常情况下打开根目录的LeguPC.exe。

(插曲:我的win8当时打不开,应该是权限问题,我直接找到\Bin\LeguPC.exe)

我们选择辅助工具:

APK原包:就是我们下载的加固包

输出路径:选择一个目录然后,程序会把签名好的apk生成在这里

下面keystore、密码别名等就把我们生成签名的数据填写上

点击立即签名 完成加固。

3.实践是检验真理的唯一标准

我不相信任何吹嘘,验证一下是否可行。

用工具尝试还原代码,已经失败了。

目录结构是混淆后的了

目前我们这边正式产品已经使用上,表现良好兼容性也很强。

刺猬Christian.CS.真理使人得自由.回答于

我看有人讲乐固的教程,但是不够全,我这里列一下PC的使用教程。

一)Android项目准备

配置AndroidManifest.xml文件(如果不需要多渠道打包可跳过)

这里android:name=“channel”

生成正式签名的apk,默认文件名为app-release.apk

(二)下载PC工具运行

可以先提前在腾讯云官网上登陆,确认可以登陆后,再使用PC工具登陆。

开始配置签名等相关信息:

签名:

选择签名路径,输入密码,如果密码正确,Keystore别名会自动显示。

多渠道设置:

注意这里的Android Name 与 AndroidManifest.xml中要保持一致,这里为channel。

以上步骤正常完成后,辅助工具中的默认配置和设置中的多渠道和签名配置是保持一致的。

(三)开始加固

添加应用开始加固,添加完成后开始上传app,下载加固包完成打包和签名。

前面配置了输出目录,因此可直接在该目录中找到加固并重签名的安装包。

这是完成后的文件名,增加了“_legu_signed_zipalign”,此安装包可正常安装和运行。

如果不需要多渠道打包,此时加固工作已经完成。可在应用宝那里上传app-release_legu_signed_zipalign.apk。

(四)多渠道打包(可选)

先去腾讯云官网乐固处上传apk

下载该加固包,此时下载的文件名为:app-release_legu.apk。

选择pc工具中的多渠道打包

立即打包,完成后出现:

分别签名:

完成后的文件名:

多渠道打包和签名完成,以上两个apk可直接安装运行。

(五)其他

制作签名:

安装JDK,推荐64位版本,配置好环境变量

执行命令:keytool -genkey -alias key -keyalg RSA -keysize 2048 -keystore android.keystore -validity 10000

在cmd中执行此命令,输入密码和其他信息,确认完成后生成android.keystore签名文件,此时别名为“key”,有效期为10000天

或者直接使用Android studio生成签名文件,此时签名文件的扩展名为jks。

笔洁7eProgrammer回答于

我看其他回答说没必要加固,还有人说兼容性和性能会有影响,绝对不可取!

为什么要应用加固?

  • Android 应用使用 Java 语言编程,易被反编译,破译核心业务逻辑和算法;
  • Android 应用易被二次打包,插入病毒、木马、流氓广告等恶意代码;
  • Android 系统本身开源特性,以及移动应用承载的越来越多的核心业务,使其已成为黑客的主要攻击对象。

应用加固对兼容性有什么影响?

应用加固是基于加密、加壳技术对 App 进行保护。理论上对应用加固后的兼容性会产生一定影响。如果对性能有要求的同学,请谨慎。

housenimeia回答于

233333,你问对地方了,腾讯应用安全乐固(https://cloud.tencent.com/product/ms/details)了解下。腾讯云应用加固可以在不改变 Android 应用源代码的情况下,将针对应用各种安全缺陷的加固保护技术集成到应用 APK,从而提升应用的整体安全水平,应用加固主要功能包括:DEX 反编译保护、SO 库文件反编译保护、APP 防篡改保护、APP 防调试保护、APP 本地数据保护、APP 资源文件保护、游戏引擎加固

踏步轻云没有自信是因为经历的还不够多。回答于

好像腾讯云有个什么产品,以前听谁说过,你去搜下,我不太清楚。

k的绝对值ひとーつ、ひいきは绝対せず! ふたーつ、不正は见逃さず! みっつ、见事にジャッジする! キャプテントンボーグ、ただいま参上!回答于

没必要加密吧?我就裸奔,也没啥大的影响啊,再说可能会对性能造成影响,人家用户那你的软件出BUG咋办?

用户3509269回答于

扫码关注云+社区

领取腾讯云代金券