• Android-IO加解密核心与dex文件改造过程分析


    IO加解密核心与dex文件改造过程分析

    技术点

      1.IO应用加解密核心原理
      2.文件加密的意义
      3.文件加密与文件混淆
      4.初探加密算法
      5.dex文件加密与解密
      6.APK打包流程与加壳过程
      7.APK解包流程与脱壳过程

    加密

      加密就是自己搞一套自己知道的搞乱手段
      加密在整体业务的一个具体地位:
        1.做加密的人----》算法
        2.用算法的人
        3.算法 = 方案 = 搞乱数据的方案 = 搞乱 + 恢复

    数字签名-哈希散列

      数字签名:一般用来固定某个数据,然后进行加密后得到密文
    作用:
      证据的固定 SHA1

    MD5算法

      MD5用的是哈希函数,它的典型应用是对一段信息产生信息摘要,以防止被篡改,严格的说,MD5不是一种加密算法而是摘要算法,无论多长的输入,MD5都会输出长度为128bits的一个串,通常用16进制,表示为32字符。
    对称加密和非对称加密
      加密算法分对称加密和非对称加密,其中对称加密算法的加密和解密密钥都相同,非对称加密算法的加密密钥和解密密钥不同,此外,还有一类不需要密钥的散列算法。

    SHA1算法:

      SHA1和MD5一样流行的信息摘要算法,然而HA1比MD5安全性更高,对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要,基于MD5、SHA1的信息摘要特性以及不可逆,可以被用来检查文件完整性,数字签名等场景

    对称加密和非对称加密

    AES算法

      AES加密算法是密码学中的高级加密标准,该加密算法采用对称分组密码体制,密钥长度的最少支持位128位,192位,256位,分组长度128位,算法应易于各种硬件和软件实现,这种加密算法是美国联邦政府采用的区块加密标准

    RSA算法

      RSA加密算法是目前最有影响力的公钥加密算法,并且被普遍认为是目前最优秀的公钥方案之一,RSA是第一个能同时用于加密和数字签名的算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。

    ECC算法

      ECC也是一种非对称加密算法,主要优势是在某些情况下,它比其他的方法使用更小的密钥,比如RSA加密算法,提供相当的更高等级的安全级别,不过一个缺点是加密和解密的操作的实现比其他机制时间更长(相比于RSA算法,该算法对CPU的消耗严重)

    各算法比较

    在这里插入图片描述

    android对于加密的应用

    APK加固

    1.加固的基本原理
    (1)Dex文件是什么?
      加固的目的是保护dex,直接而言就是对dex文件进行操作,对dex文件是什么,是什么源dex,什么是壳dex?
    (2)Apk打包流程?
      加壳是在原来apk的基础上加上一层保护壳,dex文件修改了就需要重新打包,否则apk安装不了,这就需要我们详细学习apk如何打包
    (3)dex文件加载流程?
      加壳后的文件是不能直接用的,dex文件时加密的,所以我们需要对他进行解密,解密后的dex文件如何加载?

    壳程序

    (1)什么是壳程序?
      他就是能够在自己的源程序运行之前跑的一个程序,因为dex文件被加载了之后,需要dexClassLoad进行加载才运行
    (2)思路
      壳的思路就是在不动当前源程序的dex的时候,去加壳的dex,两段代码分别做成两个dex,然后生成新的apk,将apk进行4字节对齐整理,目的压缩空间,然后进行签名
    (3)弊端
      因为是两个dex,一个加密,一个解密,一定程度上相当于没加密,因为加密解密程序给出去了,因为在破解和防护的过程中,核心思路是让别人猜不到你的想法,再深一层,用C写,打SO库,多文件,SO做混淆搞几个假对象出来

  • 相关阅读:
    学无止境,资深架构师—到底是如何阅读JDK源码的?
    嵌入式中I2C 相关的硬件问题汇总及死锁解决办法
    曼哈顿距离和-打印菱形
    MATLAB环境下基于稀疏最大谐波噪声比反卷积的信号处理方法
    掌握 BERT:自然语言处理 (NLP) 从初级到高级的综合指南(1)
    AQS 组件
    11.11 - 每日一题 - 408
    鸿蒙4.0-DevEco Studio界面工程
    信息学奥赛一本通:2048:【例5.18】串排序
    记录--用JS轻松实现一个录音、录像、录屏的工具库
  • 原文地址:https://blog.csdn.net/weixin_43580319/article/details/126761151