Bump Frida, Capstone versions (#715)

* bump

* fix

* fix

* revert

* fix

* fmt

* fix
This commit is contained in:
Dongjia Zhang 2022-08-01 16:53:39 +02:00 committed by GitHub
parent 5a8bdae26f
commit 376e3adfcd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 21 additions and 21 deletions

View File

@ -28,8 +28,8 @@ reqwest = { version = "0.11.4", features = ["blocking"] }
[dependencies] [dependencies]
libafl = { path = "../../libafl/", features = [ "std", "llmp_compression", "llmp_bind_public", "frida_cli" ] } #, "llmp_small_maps", "llmp_debug"]} libafl = { path = "../../libafl/", features = [ "std", "llmp_compression", "llmp_bind_public", "frida_cli" ] } #, "llmp_small_maps", "llmp_debug"]}
capstone = "0.10" capstone = "0.11.0"
frida-gum = { version = "0.6.5", features = [ "auto-download", "event-sink", "invocation-listener"] } frida-gum = { version = "0.7.1", features = [ "auto-download", "event-sink", "invocation-listener"] }
libafl_frida = { path = "../../libafl_frida", features = ["cmplog"] } libafl_frida = { path = "../../libafl_frida", features = ["cmplog"] }
libafl_targets = { path = "../../libafl_targets", features = ["sancov_cmplog"] } libafl_targets = { path = "../../libafl_targets", features = ["sancov_cmplog"] }
lazy_static = "1.4.0" lazy_static = "1.4.0"

View File

@ -401,14 +401,14 @@ mod tests {
#[test] #[test]
#[cfg(feature = "frida_cli")] #[cfg(feature = "frida_cli")]
fn parse_instrumentation_location_fails_without_at_symbol() { fn parse_instrumentation_location_fails_without_at_symbol() {
assert!(parse_instrumentation_location("mod_name0x12345").is_err()); parse_instrumentation_location("mod_name0x12345").unwrap_err();
} }
/// pass module without address to `parse_instrumentation_location`, expect failure /// pass module without address to `parse_instrumentation_location`, expect failure
#[test] #[test]
#[cfg(feature = "frida_cli")] #[cfg(feature = "frida_cli")]
fn parse_instrumentation_location_failes_without_address() { fn parse_instrumentation_location_failes_without_address() {
assert!(parse_instrumentation_location("mod_name@").is_err()); parse_instrumentation_location("mod_name@").unwrap_err();
} }
/// pass location without 0x to `parse_instrumentation_location`, expect value to be parsed /// pass location without 0x to `parse_instrumentation_location`, expect value to be parsed

View File

@ -1397,7 +1397,7 @@ impl<T: ShMem> std::io::Seek for ShMemCursor<T> {
std::io::SeekFrom::Start(s) => s, std::io::SeekFrom::Start(s) => s,
std::io::SeekFrom::End(offset) => { std::io::SeekFrom::End(offset) => {
let map_len = self.inner.as_slice().len(); let map_len = self.inner.as_slice().len();
assert!(i64::try_from(map_len).is_ok()); i64::try_from(map_len).unwrap();
let signed_pos = map_len as i64; let signed_pos = map_len as i64;
let effective = signed_pos.checked_add(offset).unwrap(); let effective = signed_pos.checked_add(offset).unwrap();
assert!(effective >= 0); assert!(effective >= 0);
@ -1405,14 +1405,14 @@ impl<T: ShMem> std::io::Seek for ShMemCursor<T> {
} }
std::io::SeekFrom::Current(offset) => { std::io::SeekFrom::Current(offset) => {
let current_pos = self.pos; let current_pos = self.pos;
assert!(i64::try_from(current_pos).is_ok()); i64::try_from(current_pos).unwrap();
let signed_pos = current_pos as i64; let signed_pos = current_pos as i64;
let effective = signed_pos.checked_add(offset).unwrap(); let effective = signed_pos.checked_add(offset).unwrap();
assert!(effective >= 0); assert!(effective >= 0);
effective.try_into().unwrap() effective.try_into().unwrap()
} }
}; };
assert!(usize::try_from(effective_new_pos).is_ok()); usize::try_from(effective_new_pos).unwrap();
self.pos = effective_new_pos as usize; self.pos = effective_new_pos as usize;
Ok(effective_new_pos) Ok(effective_new_pos)
} }

View File

@ -1657,9 +1657,9 @@ mod tests {
phantom: PhantomData, phantom: PhantomData,
}; };
let input = NopInput {}; let input = NopInput {};
assert!(in_process_executor in_process_executor
.run_target(&mut (), &mut (), &mut (), &input) .run_target(&mut (), &mut (), &mut (), &input)
.is_ok()); .unwrap();
} }
#[test] #[test]
@ -1679,9 +1679,9 @@ mod tests {
phantom: PhantomData, phantom: PhantomData,
}; };
let input = NopInput {}; let input = NopInput {};
assert!(in_process_fork_executor in_process_fork_executor
.run_target(&mut (), &mut (), &mut (), &input) .run_target(&mut (), &mut (), &mut (), &input)
.is_ok()); .unwrap();
} }
} }

View File

@ -176,12 +176,12 @@ mod test {
let empty_input = BytesInput::new(vec![]); let empty_input = BytesInput::new(vec![]);
let nonempty_input = BytesInput::new(vec![1u8]); let nonempty_input = BytesInput::new(vec![1u8]);
let mut executor = NopExecutor {}; let mut executor = NopExecutor {};
assert!(executor executor
.run_target(&mut (), &mut (), &mut (), &empty_input) .run_target(&mut (), &mut (), &mut (), &empty_input)
.is_err()); .unwrap_err();
assert!(executor executor
.run_target(&mut (), &mut (), &mut (), &nonempty_input) .run_target(&mut (), &mut (), &mut (), &nonempty_input)
.is_ok()); .unwrap();
} }
} }

View File

@ -468,7 +468,7 @@ impl<'buffer> MessageFileReader<Cursor<&'buffer [u8]>> {
let mut len_buf = 0_u64.to_le_bytes(); let mut len_buf = 0_u64.to_le_bytes();
buffer.read_exact(&mut len_buf)?; buffer.read_exact(&mut len_buf)?;
let buffer_len = u64::from_le_bytes(len_buf); let buffer_len = u64::from_le_bytes(len_buf);
assert!(usize::try_from(buffer_len).is_ok()); usize::try_from(buffer_len).unwrap();
let buffer_len = buffer_len as usize; let buffer_len = buffer_len as usize;
let (buffer, _) = buffer.split_at(buffer_len); let (buffer, _) = buffer.split_at(buffer_len);
Ok(Self::from_buffer(buffer)) Ok(Self::from_buffer(buffer))

View File

@ -28,10 +28,10 @@ hashbrown = "0.12"
libloading = "0.7" libloading = "0.7"
rangemap = "1.0" rangemap = "1.0"
frida-gum-sys = { version = "0.3", features = [ "auto-download", "event-sink", "invocation-listener"] } frida-gum-sys = { version = "0.3", features = [ "auto-download", "event-sink", "invocation-listener"] }
frida-gum = { version = "0.6.5", features = [ "auto-download", "event-sink", "invocation-listener"] } frida-gum = { version = "0.7.1", features = [ "auto-download", "event-sink", "invocation-listener"] }
regex = "1" regex = "1"
dynasmrt = "1.2" dynasmrt = "1.2"
capstone = "0.10" capstone = "0.11.0"
color-backtrace ={ version = "0.5", features = [ "resolve-modules" ] } color-backtrace ={ version = "0.5", features = [ "resolve-modules" ] }
termcolor = "1.1.3" termcolor = "1.1.3"
serde = "1.0" serde = "1.0"

View File

@ -169,7 +169,7 @@ impl FridaRuntime for AsanRuntime {
self.generate_shadow_check_function(); self.generate_shadow_check_function();
self.unpoison_all_existing_memory(); self.unpoison_all_existing_memory();
self.module_map = Some(ModuleMap::new_from_names(modules_to_instrument)); self.module_map = Some(ModuleMap::new_from_names(gum, modules_to_instrument));
if !self.options.dont_instrument.is_empty() { if !self.options.dont_instrument.is_empty() {
for (module_name, offset) in self.options.dont_instrument.clone() { for (module_name, offset) in self.options.dont_instrument.clone() {
let module_details = ModuleDetails::with_name(module_name).unwrap(); let module_details = ModuleDetails::with_name(module_name).unwrap();

View File

@ -221,7 +221,7 @@ where
.build() .build()
.expect("Failed to create Capstone object"), .expect("Failed to create Capstone object"),
ranges: RangeMap::new(), ranges: RangeMap::new(),
module_map: ModuleMap::new_from_names(&modules_to_instrument), module_map: ModuleMap::new_from_names(gum, &modules_to_instrument),
options, options,
runtimes, runtimes,
}; };

View File

@ -40,7 +40,7 @@ strum_macros = "0.24"
syscall-numbers = "3.0" syscall-numbers = "3.0"
bio = "0.41" bio = "0.41"
thread_local = "1.1.4" thread_local = "1.1.4"
capstone = "0.10" capstone = "0.11.0"
#pyo3 = { version = "0.15", features = ["extension-module"], optional = true } #pyo3 = { version = "0.15", features = ["extension-module"], optional = true }
pyo3 = { version = "0.15", optional = true } pyo3 = { version = "0.15", optional = true }