(九)关于 加固与脱壳简单介绍

什么是壳?
自然界中的壳,保护内部组织

1. 计算机软件中的壳是什么?

在一些计算机软件里,有一段专门负责保护软件不被非法修改或者反编译的程序,一般会先于程序运行,拿到控制权,保护软件。
原始代码在加壳的过程中,可能被压缩、加密、隐藏等等,根据加壳的过程,一般有加密壳、压缩壳、伪装壳、多层壳。所有的意图都是隐藏程序正在的代码和执行入口。

在程序中,给一些软件加上这种壳,被称为 加固

例如:
Android studio本身将源代码打包成apk就已经是一种压缩了,而我们用的一些普通的 d2xjar , dx.bat 都是在对我们的程序进行互相转化。

  • java 执行的 jar

  • android 执行 dex

其实可以转换的:

  • jar -> dx.bat -> dex

  • dex -> d2jar -> jar

2. 那么加固又是什么,可以做哪些事?

以腾讯云加固为例子,网址:https://cloud.tencent.com/product/ms(加固文档:https://cloud.tencent.com/document/product/283/13769)

加固可以干这么多事情:
(九)关于 加固与脱壳简单介绍_第1张图片
所以:对APP进行加固,可以有效防止App被破解、盗版、篡改等。

2.脱壳干什么?

简单的说就是将各种加密形式进行破解以及还原我们的源码,方便去逆向分析。

不同的加固形式对应的 脱壳 方法不同。

如一个简单的流程,可以看一下这个博客:https://blog.csdn.net/hgfujffg/article/details/84000882

你可能感兴趣的:(Android逆向分析)