├── .github └── workflows │ └── python.yml ├── .gitignore ├── .isort.cfg ├── AUTHORS.md ├── LICENSE ├── README.md ├── REFACTORING.md ├── TODO.md ├── docs └── source │ └── images │ ├── gui_plugin_configuration.png │ ├── test_chained_add_after.png │ ├── test_cst_simplification_after.png │ ├── test_cst_simplification_before.png │ ├── test_mba_guessing_after.png │ ├── test_mba_guessing_before.png │ ├── test_opaque_predicate_after.png │ ├── test_opaque_predicate_before.png │ ├── test_runner_example-01.png │ ├── test_runner_example-ctx-menu.png │ ├── test_xor_after.png │ ├── test_xor_before.png │ └── test_xor_before_white.png ├── ida-plugin.json ├── pyproject.toml ├── resources └── d810ng-logo.png ├── samples ├── Makefile ├── bins │ ├── libobfuscated.dll │ ├── libobfuscated_darwin_arm64.dll │ ├── libobfuscated_darwin_arm64.dylib │ ├── libobfuscated_darwin_x86_64.dll │ ├── libobfuscated_darwin_x86_64.dylib │ └── zygiskd-flattening ├── include │ ├── ida_types.h │ └── polyfill.h └── src │ └── c │ ├── constant_folding.c │ ├── manually_obfuscated.c │ ├── ollvm_obfuscated.c │ ├── tigress_obfuscated.c │ ├── unwrap_loops.c │ └── while_switch_flattened.c ├── scripts ├── converter.py └── ununicode.py ├── src ├── D810.py └── d810 │ ├── __init__.py │ ├── _compat.py │ ├── cache.py │ ├── conf │ ├── __init__.py │ ├── default_instruction_only.json │ ├── default_unflattening_approov.json │ ├── default_unflattening_ollvm.json │ ├── default_unflattening_switch_case.json │ ├── eidolon.json │ ├── example_anel.json │ ├── example_libobfuscated.json │ ├── flatfold.json │ ├── hodur_deobfuscation.json │ ├── loggers.py │ └── options.json │ ├── errors.py │ ├── expr │ ├── __init__.py │ ├── ast.py │ ├── emulator.py │ ├── utils.py │ └── z3_utils.py │ ├── hexrays │ ├── __init__.py │ ├── cfg_utils.py │ ├── hexrays_formatters.py │ ├── hexrays_helpers.py │ ├── hexrays_hooks.py │ └── tracker.py │ ├── manager.py │ ├── optimizers │ ├── __init__.py │ └── microcode │ │ ├── __init__.py │ │ ├── flow │ │ ├── __init__.py │ │ ├── constant_prop │ │ │ ├── __init__.py │ │ │ └── stackvars_constprop.py │ │ ├── flattening │ │ │ ├── __init__.py │ │ │ ├── fix_pred_cond_jump_block.py │ │ │ ├── generic.py │ │ │ ├── unflattener.py │ │ │ ├── unflattener_badwhile_loop.py │ │ │ ├── unflattener_cf.py │ │ │ ├── unflattener_fake_jump.py │ │ │ ├── unflattener_indirect.py │ │ │ ├── unflattener_switch_case.py │ │ │ └── utils.py │ │ ├── handler.py │ │ └── jumps │ │ │ ├── __init__.py │ │ │ ├── handler.py │ │ │ ├── opaque.py │ │ │ └── tricks.py │ │ ├── handler.py │ │ └── instructions │ │ ├── __init__.py │ │ ├── analysis │ │ ├── __init__.py │ │ ├── handler.py │ │ ├── pattern_guess.py │ │ └── utils.py │ │ ├── chain │ │ ├── __init__.py │ │ ├── chain_rules.py │ │ └── handler.py │ │ ├── early │ │ ├── __init__.py │ │ ├── handler.py │ │ └── mem_read.py │ │ ├── handler.py │ │ ├── pattern_matching │ │ ├── __init__.py │ │ ├── experimental.py │ │ ├── handler.py │ │ ├── hodur.py │ │ ├── rewrite_add.py │ │ ├── rewrite_and.py │ │ ├── rewrite_bnot.py │ │ ├── rewrite_cst.py │ │ ├── rewrite_mov.py │ │ ├── rewrite_mul.py │ │ ├── rewrite_neg.py │ │ ├── rewrite_or.py │ │ ├── rewrite_predicates.py │ │ ├── rewrite_sub.py │ │ ├── rewrite_xor.py │ │ └── weird.py │ │ ├── peephole │ │ ├── __init__.py │ │ ├── constant_call.py │ │ ├── fold_readonlydata.py │ │ ├── fold_rotatehelper.py │ │ ├── handler.py │ │ ├── local_const_propagation.py │ │ └── normalise_helpers.py │ │ └── z3 │ │ ├── __init__.py │ │ ├── cst.py │ │ ├── handler.py │ │ └── predicates.py │ ├── project_manager.py │ ├── qt_shim.py │ ├── registry.py │ ├── singleton.py │ └── ui │ ├── __init__.py │ ├── ida_ui.py │ └── testbed.py └── tests ├── __init__.py ├── system ├── __init__.py ├── expr │ ├── __init__.py │ └── test_ast_proxy.py ├── optimizers │ ├── __init__.py │ └── microcode │ │ ├── __init__.py │ │ └── instructions │ │ ├── __init__.py │ │ └── test_peephole.py ├── stutils.py ├── test_libdeobfuscated.py └── test_optimization_rule.py └── unit ├── __init__.py ├── optimizers ├── __init__.py └── test_z3_simplifications.py ├── test_cache.py ├── test_conf.py ├── test_loggers.py ├── test_registry.py ├── test_singleton.py └── tutils.py /.github/workflows/python.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/.github/workflows/python.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/.gitignore -------------------------------------------------------------------------------- /.isort.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/.isort.cfg -------------------------------------------------------------------------------- /AUTHORS.md: -------------------------------------------------------------------------------- 1 | # Authors list 2 | 3 | - Boris Batteux 4 | - w00tzenheimer 5 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/README.md -------------------------------------------------------------------------------- /REFACTORING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/REFACTORING.md -------------------------------------------------------------------------------- /TODO.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/TODO.md -------------------------------------------------------------------------------- /docs/source/images/gui_plugin_configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/docs/source/images/gui_plugin_configuration.png -------------------------------------------------------------------------------- /docs/source/images/test_chained_add_after.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/docs/source/images/test_chained_add_after.png -------------------------------------------------------------------------------- /docs/source/images/test_cst_simplification_after.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/docs/source/images/test_cst_simplification_after.png -------------------------------------------------------------------------------- /docs/source/images/test_cst_simplification_before.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/docs/source/images/test_cst_simplification_before.png -------------------------------------------------------------------------------- /docs/source/images/test_mba_guessing_after.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/docs/source/images/test_mba_guessing_after.png -------------------------------------------------------------------------------- /docs/source/images/test_mba_guessing_before.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/docs/source/images/test_mba_guessing_before.png -------------------------------------------------------------------------------- /docs/source/images/test_opaque_predicate_after.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/docs/source/images/test_opaque_predicate_after.png -------------------------------------------------------------------------------- /docs/source/images/test_opaque_predicate_before.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/docs/source/images/test_opaque_predicate_before.png -------------------------------------------------------------------------------- /docs/source/images/test_runner_example-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/docs/source/images/test_runner_example-01.png -------------------------------------------------------------------------------- /docs/source/images/test_runner_example-ctx-menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/docs/source/images/test_runner_example-ctx-menu.png -------------------------------------------------------------------------------- /docs/source/images/test_xor_after.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/docs/source/images/test_xor_after.png -------------------------------------------------------------------------------- /docs/source/images/test_xor_before.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/docs/source/images/test_xor_before.png -------------------------------------------------------------------------------- /docs/source/images/test_xor_before_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/docs/source/images/test_xor_before_white.png -------------------------------------------------------------------------------- /ida-plugin.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/ida-plugin.json -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/pyproject.toml -------------------------------------------------------------------------------- /resources/d810ng-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/resources/d810ng-logo.png -------------------------------------------------------------------------------- /samples/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/samples/Makefile -------------------------------------------------------------------------------- /samples/bins/libobfuscated.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/samples/bins/libobfuscated.dll -------------------------------------------------------------------------------- /samples/bins/libobfuscated_darwin_arm64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/samples/bins/libobfuscated_darwin_arm64.dll -------------------------------------------------------------------------------- /samples/bins/libobfuscated_darwin_arm64.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/samples/bins/libobfuscated_darwin_arm64.dylib -------------------------------------------------------------------------------- /samples/bins/libobfuscated_darwin_x86_64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/samples/bins/libobfuscated_darwin_x86_64.dll -------------------------------------------------------------------------------- /samples/bins/libobfuscated_darwin_x86_64.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/samples/bins/libobfuscated_darwin_x86_64.dylib -------------------------------------------------------------------------------- /samples/bins/zygiskd-flattening: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/samples/bins/zygiskd-flattening -------------------------------------------------------------------------------- /samples/include/ida_types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/samples/include/ida_types.h -------------------------------------------------------------------------------- /samples/include/polyfill.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/samples/include/polyfill.h -------------------------------------------------------------------------------- /samples/src/c/constant_folding.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/samples/src/c/constant_folding.c -------------------------------------------------------------------------------- /samples/src/c/manually_obfuscated.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/samples/src/c/manually_obfuscated.c -------------------------------------------------------------------------------- /samples/src/c/ollvm_obfuscated.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/samples/src/c/ollvm_obfuscated.c -------------------------------------------------------------------------------- /samples/src/c/tigress_obfuscated.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/samples/src/c/tigress_obfuscated.c -------------------------------------------------------------------------------- /samples/src/c/unwrap_loops.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/samples/src/c/unwrap_loops.c -------------------------------------------------------------------------------- /samples/src/c/while_switch_flattened.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/samples/src/c/while_switch_flattened.c -------------------------------------------------------------------------------- /scripts/converter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/scripts/converter.py -------------------------------------------------------------------------------- /scripts/ununicode.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/scripts/ununicode.py -------------------------------------------------------------------------------- /src/D810.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/D810.py -------------------------------------------------------------------------------- /src/d810/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/d810/_compat.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/_compat.py -------------------------------------------------------------------------------- /src/d810/cache.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/cache.py -------------------------------------------------------------------------------- /src/d810/conf/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/conf/__init__.py -------------------------------------------------------------------------------- /src/d810/conf/default_instruction_only.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/conf/default_instruction_only.json -------------------------------------------------------------------------------- /src/d810/conf/default_unflattening_approov.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/conf/default_unflattening_approov.json -------------------------------------------------------------------------------- /src/d810/conf/default_unflattening_ollvm.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/conf/default_unflattening_ollvm.json -------------------------------------------------------------------------------- /src/d810/conf/default_unflattening_switch_case.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/conf/default_unflattening_switch_case.json -------------------------------------------------------------------------------- /src/d810/conf/eidolon.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/conf/eidolon.json -------------------------------------------------------------------------------- /src/d810/conf/example_anel.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/conf/example_anel.json -------------------------------------------------------------------------------- /src/d810/conf/example_libobfuscated.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/conf/example_libobfuscated.json -------------------------------------------------------------------------------- /src/d810/conf/flatfold.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/conf/flatfold.json -------------------------------------------------------------------------------- /src/d810/conf/hodur_deobfuscation.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/conf/hodur_deobfuscation.json -------------------------------------------------------------------------------- /src/d810/conf/loggers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/conf/loggers.py -------------------------------------------------------------------------------- /src/d810/conf/options.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/conf/options.json -------------------------------------------------------------------------------- /src/d810/errors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/errors.py -------------------------------------------------------------------------------- /src/d810/expr/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/d810/expr/ast.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/expr/ast.py -------------------------------------------------------------------------------- /src/d810/expr/emulator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/expr/emulator.py -------------------------------------------------------------------------------- /src/d810/expr/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/expr/utils.py -------------------------------------------------------------------------------- /src/d810/expr/z3_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/expr/z3_utils.py -------------------------------------------------------------------------------- /src/d810/hexrays/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/d810/hexrays/cfg_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/hexrays/cfg_utils.py -------------------------------------------------------------------------------- /src/d810/hexrays/hexrays_formatters.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/hexrays/hexrays_formatters.py -------------------------------------------------------------------------------- /src/d810/hexrays/hexrays_helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/hexrays/hexrays_helpers.py -------------------------------------------------------------------------------- /src/d810/hexrays/hexrays_hooks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/hexrays/hexrays_hooks.py -------------------------------------------------------------------------------- /src/d810/hexrays/tracker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/hexrays/tracker.py -------------------------------------------------------------------------------- /src/d810/manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/manager.py -------------------------------------------------------------------------------- /src/d810/optimizers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/__init__.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/flow/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/flow/constant_prop/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/flow/constant_prop/stackvars_constprop.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/flow/constant_prop/stackvars_constprop.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/flow/flattening/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/flow/flattening/fix_pred_cond_jump_block.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/flow/flattening/fix_pred_cond_jump_block.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/flow/flattening/generic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/flow/flattening/generic.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/flow/flattening/unflattener.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/flow/flattening/unflattener.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/flow/flattening/unflattener_badwhile_loop.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/flow/flattening/unflattener_badwhile_loop.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/flow/flattening/unflattener_cf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/flow/flattening/unflattener_cf.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/flow/flattening/unflattener_fake_jump.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/flow/flattening/unflattener_fake_jump.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/flow/flattening/unflattener_indirect.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/flow/flattening/unflattener_indirect.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/flow/flattening/unflattener_switch_case.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/flow/flattening/unflattener_switch_case.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/flow/flattening/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/flow/flattening/utils.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/flow/handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/flow/handler.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/flow/jumps/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/flow/jumps/handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/flow/jumps/handler.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/flow/jumps/opaque.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/flow/jumps/opaque.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/flow/jumps/tricks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/flow/jumps/tricks.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/handler.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/analysis/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/analysis/handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/analysis/handler.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/analysis/pattern_guess.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/analysis/pattern_guess.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/analysis/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/analysis/utils.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/chain/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/chain/chain_rules.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/chain/chain_rules.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/chain/handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/chain/handler.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/early/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/early/handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/early/handler.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/early/mem_read.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/early/mem_read.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/handler.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/pattern_matching/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/pattern_matching/experimental.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/pattern_matching/experimental.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/pattern_matching/handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/pattern_matching/handler.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/pattern_matching/hodur.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/pattern_matching/hodur.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_add.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_add.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_and.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_and.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_bnot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_bnot.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_cst.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_cst.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_mov.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_mov.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_mul.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_mul.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_neg.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_neg.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_or.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_or.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_predicates.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_predicates.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_sub.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_sub.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_xor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/pattern_matching/rewrite_xor.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/pattern_matching/weird.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/pattern_matching/weird.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/peephole/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/peephole/constant_call.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/peephole/constant_call.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/peephole/fold_readonlydata.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/peephole/fold_readonlydata.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/peephole/fold_rotatehelper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/peephole/fold_rotatehelper.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/peephole/handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/peephole/handler.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/peephole/local_const_propagation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/peephole/local_const_propagation.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/peephole/normalise_helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/peephole/normalise_helpers.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/z3/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/z3/cst.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/z3/cst.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/z3/handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/z3/handler.py -------------------------------------------------------------------------------- /src/d810/optimizers/microcode/instructions/z3/predicates.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/optimizers/microcode/instructions/z3/predicates.py -------------------------------------------------------------------------------- /src/d810/project_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/project_manager.py -------------------------------------------------------------------------------- /src/d810/qt_shim.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/qt_shim.py -------------------------------------------------------------------------------- /src/d810/registry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/registry.py -------------------------------------------------------------------------------- /src/d810/singleton.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/singleton.py -------------------------------------------------------------------------------- /src/d810/ui/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/d810/ui/ida_ui.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/ui/ida_ui.py -------------------------------------------------------------------------------- /src/d810/ui/testbed.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/src/d810/ui/testbed.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/tests/__init__.py -------------------------------------------------------------------------------- /tests/system/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/system/expr/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/system/expr/test_ast_proxy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/tests/system/expr/test_ast_proxy.py -------------------------------------------------------------------------------- /tests/system/optimizers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/system/optimizers/microcode/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/system/optimizers/microcode/instructions/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/system/optimizers/microcode/instructions/test_peephole.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/tests/system/optimizers/microcode/instructions/test_peephole.py -------------------------------------------------------------------------------- /tests/system/stutils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/tests/system/stutils.py -------------------------------------------------------------------------------- /tests/system/test_libdeobfuscated.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/tests/system/test_libdeobfuscated.py -------------------------------------------------------------------------------- /tests/system/test_optimization_rule.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/tests/system/test_optimization_rule.py -------------------------------------------------------------------------------- /tests/unit/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/optimizers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/optimizers/test_z3_simplifications.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/tests/unit/optimizers/test_z3_simplifications.py -------------------------------------------------------------------------------- /tests/unit/test_cache.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/tests/unit/test_cache.py -------------------------------------------------------------------------------- /tests/unit/test_conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/tests/unit/test_conf.py -------------------------------------------------------------------------------- /tests/unit/test_loggers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/tests/unit/test_loggers.py -------------------------------------------------------------------------------- /tests/unit/test_registry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/tests/unit/test_registry.py -------------------------------------------------------------------------------- /tests/unit/test_singleton.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/tests/unit/test_singleton.py -------------------------------------------------------------------------------- /tests/unit/tutils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w00tzenheimer/d810-ng/HEAD/tests/unit/tutils.py --------------------------------------------------------------------------------