├── .gitignore ├── LICENSE ├── README.md ├── decompiler ├── decompiler │ ├── __init__.py │ ├── bnilvisitor.py │ ├── condition_visitor.py │ ├── constraint_visitor.py │ ├── debug.py │ ├── if_else_visitor.py │ ├── linear_mlil.py │ ├── mlil_ast.py │ ├── nodes.py │ └── token_visitor.py └── tests │ ├── for_test │ ├── for_test.c │ ├── if_test │ ├── if_test.c │ ├── switch_test │ └── switch_test.c ├── emulator ├── emulator │ ├── __init__.py │ ├── errors.py │ ├── executor.py │ └── state.py ├── emulatorui │ ├── __init__.py │ ├── binja_emulator.py │ ├── buttons.py │ ├── emulatorui.py │ ├── hooks.py │ ├── memory.py │ ├── registers.py │ └── stack.py ├── setup.py └── tests │ ├── instruction_emulator.py │ └── test_binja.py ├── ep2-callgraph ├── README.md └── callgraph.py ├── ep3-vm-arch ├── README.md ├── ram.bin ├── vm1.bndb └── vm_arch.py ├── ep4-emulator ├── README.md └── vm_visitor.py ├── function_types ├── test.c └── test_function_types.py ├── typelib └── __init__.py └── unlock └── unlock ├── __init__.py ├── analysis ├── __init__.py ├── analyze_exception_handler.py ├── analyze_folding.py ├── analyze_indirect_jump.py ├── analyze_return.py ├── analyze_unconditional_jump.py └── analyze_unwind.py ├── bnilvisitor.py ├── exceptionvisitor.py ├── logging.py ├── state.py └── unlockvisitor.py /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/README.md -------------------------------------------------------------------------------- /decompiler/decompiler/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/decompiler/decompiler/__init__.py -------------------------------------------------------------------------------- /decompiler/decompiler/bnilvisitor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/decompiler/decompiler/bnilvisitor.py -------------------------------------------------------------------------------- /decompiler/decompiler/condition_visitor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/decompiler/decompiler/condition_visitor.py -------------------------------------------------------------------------------- /decompiler/decompiler/constraint_visitor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/decompiler/decompiler/constraint_visitor.py -------------------------------------------------------------------------------- /decompiler/decompiler/debug.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/decompiler/decompiler/debug.py -------------------------------------------------------------------------------- /decompiler/decompiler/if_else_visitor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/decompiler/decompiler/if_else_visitor.py -------------------------------------------------------------------------------- /decompiler/decompiler/linear_mlil.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/decompiler/decompiler/linear_mlil.py -------------------------------------------------------------------------------- /decompiler/decompiler/mlil_ast.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/decompiler/decompiler/mlil_ast.py -------------------------------------------------------------------------------- /decompiler/decompiler/nodes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/decompiler/decompiler/nodes.py -------------------------------------------------------------------------------- /decompiler/decompiler/token_visitor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/decompiler/decompiler/token_visitor.py -------------------------------------------------------------------------------- /decompiler/tests/for_test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/decompiler/tests/for_test -------------------------------------------------------------------------------- /decompiler/tests/for_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/decompiler/tests/for_test.c -------------------------------------------------------------------------------- /decompiler/tests/if_test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/decompiler/tests/if_test -------------------------------------------------------------------------------- /decompiler/tests/if_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/decompiler/tests/if_test.c -------------------------------------------------------------------------------- /decompiler/tests/switch_test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/decompiler/tests/switch_test -------------------------------------------------------------------------------- /decompiler/tests/switch_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/decompiler/tests/switch_test.c -------------------------------------------------------------------------------- /emulator/emulator/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/emulator/emulator/__init__.py -------------------------------------------------------------------------------- /emulator/emulator/errors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/emulator/emulator/errors.py -------------------------------------------------------------------------------- /emulator/emulator/executor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/emulator/emulator/executor.py -------------------------------------------------------------------------------- /emulator/emulator/state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/emulator/emulator/state.py -------------------------------------------------------------------------------- /emulator/emulatorui/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/emulator/emulatorui/__init__.py -------------------------------------------------------------------------------- /emulator/emulatorui/binja_emulator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/emulator/emulatorui/binja_emulator.py -------------------------------------------------------------------------------- /emulator/emulatorui/buttons.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/emulator/emulatorui/buttons.py -------------------------------------------------------------------------------- /emulator/emulatorui/emulatorui.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/emulator/emulatorui/emulatorui.py -------------------------------------------------------------------------------- /emulator/emulatorui/hooks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/emulator/emulatorui/hooks.py -------------------------------------------------------------------------------- /emulator/emulatorui/memory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/emulator/emulatorui/memory.py -------------------------------------------------------------------------------- /emulator/emulatorui/registers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/emulator/emulatorui/registers.py -------------------------------------------------------------------------------- /emulator/emulatorui/stack.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/emulator/emulatorui/stack.py -------------------------------------------------------------------------------- /emulator/setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/emulator/setup.py -------------------------------------------------------------------------------- /emulator/tests/instruction_emulator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/emulator/tests/instruction_emulator.py -------------------------------------------------------------------------------- /emulator/tests/test_binja.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/emulator/tests/test_binja.py -------------------------------------------------------------------------------- /ep2-callgraph/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/ep2-callgraph/README.md -------------------------------------------------------------------------------- /ep2-callgraph/callgraph.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/ep2-callgraph/callgraph.py -------------------------------------------------------------------------------- /ep3-vm-arch/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/ep3-vm-arch/README.md -------------------------------------------------------------------------------- /ep3-vm-arch/ram.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/ep3-vm-arch/ram.bin -------------------------------------------------------------------------------- /ep3-vm-arch/vm1.bndb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/ep3-vm-arch/vm1.bndb -------------------------------------------------------------------------------- /ep3-vm-arch/vm_arch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/ep3-vm-arch/vm_arch.py -------------------------------------------------------------------------------- /ep4-emulator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/ep4-emulator/README.md -------------------------------------------------------------------------------- /ep4-emulator/vm_visitor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/ep4-emulator/vm_visitor.py -------------------------------------------------------------------------------- /function_types/test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/function_types/test.c -------------------------------------------------------------------------------- /function_types/test_function_types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/function_types/test_function_types.py -------------------------------------------------------------------------------- /typelib/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/typelib/__init__.py -------------------------------------------------------------------------------- /unlock/unlock/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/unlock/unlock/__init__.py -------------------------------------------------------------------------------- /unlock/unlock/analysis/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/unlock/unlock/analysis/__init__.py -------------------------------------------------------------------------------- /unlock/unlock/analysis/analyze_exception_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/unlock/unlock/analysis/analyze_exception_handler.py -------------------------------------------------------------------------------- /unlock/unlock/analysis/analyze_folding.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/unlock/unlock/analysis/analyze_folding.py -------------------------------------------------------------------------------- /unlock/unlock/analysis/analyze_indirect_jump.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/unlock/unlock/analysis/analyze_indirect_jump.py -------------------------------------------------------------------------------- /unlock/unlock/analysis/analyze_return.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/unlock/unlock/analysis/analyze_return.py -------------------------------------------------------------------------------- /unlock/unlock/analysis/analyze_unconditional_jump.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/unlock/unlock/analysis/analyze_unconditional_jump.py -------------------------------------------------------------------------------- /unlock/unlock/analysis/analyze_unwind.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/unlock/unlock/analysis/analyze_unwind.py -------------------------------------------------------------------------------- /unlock/unlock/bnilvisitor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/unlock/unlock/bnilvisitor.py -------------------------------------------------------------------------------- /unlock/unlock/exceptionvisitor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/unlock/unlock/exceptionvisitor.py -------------------------------------------------------------------------------- /unlock/unlock/logging.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/unlock/unlock/logging.py -------------------------------------------------------------------------------- /unlock/unlock/state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/unlock/unlock/state.py -------------------------------------------------------------------------------- /unlock/unlock/unlockvisitor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joshwatson/f-ing-around-with-binaryninja/HEAD/unlock/unlock/unlockvisitor.py --------------------------------------------------------------------------------