Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/awslabs/snapchange
/ functions
Functions
430 in github.com/awslabs/snapchange
⨍
Functions
430
◇
Types & classes
163
↓ 1 callers
Method
run
(self)
fuzzer_template/coverage_scripts/bn_snapchange.py:167
↓ 1 callers
Function
run_cmp_analysis
(bv, cmpfile, ignore=None)
coverage_scripts/bn_snapchange.py:326
↓ 1 callers
Function
run_cmp_analysis
(bv, cmpfile, ignore=None)
fuzzer_template/coverage_scripts/bn_snapchange.py:326
↓ 1 callers
Method
run_until_reset_redqueen
( &mut self, fuzzer: &mut FUZZER, input: &FUZZER::Input, vm_timeout: Duration,
src/fuzzvm.rs:4134
↓ 1 callers
Function
sanity_check_kvm
Sanity check that needed features are enabled in KVM # Panics Required `KVM_SYNC` regs, sregs, or events is missing If any of the following capabilit
src/lib.rs:756
↓ 1 callers
Method
save_state
Save the current [`CoverageAnalysis`] state to the given `save_path`
src/coverage_analysis.rs:132
↓ 1 callers
Method
set_address
(&mut self, addr: PhysAddr)
src/page_table.rs:133
↓ 1 callers
Method
set_present
Set the `present` bit in the [`EntryFlags`] to the given `present` flag
src/page_table.rs:62
↓ 1 callers
Method
start_address
(&self)
src/page_table.rs:171
↓ 1 callers
Function
sum
Return the sum of `len` bytes starting at `buffer`
examples/05_redqueen/harness/test_redqueen.c:19
↓ 1 callers
Method
symbolized_backtrace
Get the symbolized backtrace for the current VM state
src/fuzzvm.rs:4541
↓ 1 callers
Method
syscall_2
Write a `syscall` with two arguments to the shellcode buffer Arg1 - rdi
examples/04_syscall_fuzzer/fuzzer.rs:325
↓ 1 callers
Method
syscall_5
Write a `syscall` with five arguments to the shellcode buffer returning the memory address holding the return value
examples/04_syscall_fuzzer/fuzzer.rs:348
↓ 1 callers
Method
test_trace
Fuzzer specific handling of `snapchange -p <PROJECT> trace testcase` # Errors The target specific fuzzer failed to execute a testcase
src/fuzzer.rs:253
↓ 1 callers
Method
to_c
Return a C file of the syscalls
examples/04_syscall_fuzzer/fuzzer.rs:186
↓ 1 callers
Function
ui
Draw the given [`StatsApp`] into the provided [`Frame`]
src/stats_tui.rs:577
↓ 1 callers
Method
used_phys_pages
Get all of the physical pages used by the given [`Cr3`]
src/memory.rs:434
↓ 1 callers
Method
vcpu_events
(&self)
src/fuzzvm.rs:1015
↓ 1 callers
Method
vector
Set the `vector` for the spurious interrupt
src/apic.rs:177
↓ 1 callers
Function
worker
( stats: Arc<Vec<Arc<Mutex<Stats<FUZZER>>>>>, modules: &Modules, project_dir: &Path, prev_cove
src/stats.rs:604
↓ 1 callers
Method
write
( &mut self, virt_addr: VirtAddr, cr3: Cr3, val: T, dirty: WriteMem,
src/memory.rs:701
↓ 1 callers
Method
write
Write the current syscalls into the fuzzvm
examples/04_syscall_fuzzer/fuzzer.rs:136
↓ 1 callers
Function
write_symbols
Write the found symbols from the process to the given `symbols_file`
qemu_snapshot/gdbsnapshot.py:241
↓ 1 callers
Function
write_symbols
Write the found symbols from the process to the given `symbols_file`
fuzzer_template/qemu_snapshot/gdbsnapshot.py:241
Method
__init__
bv: binaryview to work on - provided by the GUI or needs to be manually opened location: file location to sa
coverage_scripts/bn_snapchange.py:42
Method
__init__
bv: binaryview to work on - provided by the GUI or needs to be manually opened location: file location to sa
fuzzer_template/coverage_scripts/bn_snapchange.py:42
Function
_enable_retired_instruction_counter
Enable LVT Performance Monitoring to trigger an SMI. This is how we can poll a VM for execution points without having to worry about specific breakpoi
src/apic.rs:265
Method
_generate
(rng: &mut Rng, _count: &mut usize)
examples/03_ffmpeg_custom_mutator/fuzzer.rs:501
Method
_is_syscall
(&mut self)
src/fuzzvm.rs:2735
Method
_sregs_mut
(&mut self)
src/fuzzvm.rs:980
Method
apply_redqueen_rule
( &mut self, _rule: &RedqueenRule, _candidate: &Self::RuleCandidate, )
src/fuzz_input.rs:103
Method
backtrace
Get the backtrace from the current RIP in the given [`FuzzVm`]
src/stack_unwinder.rs:297
Function
bit_flip
Flip a random bit in the input
src/mutators.rs:8
Method
breakpoints
(&self)
src/fuzzer/template.rs:53
Method
breakpoints
(&self)
examples/01_getpid/fuzzer.rs:36
Method
breakpoints
(&self)
examples/05_redqueen/fuzzer.rs:35
Method
breakpoints
(&self)
examples/02_libtiff/fuzzer.rs:58
Method
breakpoints
(&self)
examples/03_ffmpeg_custom_mutator/fuzzer.rs:41
Method
breakpoints
(&self)
bench/fuzzer.rs:53
Method
breakpoints
(&self)
bench/src/fuzzer.rs:50
Method
breakpoints
(&self)
fuzzer_template/src/fuzzer.rs:55
Function
byte_dec
Decrement a random byte
src/mutators.rs:202
Function
byte_delete
Delete a random byte in the input
src/mutators.rs:83
Function
byte_flip
Replace a random byte in the input with a new byte
src/mutators.rs:39
Function
byte_inc
Increment a random byte
src/mutators.rs:181
Function
byte_insert
Insert a random byte into the input with a new byte
src/mutators.rs:61
Method
clear_dirty_logs
Clear the dirty logs # Errors `KVM_CLEAR_DIRTY_LOG` failed # Panics Somehow the `core_id` doesn't fit in a usize
src/kvm.rs:184
Method
clear_resume_flag
Clear the resume flag from [`RFlags`]
src/fuzzvm.rs:1326
Method
close
Get the current data from `stream`
src/filesystem.rs:175
Method
crash_breakpoints
(&self)
src/fuzzer/template.rs:43
Method
crash_breakpoints
(&self)
examples/02_libtiff/fuzzer.rs:48
Method
crash_breakpoints
(&self)
fuzzer_template/src/fuzzer.rs:45
Method
default
()
src/config.rs:57
Method
default
()
src/rng.rs:34
Method
deref
(&self)
src/fuzzvm.rs:4581
Method
deref
(&self)
src/addrs.rs:45
Function
deserialize_vec_u64_from_hex
Custom deserialize for Vec<u64>
src/fuzz_input.rs:645
Function
dump_both
Plugin command registered with the GUI to start both snapchange analysis tasks at once. This only queries the rebase address and ignorelist f
coverage_scripts/bn_snapchange.py:724
Function
dump_both
Plugin command registered with the GUI to start both snapchange analysis tasks at once. This only queries the rebase address and ignorelist f
fuzzer_template/coverage_scripts/bn_snapchange.py:724
Function
dump_covanalyis
Coverage analysis plugin command - registered with the GUI and exposes launching the coverage analysis task.
coverage_scripts/bn_snapchange.py:710
Function
dump_covanalyis
Coverage analysis plugin command - registered with the GUI and exposes launching the coverage analysis task.
fuzzer_template/coverage_scripts/bn_snapchange.py:710
Function
dump_covbps
Coverage breakpoint plugin command - registered with the GUI and exposes launching the task for dumping the coverage breakpoints.
coverage_scripts/bn_snapchange.py:717
Function
dump_covbps
Coverage breakpoint plugin command - registered with the GUI and exposes launching the task for dumping the coverage breakpoints.
fuzzer_template/coverage_scripts/bn_snapchange.py:717
Function
enable_timer
(apic: &mut kvm_lapic_state)
src/apic.rs:277
Method
enable_trap_flag
( fuzzvm: &mut FuzzVm<FUZZER>, _input: &FUZZER::Input, _fuzzer: &mut FUZZE
src/fuzzvm.rs:883
Method
entry_address
(&self, index: usize)
src/page_table.rs:177
Method
eoi_broadcast_suppression
(mut self, val: bool)
src/apic.rs:158
Method
expensive_mutators
()
src/fuzz_input.rs:71
Method
expensive_mutators
Current expensive mutators available for mutation (typically those which allocate)
src/fuzz_input.rs:502
Method
fmt
(&self, f: &mut std::fmt::Formatter<'_>)
src/stack_unwinder.rs:539
Method
fmt
(&self, f: &mut std::fmt::Formatter<'_>)
src/memory.rs:111
Method
focus_processor_checking
(mut self, val: bool)
src/apic.rs:165
Method
fpu
Get the current [`kvm_fpu`] from the guest # Errors Failed to get fpu from KVM
src/fuzzvm.rs:1030
Method
from
(val: u32)
src/exception.rs:73
Method
from
(val: u64)
src/linux.rs:614
Method
from
(val: VcpuExit)
src/fuzzvm.rs:348
Method
from
(val: u64)
src/addrs.rs:56
Method
from
(entry: Entry)
src/page_table.rs:84
Method
from_addr
(memory_backing: u64)
src/memory.rs:182
Method
from_binary_ninja
Read in the JSON coverage analysis file from Binary Ninja
src/coverage_analysis.rs:121
Method
from_bytes
(bytes: &[u8])
src/fuzz_input.rs:132
Method
from_bytes
Read the input bytes as the implemented type # Errors Failed to convert the given bytes to `Self`
examples/04_syscall_fuzzer/fuzzer.rs:434
Method
from_bytes
(bytes: &[u8])
examples/03_ffmpeg_custom_mutator/fuzzer.rs:525
Method
from_fuzzvm
Create a tracked state initialized using the given [`FuzzVm`]
src/stack_unwinder.rs:107
Method
from_kvm_segment
(seg: &kvm_segment)
src/segment.rs:151
Method
from_phys_addr
Get a [`PageTable`] from the given `address`
src/page_table.rs:161
Method
from_seed
Create an [`Rng`] seeded with the given seed value
src/rng.rs:77
Method
from_str
(s: &str)
src/addrs.rs:119
Method
fsbase
(&self)
src/regs/x86.rs:467
Method
fuzz_u64
(&mut self)
src/rng.rs:105
Method
gather_coverage
Get the coverage breakpoints hit by the given `input`
src/fuzzvm.rs:4210
Method
gather_redqueen
( &mut self, input: &FUZZER::Input, fuzzer: &mut FUZZER, vm_timeout: Duration,
src/fuzzvm.rs:4337
Method
generate
Generate a random `Vec<u8>` of `max_length` size
src/fuzz_input.rs:507
Method
generate
Generate a random version of this type
examples/04_syscall_fuzzer/fuzzer.rs:466
Method
generate
(rng: &mut Rng, count: &mut usize)
examples/03_ffmpeg_custom_mutator/mov_generator.rs:17
Method
generate
(rng: &mut Rng, count: &mut usize)
examples/03_ffmpeg_custom_mutator/fuzzer.rs:99
Method
get_access_rights
(&self)
src/vbcpu.rs:47
Function
get_cmp_analysis_from_instr
(instr)
coverage_scripts/bn_snapchange.py:732
Function
get_cmp_analysis_from_instr
(instr)
fuzzer_template/coverage_scripts/bn_snapchange.py:732
Method
get_current_instruction_string
Get decoded instruction at the given [`VirtAddr`] using the given [`Cr3`] # Errors If getting the current instruction at `virt_addr` fails
src/fuzzvm.rs:1386
← previous
next →
201–300 of 430, ranked by callers