infer/matchers/
app.rs
1pub fn is_wasm(buf: &[u8]) -> bool {
10 buf.len() >= 8
13 && buf[0] == 0x00
14 && buf[1] == 0x61
15 && buf[2] == 0x73
16 && buf[3] == 0x6D
17 && buf[4] == 0x01
18 && buf[5] == 0x00
19 && buf[6] == 0x00
20 && buf[7] == 0x00
21}
22
23pub fn is_exe(buf: &[u8]) -> bool {
32 buf.len() > 1 && buf[0] == 0x4D && buf[1] == 0x5A
33}
34
35pub fn is_elf(buf: &[u8]) -> bool {
37 buf.len() > 52 && buf[0] == 0x7F && buf[1] == 0x45 && buf[2] == 0x4C && buf[3] == 0x46
38}
39
40pub fn is_java(buf: &[u8]) -> bool {
42 buf.len() >= 8
43 && buf[0] == 0x43
44 && buf[1] == 0x41
45 && buf[2] == 0x76
46 && buf[3] == 0x45
47 && ((buf[4] == 0x42 && buf[5] == 0x01 && buf[6] == 0x42 && buf[7] == 0x45)
48 || (buf[4] == 0x44 && buf[5] == 0x30 && buf[6] == 0x30 && buf[7] == 0x44))
49}
50
51pub fn is_llvm(buf: &[u8]) -> bool {
53 buf.len() >= 2 && buf[0] == 0x42 && buf[1] == 0x43
54}