string_analyze/rules/core/
constant.rs1use crate::rules::lazy_rule;
2
3lazy_rule!(
5 RE_MD5_MAGIC = r#"(?i)\b(?:67452301|efcdab89|98badcfe|10325476)\b"#,
6 "发现 MD5 初始化幻数 (小端序/大端序常见特征)",
7 70
8);
9lazy_rule!(
10 RE_SHA1_MAGIC = r#"(?i)\b(?:67452301|efcdab89|98badcfe|10325476|c3d2e1f0)\b"#,
11 "发现 SHA-1 初始化幻数",
12 70
13);
14lazy_rule!(
15 RE_SHA256_MAGIC = r#"(?i)\b(?:6a09e667|bb67ae85|3c6ef372|a54ff53a)\b"#,
16 "发现 SHA-256 初始化幻数",
17 70
18);
19lazy_rule!(
20 RE_CRC32_POLY = r#"(?i)\b(?:edb88320|04c11db7)\b"#,
21 "发现 CRC32 多项式常数",
22 70
23);
24lazy_rule!(
25 RE_CHACHA_SALSA = r#"expand (?:16|32)-byte k"#,
26 "发现 ChaCha20 / Salsa20 初始化特征字符串",
27 70
28);
29lazy_rule!(
30 RE_BLOWFISH_PI = r#"(?i)\b(?:243f6a88|85a308d3|13198a2e|03707344)\b"#,
31 "发现 Blowfish 圆周率 P-box 初始常数",
32 70
33);
34lazy_rule!(
35 RE_AES_POLY = r#"(?i)\b11b\b"#, "发现 疑似 AES 多项式常数 (0x11b)",
37 70
38);
39lazy_rule!(
40 RE_SECP256K1_P = r#"(?i)\bFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F\b"#,
41 "发现 Secp256k1 (比特币) 椭圆曲线 Prime 参数",
42 70
43);
44lazy_rule!(
45 RE_ED25519_P = r#"(?i)\b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed\b"#,
46 "发现 Ed25519 椭圆曲线 Prime 参数",
47 70
48);
49lazy_rule!(
50 RE_TEA_MAGIC = r#"(?i)\b(?:9e3779b9|2654435769)\b"#,
51 "发现 TEA/XTEA/XXTEA 算法核心 Delta 常数",
52 70
53);
54lazy_rule!(
55 RE_RC4_SBOX_INIT = r#"(?i)\b(?:256|0x100)\s*(?:bytes|array|S-box|state)\b"#,
56 "发现 疑似 RC4 初始化特征描述",
57 70
58);
59lazy_rule!(
60 RE_BLAKE2_IV = r#"(?i)\b(?:6a09e667f3bcc908|bb67ae8584caa73b)\b"#,
61 "发现 BLAKE2 哈希算法初始化向量",
62 70
63);