diff options
| author | Michael Krasnitski <michael.krasnitski@gmail.com> | 2024-02-21 09:36:48 -0500 |
|---|---|---|
| committer | Kyle Martin <krm504@nyu.edu> | 2024-04-09 12:19:40 -0400 |
| commit | 111be980e6578e3799ded8e685ae7158027bfe55 (patch) | |
| tree | 7fe0d0ea86971aa9be37835ebd0bae1a4cf18fce /rust/examples | |
| parent | e35a98e0bf47e86f127051ee048ff724d6f10a8e (diff) | |
Use name method in visitor examples
Diffstat (limited to 'rust/examples')
| -rw-r--r-- | rust/examples/hlil_visitor/src/main.rs | 130 | ||||
| -rw-r--r-- | rust/examples/mlil_visitor/src/main.rs | 138 |
2 files changed, 4 insertions, 264 deletions
diff --git a/rust/examples/hlil_visitor/src/main.rs b/rust/examples/hlil_visitor/src/main.rs index 6d155ea1..71c283a8 100644 --- a/rust/examples/hlil_visitor/src/main.rs +++ b/rust/examples/hlil_visitor/src/main.rs @@ -2,9 +2,7 @@ use std::env; use binaryninja::binaryview::BinaryViewExt; use binaryninja::hlil::HighLevelILLiftedOperand; -use binaryninja::hlil::{ - HighLevelILFunction, HighLevelILLiftedInstruction, HighLevelILLiftedInstructionKind, -}; +use binaryninja::hlil::{HighLevelILFunction, HighLevelILLiftedInstruction}; use binaryninja::types::Variable; fn print_indent(indent: usize) { @@ -12,131 +10,7 @@ fn print_indent(indent: usize) { } fn print_operation(operation: &HighLevelILLiftedInstruction) { - use HighLevelILLiftedInstructionKind::*; - match &operation.kind { - Adc(_) => print!("Adc"), - Sbb(_) => print!("Sbb"), - Rlc(_) => print!("Rlc"), - Rrc(_) => print!("Rrc"), - Add(_) => print!("Add"), - Sub(_) => print!("Sub"), - And(_) => print!("And"), - Or(_) => print!("Or"), - Xor(_) => print!("Xor"), - Lsl(_) => print!("Lsl"), - Lsr(_) => print!("Lsr"), - Asr(_) => print!("Asr"), - Rol(_) => print!("Rol"), - Ror(_) => print!("Ror"), - Mul(_) => print!("Mul"), - MuluDp(_) => print!("MuluDp"), - MulsDp(_) => print!("MulsDp"), - Divu(_) => print!("Divu"), - DivuDp(_) => print!("DivuDp"), - Divs(_) => print!("Divs"), - DivsDp(_) => print!("DivsDp"), - Modu(_) => print!("Modu"), - ModuDp(_) => print!("ModuDp"), - Mods(_) => print!("Mods"), - ModsDp(_) => print!("ModsDp"), - CmpE(_) => print!("CmpE"), - CmpNe(_) => print!("CmpNe"), - CmpSlt(_) => print!("CmpSlt"), - CmpUlt(_) => print!("CmpUlt"), - CmpSle(_) => print!("CmpSle"), - CmpUle(_) => print!("CmpUle"), - CmpSge(_) => print!("CmpSge"), - CmpUge(_) => print!("CmpUge"), - CmpSgt(_) => print!("CmpSgt"), - CmpUgt(_) => print!("CmpUgt"), - TestBit(_) => print!("TestBit"), - AddOverflow(_) => print!("AddOverflow"), - Fadd(_) => print!("Fadd"), - Fsub(_) => print!("Fsub"), - Fmul(_) => print!("Fmul"), - Fdiv(_) => print!("Fdiv"), - FcmpE(_) => print!("FcmpE"), - FcmpNe(_) => print!("FcmpNe"), - FcmpLt(_) => print!("FcmpLt"), - FcmpLe(_) => print!("FcmpLe"), - FcmpGe(_) => print!("FcmpGe"), - FcmpGt(_) => print!("FcmpGt"), - FcmpO(_) => print!("FcmpO"), - FcmpUo(_) => print!("FcmpUo"), - ArrayIndex(_) => print!("ArrayIndex"), - ArrayIndexSsa(_) => print!("ArrayIndexSsa"), - Assign(_) => print!("Assign"), - AssignMemSsa(_) => print!("AssignMemSsa"), - AssignUnpack(_) => print!("AssignUnpack"), - AssignUnpackMemSsa(_) => print!("AssignUnpackMemSsa"), - Block(_) => print!("Block"), - Call(_) => print!("Call"), - Tailcall(_) => print!("Tailcall"), - CallSsa(_) => print!("CallSsa"), - Case(_) => print!("Case"), - Const(_) => print!("Const"), - ConstPtr(_) => print!("ConstPtr"), - Import(_) => print!("Import"), - ConstData(_) => print!("ConstData"), - Deref(_) => print!("Deref"), - AddressOf(_) => print!("AddressOf"), - Neg(_) => print!("Neg"), - Not(_) => print!("Not"), - Sx(_) => print!("Sx"), - Zx(_) => print!("Zx"), - LowPart(_) => print!("LowPart"), - BoolToInt(_) => print!("BoolToInt"), - UnimplMem(_) => print!("UnimplMem"), - Fsqrt(_) => print!("Fsqrt"), - Fneg(_) => print!("Fneg"), - Fabs(_) => print!("Fabs"), - FloatToInt(_) => print!("FloatToInt"), - IntToFloat(_) => print!("IntToFloat"), - FloatConv(_) => print!("FloatConv"), - RoundToInt(_) => print!("RoundToInt"), - Floor(_) => print!("Floor"), - Ceil(_) => print!("Ceil"), - Ftrunc(_) => print!("Ftrunc"), - DerefFieldSsa(_) => print!("DerefFieldSsa"), - DerefSsa(_) => print!("DerefSsa"), - ExternPtr(_) => print!("ExternPtr"), - FloatConst(_) => print!("FloatConst"), - For(_) => print!("For"), - ForSsa(_) => print!("ForSsa"), - Goto(_) => print!("Goto"), - Label(_) => print!("Label"), - If(_) => print!("If"), - Intrinsic(_) => print!("Intrinsic"), - IntrinsicSsa(_) => print!("IntrinsicSsa"), - Jump(_) => print!("Jump"), - MemPhi(_) => print!("MemPhi"), - Nop => print!("Nop"), - Break => print!("Break"), - Continue => print!("Continue"), - Noret => print!("Noret"), - Unreachable => print!("Unreachable"), - Bp => print!("Bp"), - Undef => print!("Undef"), - Unimpl => print!("Unimpl"), - Ret(_) => print!("Ret"), - Split(_) => print!("Split"), - StructField(_) => print!("StructField"), - DerefField(_) => print!("DerefField"), - Switch(_) => print!("Switch"), - Syscall(_) => print!("Syscall"), - SyscallSsa(_) => print!("SyscallSsa"), - Trap(_) => print!("Trap"), - VarDeclare(_) => print!("VarDeclare"), - Var(_) => print!("Var"), - VarInit(_) => print!("VarInit"), - VarInitSsa(_) => print!("VarInitSsa"), - VarPhi(_) => print!("VarPhi"), - VarSsa(_) => print!("VarSsa"), - While(_) => print!("While"), - DoWhile(_) => print!("DoWhile"), - WhileSsa(_) => print!("WhileSsa"), - DoWhileSsa(_) => print!("DoWhileSsa"), - } + print!("{}", operation.name()); } fn print_variable(func: &HighLevelILFunction, var: &Variable) { diff --git a/rust/examples/mlil_visitor/src/main.rs b/rust/examples/mlil_visitor/src/main.rs index 63d2f50e..c38d59f4 100644 --- a/rust/examples/mlil_visitor/src/main.rs +++ b/rust/examples/mlil_visitor/src/main.rs @@ -2,9 +2,7 @@ use std::env; use binaryninja::binaryview::BinaryViewExt; use binaryninja::mlil::MediumLevelILLiftedOperand; -use binaryninja::mlil::{ - MediumLevelILFunction, MediumLevelILLiftedInstruction, MediumLevelILLiftedInstructionKind, -}; +use binaryninja::mlil::{MediumLevelILFunction, MediumLevelILLiftedInstruction}; use binaryninja::types::Variable; fn print_indent(indent: usize) { @@ -12,139 +10,7 @@ fn print_indent(indent: usize) { } fn print_operation(operation: &MediumLevelILLiftedInstruction) { - use MediumLevelILLiftedInstructionKind::*; - match operation.kind { - Nop => print!("Nop"), - Noret => print!("Noret"), - Bp => print!("Bp"), - Undef => print!("Undef"), - Unimpl => print!("Unimpl"), - If(_) => print!("If"), - FloatConst(_) => print!("FloatConst"), - Const(_) => print!("Const"), - ConstPtr(_) => print!("ConstPtr"), - Import(_) => print!("Import"), - ExternPtr(_) => print!("ExternPtr"), - ConstData(_) => print!("ConstData"), - Jump(_) => print!("Jump"), - RetHint(_) => print!("RetHint"), - StoreSsa(_) => print!("StoreSsa"), - StoreStructSsa(_) => print!("StoreStructSsa"), - StoreStruct(_) => print!("StoreStruct"), - Store(_) => print!("Store"), - JumpTo(_) => print!("JumpTo"), - Goto(_) => print!("Goto"), - FreeVarSlot(_) => print!("FreeVarSlot"), - SetVarField(_) => print!("SetVarField"), - SetVar(_) => print!("SetVar"), - FreeVarSlotSsa(_) => print!("FreeVarSlotSsa"), - SetVarSsaField(_) => print!("SetVarSsaField"), - SetVarAliasedField(_) => print!("SetVarAliasedField"), - SetVarAliased(_) => print!("SetVarAliased"), - SetVarSsa(_) => print!("SetVarSsa"), - VarPhi(_) => print!("VarPhi"), - MemPhi(_) => print!("MemPhi"), - VarSplit(_) => print!("VarSplit"), - SetVarSplit(_) => print!("SetVarSplit"), - VarSplitSsa(_) => print!("VarSplitSsa"), - SetVarSplitSsa(_) => print!("SetVarSplitSsa"), - Add(_) => print!("Add"), - Sub(_) => print!("Sub"), - And(_) => print!("And"), - Or(_) => print!("Or"), - Xor(_) => print!("Xor"), - Lsl(_) => print!("Lsl"), - Lsr(_) => print!("Lsr"), - Asr(_) => print!("Asr"), - Rol(_) => print!("Rol"), - Ror(_) => print!("Ror"), - Mul(_) => print!("Mul"), - MuluDp(_) => print!("MuluDp"), - MulsDp(_) => print!("MulsDp"), - Divu(_) => print!("Divu"), - DivuDp(_) => print!("DivuDp"), - Divs(_) => print!("Divs"), - DivsDp(_) => print!("DivsDp"), - Modu(_) => print!("Modu"), - ModuDp(_) => print!("ModuDp"), - Mods(_) => print!("Mods"), - ModsDp(_) => print!("ModsDp"), - CmpE(_) => print!("CmpE"), - CmpNe(_) => print!("CmpNe"), - CmpSlt(_) => print!("CmpSlt"), - CmpUlt(_) => print!("CmpUlt"), - CmpSle(_) => print!("CmpSle"), - CmpUle(_) => print!("CmpUle"), - CmpSge(_) => print!("CmpSge"), - CmpUge(_) => print!("CmpUge"), - CmpSgt(_) => print!("CmpSgt"), - CmpUgt(_) => print!("CmpUgt"), - TestBit(_) => print!("TestBit"), - AddOverflow(_) => print!("AddOverflow"), - FcmpE(_) => print!("FcmpE"), - FcmpNe(_) => print!("FcmpNe"), - FcmpLt(_) => print!("FcmpLt"), - FcmpLe(_) => print!("FcmpLe"), - FcmpGe(_) => print!("FcmpGe"), - FcmpGt(_) => print!("FcmpGt"), - FcmpO(_) => print!("FcmpO"), - FcmpUo(_) => print!("FcmpUo"), - Fadd(_) => print!("Fadd"), - Fsub(_) => print!("Fsub"), - Fmul(_) => print!("Fmul"), - Fdiv(_) => print!("Fdiv"), - Adc(_) => print!("Adc"), - Sbb(_) => print!("Sbb"), - Rlc(_) => print!("Rlc"), - Rrc(_) => print!("Rrc"), - Call(_) => print!("Call"), - Tailcall(_) => print!("Tailcall"), - Syscall(_) => print!("Syscall"), - Intrinsic(_) => print!("Intrinsic"), - IntrinsicSsa(_) => print!("IntrinsicSsa"), - CallSsa(_) => print!("CallSsa"), - TailcallSsa(_) => print!("TailcallSsa"), - CallUntypedSsa(_) => print!("CallUntypedSsa"), - TailcallUntypedSsa(_) => print!("TailcallUntypedSsa"), - SyscallSsa(_) => print!("SyscallSsa"), - SyscallUntypedSsa(_) => print!("SyscallUntypedSsa"), - CallUntyped(_) => print!("CallUntyped"), - TailcallUntyped(_) => print!("TailcallUntyped"), - SyscallUntyped(_) => print!("SyscallUntyped"), - SeparateParamList(_) => print!("SeparateParamList"), - SharedParamSlot(_) => print!("SharedParamSlot"), - Neg(_) => print!("Neg"), - Not(_) => print!("Not"), - Sx(_) => print!("Sx"), - Zx(_) => print!("Zx"), - LowPart(_) => print!("LowPart"), - BoolToInt(_) => print!("BoolToInt"), - UnimplMem(_) => print!("UnimplMem"), - Fsqrt(_) => print!("Fsqrt"), - Fneg(_) => print!("Fneg"), - Fabs(_) => print!("Fabs"), - FloatToInt(_) => print!("FloatToInt"), - IntToFloat(_) => print!("IntToFloat"), - FloatConv(_) => print!("FloatConv"), - RoundToInt(_) => print!("RoundToInt"), - Floor(_) => print!("Floor"), - Ceil(_) => print!("Ceil"), - Ftrunc(_) => print!("Ftrunc"), - Load(_) => print!("Load"), - LoadStruct(_) => print!("LoadStruct"), - LoadStructSsa(_) => print!("LoadStructSsa"), - LoadSsa(_) => print!("LoadSsa"), - Ret(_) => print!("Ret"), - Var(_) => print!("Var"), - AddressOf(_) => print!("AddressOf"), - VarField(_) => print!("VarField"), - AddressOfField(_) => print!("AddressOfField"), - VarSsa(_) => print!("VarSsa"), - VarAliased(_) => print!("VarAliased"), - VarSsaField(_) => print!("VarSsaField"), - VarAliasedField(_) => print!("VarAliasedField"), - Trap(_) => print!("Trap"), - } + print!("{}", operation.name()); } fn print_variable(func: &MediumLevelILFunction, var: &Variable) { |
