string_analyze/rules/
coding.rs1include!("./core/coding.rs");
3
4#[cfg(test)]
5mod tests {
6 use crate::analyze_with;
7 use crate::rules::get_rules;
8
9 #[test]
10 fn test() {
11 let input = r#"
12flag{5tgb8uik,0ol}
13"666c61677b68656c6c6f","66 6c 61 67 7b","DEADBEEF0123456789",
14ZmxhZ3toZWxsb19jdGZlcn0=
15(+(+!+[]+[+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]][([][[]]+[])[+!+[]]+(![]+[])[+!+[]]+((+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]+[])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]]](!+[]+!+[]+[+!+[]])[+!+[]] # JSfuck
16++++++++[>>++>++++>++++++>++++++++>++++++++++>++++++++++++>++++++++++++++>++++++++++++++++>++++++++++++++++++>++++++++++++++++++++>++++++++++++++++++++++>++++++++++++++++++++++++>++++++++++++++++++++++++++>++++++++++++++++++++++++++++>++++++++++++++++++++++++++++++<<<<<<<<<<<<<<<<-]>>>>>>------.+++++++++.>++++++.>+++++.<---.++++++++. # Brainfuck
17..--- ..--- ..--- ..--- ..--- .---- .---- .- ...
18佛曰:楞皤耶诃摩啰咩参墀苏喝穆伊佛阿楞沙卢咩羯伽迦俱佛埵伽埵那咩参呼提陀数豆怛萨啰墀俱写夜吉罚吉陀迦提穆苏菩俱尼娑
19楞皤耶诃摩啰咩参墀苏喝穆伊佛阿楞沙卢咩羯伽迦俱佛埵伽埵那咩参呼提陀数豆怛萨啰墀俱写夜吉罚吉陀迦提穆苏菩俱尼娑
20~呜嗷呜呜呜啊~呜啊嗷啊呜啊啊嗷呜~嗷~呜~啊呜呜嗷嗷啊
21Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook.
22
23"#;
24 for line in input.lines() {
25 println!(
26 "{}",
27 analyze_with(
28 line,
29 &get_rules(|m, _| module_path!().split("::tests").any(|s| s == m)),
30 )
31 )
32 }
33 let input = String::from_utf8(hex::decode("e99bb6e5aebde5ad97e7aca6e280ace2808ce280acefbbbfefbbbfefbbbfe2808defbbbf556e69636f6465e99a90e58699e69cafe99ba8e88b81e2808de2808de2808defbbbfe2808ce280ace280ace2808ce2808de280ace280acefbbbfe2808de280ace2808de2808ce2808de2808de280ace2808de2808ce2808ce2808de2808ce280ace2808cefbbbfefbbbfe280ace2808de2808cefbbbfe2808de2808de2808ce2808de2808de280ace2808de2808d0ae280ace2808de2808defbbbfe2808ce2808ce2808ce2808ce280ace2808ce280ace2808de280ace2808ce2808ce2808de280ace2808de2808de280ace280ace2808de2808ce2808ce280ace2808ce2808de2808defbbbfe2808cefbbbfefbbbfe2808defbbbfe2808de280ace280ace2808ce2808de2808ce2808de280ace2808de2808de280ace2808ce2808defbbbfe2808de2808de280acefbbbfe2808de2808de2808defbbbf0a").unwrap()).unwrap();
34 println!(
35 "{}",
36 analyze_with(
37 &input,
38 &get_rules(|m, _| module_path!().split("::tests").any(|s| s == m)),
39 )
40 )
41 }
42}