diff options
| author | KyleMiles <krm504@nyu.edu> | 2023-08-22 14:03:18 -0400 |
|---|---|---|
| committer | KyleMiles <krm504@nyu.edu> | 2023-08-22 14:43:02 -0400 |
| commit | 0d5fe9ec8963a26361b8bf1af17e029afc87f952 (patch) | |
| tree | c77a8fde1aec20f972c7c4840b02e58328a673ea /rust | |
| parent | 5b73fb82d272aa32ff124a69e96579679e7d3580 (diff) | |
Change how DWARF Import initializes to enable unit tests
Diffstat (limited to 'rust')
| -rw-r--r-- | rust/examples/dwarf/dwarf_import/src/lib.rs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/rust/examples/dwarf/dwarf_import/src/lib.rs b/rust/examples/dwarf/dwarf_import/src/lib.rs index 4a0d5a97..c1f3206d 100644 --- a/rust/examples/dwarf/dwarf_import/src/lib.rs +++ b/rust/examples/dwarf/dwarf_import/src/lib.rs @@ -27,6 +27,7 @@ use binaryninja::{ binaryview::{BinaryView, BinaryViewExt}, debuginfo::{CustomDebugInfoParser, DebugInfo, DebugInfoParser}, logger, + settings::Settings, templatesimplifier::simplify_str_to_str, }; use dwarfreader::{ @@ -252,7 +253,8 @@ struct DWARFParser; impl CustomDebugInfoParser for DWARFParser { fn is_valid(&self, view: &BinaryView) -> bool { - dwarfreader::is_valid(view) + Settings::new("").get_bool("corePlugins.dwarfImport", None, None) + && dwarfreader::is_valid(view) } fn parse_info( @@ -262,9 +264,13 @@ impl CustomDebugInfoParser for DWARFParser { debug_file: &BinaryView, progress: Box<dyn Fn(usize, usize) -> Result<(), ()>>, ) -> bool { - // Parse dwarf info in raw view or from a separate file - parse_dwarf(debug_file, progress).commit_info(debug_info); - true + if Settings::new("").get_bool("corePlugins.dwarfImport", None, None) { + // Parse dwarf info in raw view or from a separate file + parse_dwarf(debug_file, progress).commit_info(debug_info); + true + } else { + false + } } } |
