【Android】反编译与预防被反编译

【Android】反编译与预防被反编译

近期在开发一款软件时,遇上了加密、解密数据方面的一些技术问题无法攻克,于是抱着试试看的态度使用 jadx-gui 工具进行反编译一下。哎,居然还成功了,更骚的是,这一款App没有对应用进行混淆、加密、加固,没多久我就研究明白了他们的应用是如何解决我所遇到的问题,升职加薪又离我更近一步了🤭

但是呢,为了防止我所编写的软件遇上像我这样的老六,特地写一篇文章来告诉大家如何能成为我这样的老六,以及如何加强App的软件防护等级。

目录

反编译

jadx-gui

预防反编译

代码混淆

应用加固

其它

SDK 加固 & 插件加固

加密重要数据

使用C/C++代码

防止调试

反编译

可以用于反编译 App 的工具有很多,敲命令行实现反编译的已经成为过去式了,这里分享一个有 GUI ,同时也是博主目前在使用的反编译工具:jadx

jadx-gui

jadx-gui 是用于从 Android Dex 和 Apk 文件生成 Java 源代码的命令行和 GUI 工具。

我们可以借助该工具,实现反编译 App。

这里我使用 StepDemo 作为演示的项目,下载 jadx 安装到电脑上,使用 jadx 打开一个 .app 或 .apk 文件 ,就可以得到如图的 app 信息。

使用 Android Studio 查看项目的源代码是这样:

将 StempDemo 打包成一个 .apk 或者 .aab ,使用 jadx 打开后自动反编译的代码:

咋样?你学会了没?

预防反编译

哈!反编译很简单吧!

上面讲了如何反编译他人的 app ,接下来就讲解,如何预防你们的 app 被某个老六给反编译抄走辛辛苦苦写的代码😊

代码混淆

代码混淆可以说是应用安全中最基础的知识了,但同时也是坑最多的方式之一。

关于代码混淆可参考往期文章 👉【Android】App攻防之代码混淆

打开 app 项目的 build.gradle.kts 文件,启用 isMinifyEnabled 即可开启混淆。

android {

buildTypes {

相关推荐

分析9种星图优劣、附送需要神石数量攻略
365网站世界杯怎么进

分析9种星图优劣、附送需要神石数量攻略

⌛ 07-04 👁️ 4825
方正字库
365网站世界杯怎么进

方正字库

⌛ 07-19 👁️ 7754
龙猫洗澡洗多久
365速发在线注册

龙猫洗澡洗多久

⌛ 07-09 👁️ 7774