Bump Frida, Capstone versions (#715)
* bump * fix * fix * revert * fix * fmt * fix
This commit is contained in:
parent
5a8bdae26f
commit
376e3adfcd
@ -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"
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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))
|
||||||
|
@ -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"
|
||||||
|
@ -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();
|
||||||
|
@ -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,
|
||||||
};
|
};
|
||||||
|
@ -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 }
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user