AES加密加固

一、反编译

1.定义:利用编译程序从源语言编写的源程序产生目标程序的过程。

2.怎么进行反编译?

先了解apk对文件构造

AES加密加固

二、加固方案的手段

1.反模拟器:模拟器运行apk,可以用模拟器监控到apk的各种行为,所以在实际的加固apk运行中,一旦发现模拟器在运行该APK, 就停止核心代码的运行。

2.代码虚拟化:代码虚拟化在桌面平台应用保护中已经是非常的常见了,主要的思路是自建一个虚拟执行引擎,然后把原生的可执 行代码转换成自定义的指令进行虚拟执行。

3.加密:样本的部分可执行代码是以压缩或者加密的形式存在的,比如,被保护过的代码被切割成多个小段,前面的一段代码先把后面的代码片段在内存中解密,然后再去执行解密之后的代码, 如此一块块的迭代执行。

三、加固的方案

AES加密加固

四、加固总体框架

AES加密加固

1.Dex文件是什么?

加固的目的是保护dex文件,直接而言就是对dex文件进行操作,对dex文件动刀子,必须知道dex文件是什么,能否直接动刀子。

AES加密加固

2.apk打包流程:加壳是在原来apk的基础上加一层保护壳,dex文件修改了就需要重新打包,否则apk安装不了。

AES加密加固

3.加密过程

AES加密加固

4.apk文件如何运行(脱壳)

AES加密加固

五、对称加密和非对称加密

对称加密: 加密和解密的秘钥使用的是同一个

例如:DES、3DES、Blowfish、IDEA、RC4、RC5、RC6 和 AES

非对称加密算法: 公开**与私有**是一对,如果用公开**对数据进行加密,
只有用对应的私有**才能解密;如果用私有**对数据进行加密,那么只有用
对应的公开**才能解密。因为加密和解密使用的是两个不同的**,所以这种
算法叫作非对称加密算法

 

加加固固的目的是保护dex,直接而言就是对dex文件进

行操作,对dex文件动刀子,必须知道dex么,能否直接动刀子。什么是源dex?什么是壳dex?
加固的目的是保护dex,直接而言就是对dex文件进
行操作,对dex文件动刀子,必须知道dex文件是什
么,能否直接动刀子。什么是源dex?什么是壳dex?