summaryrefslogtreecommitdiff
path: root/rust/src
AgeCommit message (Collapse)Author
2024-07-09Return option instead crashing on invalid database keysMason Reed
2024-07-09Rust API : Fix misc clippy warningsKyleMiles
2024-07-09implement rust UpdateRubens Brandao
2024-07-09fix TypeLibrary representationRubens Brandao
2024-07-09fix doc warningRubens Brandao
2024-07-09implement rust TypeLibraryRubens Brandao
2024-07-09implement rust TypeArchiveRubens Brandao
2024-07-09impl rust DatabaseRubens Brandao
2024-07-09Fix double-free with `Array<InstructionTextToken>`Rubens Brandao
2024-07-08ExternalLibrary rust api fixesJosh Ferrell
2024-07-08implement rust ExternalLibraryRubens Brandao
2024-07-06Fix TagType::set_icon so that it actually sets a tag type's iconergrelet
2024-07-03fix invalid ptr caused by dropping InstructionTextToken prematurelyRubens Brandao
2024-07-02Fix many crashes from uncaught exceptionsJosh Ferrell
2024-07-02Small fixes for rust component apiJosh Ferrell
2024-07-02fix return type for Array ComponentReferencedTypesRubens Brandao
2024-07-02add Component missing functionsRubens Brandao
2024-07-02implement rust ComponentRubens Brandao
2024-07-02Fix typoJosh Ferrell
2024-07-02remove description from testsRubens Brandao
2024-07-02add tests for rust project implementationRubens Brandao
2024-07-02minor fixesRubens Brandao
2024-07-02implement project in rustRubens Brandao
2024-07-01Fix callee_saved_registers for CallingConventionRubens Brandão
2024-07-01Create ExpressionBuilder from ExpressionMason Reed
2024-07-01Add LLIL_REG_SPLIT to rust apiMason Reed
2024-06-28fix missing null ending at stringRubens Brandao
2024-06-19Add data_variable_at_address and fixed the type propagation issue in riscvZichuan Li
2024-06-13Apply stack variables from DWARFJosh Ferrell
2024-06-11Add original base to Rust API.Alexander Taylor
2024-06-10Alternate fmt::Debug for Type with even more debug infoGlenn Smith
2024-05-31Add binaryninja::load_viewJosh Ferrell
2024-05-30fix cargo doc warningsGalen Williamson
2024-05-29Add LLIL_JUMP_TO target list to Rust APIRusty Wagner
2024-05-28Rust API : recommend users use serde_json for when opening with optionsKyleMiles
2024-05-28Implement python MLIL related functionsRubens Brandao
add `MediumLevelILInstruction::tokens` add `MediumLevelILInstruction::value` add `MediumLevelILInstruction::possible_values` add `MediumLevelILInstruction::branch_dependence` add `MediumLevelILInstruction::ssa_memory_version` add `MediumLevelILInstruction::expr_type` add `MediumLevelILInstruction::possible_values_with_options` add `MediumLevelILInstruction::possible_ssa_variable_values` add `MediumLevelILInstruction::ssa_variable_version` add `MediumLevelILInstruction::variable_for_register` add `MediumLevelILInstruction::variable_for_flag` add `MediumLevelILInstruction::variable_for_stack_location` add `MediumLevelILInstruction::register_value` add `MediumLevelILInstruction::register_value_after` add `MediumLevelILInstruction::possible_register_values` add `MediumLevelILInstruction::possible_register_values_after` add `MediumLevelILInstruction::flag_value` add `MediumLevelILInstruction::flag_value_after` add `MediumLevelILInstruction::possible_flag_values` add `MediumLevelILInstruction::possible_flag_values_after` add `MediumLevelILInstruction::stack_contents` add `MediumLevelILInstruction::stack_contents_after` add `MediumLevelILInstruction::possible_stack_contents` add `MediumLevelILInstruction::possible_stack_contents_after` add `MediumLevelILInstruction::branch_dependence_at` add `MediumLevelILInstruction::split_var_for_definition` move functions add `MediumLevelILFunction::current_address` add `MediumLevelILFunction::set_current_address` add `MediumLevelILFunction::basic_block_containing` add `MediumLevelILFunction::finalize` add `MediumLevelILFunction::generate_ssa_form` add `MediumLevelILFunction::ssa_variable_definition` add `MediumLevelILFunction::ssa_memory_definition` add `MediumLevelILFunction::ssa_variable_uses` add `MediumLevelILFunction::ssa_memory_uses` add `MediumLevelILFunction::is_ssa_variable_live` add `MediumLevelILFunction::variable_definitions` add `MediumLevelILFunction::variable_uses` add `MediumLevelILFunction::live_instruction_for_variable` add `MediumLevelILFunction::ssa_variable_value` add `MediumLevelILFunction::create_graph` add `MediumLevelILFunction::variables` add `MediumLevelILFunction::aliased_variables` add `MediumLevelILFunction::ssa_variables` add `MediumLevelILInstruction::set_expr_type` fix `MediumLevelILInstruction::generate_ssa_form` redundant type
2024-05-28fix multiple memory leaks related to CStr/BnStringRubens Brandao
2024-05-28update `Session::load_with_option` to the new APIRubens Brandao
2024-05-28allow `load_with_option` to accept json optionsRubens Brandao
2024-05-28Solved issue #1180 by adding new APIsZichuan Li
1. Add two new APIs for multiple entry functions `GetAllAnalysisEntryFunctions` and `AddToEntryFunctions` 2. Add Python APIs `entry_functions` and `add_to_entry_functions`. `entry_functions` resturns a list of functions, which supports parsing functions in `init_array`, `fini_array` and TLS callbacks. 3. Modify bin-info, it now prints all entry functions
2024-05-27Update load APIs to take a JSON string for options.Brian Potchik
2024-05-24Fix do while condition and body being flipped in Rust HLIL bindingsRusty Wagner
2024-05-24arch: multiple delay slot support, suppress spurious mips warningRyan Snyder
2024-05-20Fix ARM64 Linux buildRusty Wagner
2024-05-20Implement python Function methods to rustRubens Brandao
Squashed: add Function::add_tag method add Function::{add_user_code_ref,remove_user_code_ref} methods add Function::{add_user_type_field_ref, remove_user_type_field_ref} methods add Function::{add_user_type_ref, remove_user_type_ref} methods add Function::apply_auto_discovered_type add Function/MediumLevelILFunction user_var_values and related functions simplify UserVariableValues::values_from_variable cargo fmt fix fix doc and QualifiedName params fix MediumLevelILFunction::is_var_user_defined parameter Remove unecessary Safety comment add Function::{create_auto_stack_var,delete_auto_stack_var} methods add MediumLevelILFunction::create_auto_var method move Function::{create_auto_stack_var,delete_auto_stack_var} methods to MediumLevelILFunction add MediumLevelILFunction::{create_user_stack_var,delete_user_stack_var} methods add Function::block_annotations method add Function::{call_stack_adjustment, call_type_adjustment} method add Function::{constant_data, constants_referenced_by, constants_referenced_by_address_if_available} methods add Function::function_tags method add Function::{indirect_branches, indirect_branches_at} methods add Function::instr_highlight method add Function::instruction_containing_address method add Function::{int_display_type,int_enum_display_typeid,int_display_type_and_typeid} methods add MediumLevelILFunction::{var_refs, var_refs_from} methods add Function::{parameter_at, parameter_at_low_level_il_instruction} methods rebase GAT changes add Function::{reg_value_at, reg_value_after, reg_value_at_exit} methods Add alpha to HighlightColor::NoHighlightColor add Function::{regs_read_by, regs_written_by} methods add Function::{stack_contents_at, stack_contents_after} methods add Function::{stack_vars_referenced_by, stack_vars_referenced_by_address_if_available} methods add Function::{tags_at, tags_at_range} methods add Function::type_tokens method add Function::variables method add Function::{is_call_instruction, is_var_user_defined} methods add Function::{mark_updates_required, mark_caller_updates_required, mark_recent_use} methods add Function::{merge_vars, unmerge_vars, split_var, unsplit_var} methods add Function::reanalyze method add Function::request_debug_report method add Function::remove_tag method add Function::remove_tags_of_type method add Function::analysis_performance_info method add Function::call_sites method add Function::caller_sites method add Function::{calling_convention, set_calling_convention} methods add Function::{can_return, set_can_return} methods add Function::comments method add Function::{clobbered_regs, set_clobbered_regs} methods add Function::{has_explicitly_defined_type, has_user_annotations, has_user_type, has_variable_arguments} methods fix Function::set_can_return_user function add Function::{high_level_il_if_available, medium_level_il_if_available, low_level_il_if_available, lifted_il_if_available} methods add Function::{global_pointer_value, has_unresolved_indirect_branches} methods add Function::lowest_address method add Function::{inline_during_analysis, set_auto_inline_during_analysis, set_user_inline_during_analysis} methods add Function::{is_pure, is_too_large, is_update_needed} methods add Function::{provenance, stack_adjustment, set_user_stack_adjustment, set_auto_stack_adjustment} methods add Function::{set_user_pure, set_auto_pure} methods add Function::set_auto_type method add Function::{return_regs, set_return_regs} methods add Function::{set_auto_return_type, set_user_return_type} methods add Function::unresolved_stack_adjustment_graph method add Function::create_graph method add Function::tags method add Function::split_variables method add Function::{reg_stack_adjustments, set_reg_stack_adjustments} methods add Function::{mapped_medium_level_il, merged_variables} methods add Function::{set_auto_instr_highlight, set_user_instr_highlight} methods add stack_adjustments methods add Function::set_user_call_stack_adjustment add Function::set_auto_call_stack_adjustment add Function::call_type_adjustment add Function::set_user_call_type_adjustment add Function::set_auto_call_type_adjustment add Function::call_reg_stack_adjustment add Function::set_user_call_reg_stack_adjustment add Function::set_auto_call_reg_stack_adjustment add Function::call_reg_stack_adjustment_for_reg_stack add Function::set_user_call_reg_stack_adjustment_for_reg_stack add Function::set_auto_call_reg_stack_adjustment_for_reg_stack add Function::set_user_reg_stack_adjustments add Function::set_auto_reg_stack_adjustments add Function::set_auto_reg_stack_adjustments add Function::set_auto_calling_convention method add Function::set_auto_can_return method add Function::{set_user_has_variable_arguments, set_auto_has_variable_arguments} methods add Function::{set_user_indirect_branches, set_auto_indirect_branches} methods add Function::set_int_display_type method add Function::{set_user_parameter_variables, set_auto_parameter_variables} methods fix documentation add Function::unresolved_indirect_branches method add Function::mapped_medium_level_il_if_available method change methods `Function::{set_user_type, set_auto_type}` to receive `&Type` merge RegisterList and RegisterSet into CoreRegister impl fix function names fix function names fix documentation syntax fix documentation syntax fix Function documentation by adding MediumLevelILInstruction::get_split_var_for_definition fix documentation links rename `VariableDefinitions` to `MediumLevelILInstructionList` fix `PossibleValueSet` switched `NotInSetOfValues` and `ReturnAddressValue`
2024-05-15Rust: change signatures of `define_{auto,user}_data_var`Michael Krasnitski
2024-05-15Apply suggestions from code reviewKyle Martin
Co-authored-by: Michael Krasnitski <42564254+mkrasnitski@users.noreply.github.com>
2024-05-15Fix invalid write to uninitialized reserved VecRubens Brandao
2024-05-15Fix invalid write to uninitialized VecRubens Brandao
2024-05-10Rust API : Misc cargo clippy fixesKyleMiles