0


Android App开发之安全加固中反编译、代码混淆、第三方加固以及重签名的讲解及实战(图文解释 简单易懂)

觉得有帮助请点赞关注收藏~~~

一、反编译

编译是把代码编译为程序,反编译是把程序破解为代码。 下面介绍反编译的完整过程

首先准备反编译的三个工具,分别是apktool,dex2jar,jd-gui 注意下载它们的最新版本

apktool 对APK文件解包 主要用来解析res资源和AndrodiManifest.xml

dex2jar 将APK文件中的class.dex转化为jar包

jd-gui 将jar包反编译为Java源码

APK解压后的内部目录结构

转换工具dex2jar的运行截图

反编译后的java源码目录结构

由此可见 这样App很容易被破解 因此必须要采取一些保护措施

二、代码混淆

代码混淆就是保护代码安全的措施之一,Android已经自带了代码混淆器ProGuard它的用于主要如下

1:压缩APK包的大小 删除无用代码 并简化部分方法名和类名

2:加大破解源码的难度 部分类名和方法名被重命名使得程序逻辑变得难以理解

由下图可见 代码混淆之后类名混乱 黑客看了也束手无策

三、第三方加固及重签名

App经过代码混淆后初步结束了裸奔的状态,但是还有其他的安全风险,我们可以把APK文件交给专业网站进行加固处理,如360加固网站等等​​​​​​360加固网站

不过加固后的APK破坏了原来的签名,也就无法在手机上安装,此时要对该文件进行重签名,才能成为合法的APK安装包,重签名可使用专门的签名软件,比如爱加密的APKSign等等,选择文件的路径,密码,别名,别名密码等等之后即可开始重签名,签名完后即可在手机上直接安装了

创作不易 觉得有帮助请点赞关注收藏~~~


本文转载自: https://blog.csdn.net/jiebaoshayebuhui/article/details/127886301
版权归原作者 showswoller 所有, 如有侵权,请联系我们删除。

“Android App开发之安全加固中反编译、代码混淆、第三方加固以及重签名的讲解及实战(图文解释 简单易懂)”的评论:

还没有评论