加密压缩算法特征

RC4

特征

  • 初始化阶段:创建一个从0x00到0xFF的值表(总共256字节,0x100)。该表通常称为替换框(或 SBox)。
  • 干扰阶段:将循环遍历之前创建的表(再次循环 0x100 次迭代),创建用半随机字节修改每个值。为了创建这个半随机字节,使用了 RC4 密钥。RC4密钥的长度可以在 1 到 256 字节之间,但通常建议长度在 5 字节以上。通常,RC4 密钥的长度为 16 字节。
  • 异或阶段:最后,将明文或密文与之前创建的值进行异或。加密和解密的函数是一样的。为此,将根据需要多次执行创建的 256 字节的循环。这通常在带有%256 (mod 256)的反编译代码中被识别。

AES

特征

  • 由于使用特定的查找表值(常量),可以区分 AES。请注意,常量可以存储在二进制文件中或动态创建。
  • 加密密钥必须能被16 (通常为 32B)整除,并且通常使用 16B 的IV

Serpent

特征

  • 根据算法的长度(极长函数)来确定算法是否是Serpent

RSA

特征

  • 没有常数(自定义实现很难确定)
  • KANAL(密码分析器)无法显示有关 RSA 的提示,它依赖于常量

MD5 and SHA

特征

  • 经典的3个函数:Init、Update、 Final
  • 类似函数也可以识别为该算法

CRC

特征

  • 更小、更高效,因为它的功能是发现数据中的意外变化
  • 使用查找表

APLib

特征

  • 不可识别的常量
  • 使用python写算法,网上搜索类似的脚本即可