pub fn arch_supported(arch: Arch) -> boolExpand description
Returns true if the architecture is supported by this build of unicorn.
Examples found in repository?
examples/test.rs (line 10)
5fn main() {
6 let (major, minor) = unicorn::unicorn_version();
7 println!("version : {}.{}", major, minor);
8 println!(
9 "Support for:\n\t x86: {}\n\t arm: {}\n\t mips: {}",
10 unicorn::arch_supported(unicorn::Arch::X86),
11 unicorn::arch_supported(unicorn::Arch::ARM),
12 unicorn::arch_supported(unicorn::Arch::MIPS)
13 );
14
15 let emu = CpuARM::new(unicorn::Mode::THUMB).expect("failed to create emulator");
16
17 let page_size = emu
18 .query(unicorn::Query::PAGE_SIZE)
19 .expect("failed to query page size");
20 println!("page size : {}", page_size);
21 let hardware_mode = emu
22 .query(unicorn::Query::MODE)
23 .expect("failed to query hardware mode");
24 println!("hardware mode : {}", hardware_mode);
25
26 println!("Sample error message : {}", unicorn::Error::HOOK.msg());
27
28 emu.mem_map(0x10000, 0x4000, unicorn::Protection::ALL)
29 .expect("failed to map first memory region");
30 emu.mem_map(0x20000, 0x4000, unicorn::Protection::ALL)
31 .expect("failed to map second memory region");
32 let regions = emu
33 .mem_regions()
34 .expect("failed to retrieve memory mappings");
35 println!("Regions : {}", regions.len());
36
37 for region in ®ions {
38 println!("{:?}", region);
39 }
40}