当代码混淆到一定程度,就算是常见的加密也可能难以识别出来,总结一下常见的加密算法特征,希望不被一些其他原因混淆视听

# Tea 系列

tea 系列加密可谓常见,甚至腾讯都在魔改 tea 使用到数据加密中。
Tea 系列加密都会有个叫 Delta 的东西,其常见值为 0x9E3779B9或0x61C88647 ,这个东西是可以被随意改变的,但是如果见得这串熟悉的数据,那就基本可以确定是 tea 系列加密了

# Tea

普通 tea 可以被攻击 (别问怎么攻击,我也不知道)
每次加密处理 64 位数据,并且被分别两组

加密解密简单,手逆就行了

# XTEA/TEAN

可以被攻击,特征与 TEA 相似,但还比 tea 多一个特征

加密解密简单,手逆就行了

# XXTEA

最厉害的 tea 类型加密,加密逻辑比较复杂,不像上面两个看两眼就能写解密代码,同时原字符串长度可以不是 4 的倍数了,特征和上面两个也很不一样

加密解密实现

# AES 加密

AES 为对称加密,同时也是分组加密,每组处理 128 位数据 (16 个字节),按密钥长度分为 AES128 (16 字节密钥 10 轮加密),AES192 (24 字节密钥 12 轮加密),AES256 (32 字节密钥 14 轮加密)。

逆盒算法
new_s_box = [,,,,,]
new_contrary_sbox = [0]*256
for i in range(256):
   line = (new_s_box[i]&0xf0)>>4
   rol = new_s_box[i]&0xf
   new_contrary_sbox[(line*16)+rol] = i
print(new_contrary_sbox)

加密解密实现

# sha1

不安全的加密算法,不可逆

# BlowFish

两个盒用来加密

加密解密实现

# sm4 (国密)

分组加密,和 AES 特征很像。

加密解密实现

# rc4 加密

加密解密是同一套算法

加密解密实现

# DES 加密

主要加密特征是一堆表

加密解密实现

# base58

和普通 base 加密有很大不同,通过取模进行加密

加密解密实现

# base64

普遍的加密

加密解密实现

# hex 编码

阅读次数

请我喝[茶]~( ̄▽ ̄)~*

PangBai 微信支付

微信支付

PangBai 支付宝

支付宝

PangBai 贝宝

贝宝