d810-ng
D810-ng (Next Generation) is an updated, tested, refactored, and optimized IDA Pro plugin used to deobfuscate code at decompilation time by modifying IDA Pro microcode.
File Explorer
- action.yml
- deploy.yml
- python.yml
- release.yml
- wheels.yml
- dependabot.yml
- disasmview_context_menu.png
- export_to_c_dialog.png
- gui_plugin_configuration.png
- gui_plugin_configuration_v2.png
- pseudocode_context_menu.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
- d810ng-logo.png
- no-borrowed-mop-storage.yml
- no-concrete-isinstance.yml
- no-direct-typing-import.yml
- no-legacy-optimizationstorage.yml
- no-mocks-in-system-tests.yml
- no-ui-direct-function-rule-storage.yml
- use-qt-dialog-exec-underscore.yml
- fake_jumps.dll
- fake_jumps.dylib
- fake_jumps.pdb
- libmba_hard.dylib
- libobfuscated.dll
- libobfuscated.dylib
- libobfuscated.pdb
- libobfuscated_darwin_arm64.dll
- libobfuscated_darwin_arm64.dylib
- libobfuscated_darwin_x86_64.dll
- libobfuscated_darwin_x86_64.dylib
- ollvm_obfuscated.dll
- zygiskd-flattening
- ida_types.h
- platform.h
- polyfill.h
- build_windows.bat
- build_windows.ps1
- generate_auto_exports.ps1
- tiny_elf64.asm
- tiny_x64.asm
- abc_f6_constants.c
- abc_xor_dispatch.c
- approov_flattened.c
- block_merge.c
- constant_folding.c
- ctree_optimizations.c
- dispatcher_patterns.c
- exception_paths.c
- fake_jumps.c
- fake_jumps_complex.c
- global_const_inline.c
- hardened_ollvm_cond_chain.c
- hodur_c2_flattened.c
- identity_call.c
- indirect_branch.c
- indirect_call.c
- manually_obfuscated.c
- nested_dispatchers.c
- ollvm_obfuscated.c
- polyfill_exports.c
- single_iteration_loops.c
- stubs.c
- sub_7FFB206BBD50.c
- sub_7FFC1E9D3BB0.c
- tigress_obfuscated.c
- unsafe_unflattener_test.c
- unwrap_loops.c
- while_switch_flattened.c
- Dockerfile.linux
- Dockerfile.windows
- Makefile
- README.md
- __init__.py
- cindex.py
- LICENSE
- __init__.py
- ida_reloader.py
- LICENSE
- __init__.py
- ida_reloader.pyi
- README.md
- typing_extensions.LICENSE
- typing_extensions.py
- typing_extensions.pyi
- vendor.txt
- bogus_loops.json
- default.json
- default_indirect_resolution.json
- default_instruction_only.json
- default_unflattening_approov.json
- default_unflattening_ollvm.json
- default_unflattening_switch_case.json
- eidolon.json
- example_anel.json
- example_hodur.json
- example_libobfuscated.json
- example_libobfuscated_no_fixprecedessor.json
- flatfold.json
- flatfold_no_predicate_loop_fix.json
- hodur_deobfuscation.json
- identity_call.json
- options.json
- state_machine_loops.json
- __init__.py
- bits.py
- cache.py
- clang_loader.py
- config.py
- ctree_snapshot.py
- cymode.py
- logging.py
- merkle.py
- patching.py
- persistence.py
- platform.py
- project.py
- registry.py
- rule_scope.py
- singleton.py
- stats.py
- structured_logging.py
- tracker_components.py
- typing.py
- __init__.py
- abstracts.py
- base_pattern.py
- block_searches.py
- expressions.py
- helpers.py
- instructions.py
- __init__.py
- ast_context.py
- ast_iteration.py
- ast_patch.py
- ast_processor.py
- consts.py
- match_context.py
- matcher.py
- scheme.py
- utils.py
- __init__.py
- ast.py
- emulation_oracle.py
- emulator.py
- p_ast.py
- utils.py
- z3_utils.py
- __init__.py
- arch_utils.py
- block_helpers.py
- cfg_utils.py
- ctree_hooks.py
- deferred_modifier.py
- hexrays_formatters.py
- hexrays_helpers.py
- hexrays_hooks.py
- ida_utils.py
- microcode_dump.py
- mop_snapshot.py
- table_utils.py
- tracker.py
- __init__.py
- egglog_backend.py
- egraph.py
- ida.py
- README.md
- z3.py
- __init__.py
- _base.py
- add.py
- and_.py
- bnot.py
- cst.py
- hodur.py
- misc.py
- mov.py
- mul.py
- neg.py
- or_.py
- predicates.py
- sub.py
- xor.py
- __init__.py
- constraints.py
- dsl.py
- rule_analysis.py
- verifier.py
- __init__.py
- noop_counter.py
- __init__.py
- _fast_dataflow.py
- global_const_inline.py
- stackvars_constprop.py
- __init__.py
- abc_block_splitter.py
- ARCHITECTURE.md
- block_merge.py
- conditional_exit.py
- dispatcher_detection.py
- fix_pred_cond_jump_block.py
- generic.py
- heuristics.py
- loop_prover.py
- mba_state_preconditioner.py
- safeguards.py
- services.py
- unflattener.py
- unflattener_badwhile_loop.py
- unflattener_cf.py
- unflattener_fake_jump.py
- unflattener_hodur.py
- unflattener_indirect.py
- unflattener_refactored.py
- unflattener_single_iteration.py
- unflattener_switch_case.py
- utils.py
- __init__.py
- handler.py
- indirect_branch.py
- indirect_call.py
- opaque.py
- tricks.py
- __init__.py
- __init__.py
- analysis_stats.py
- context.py
- handler.py
- identity_call.py
- __init__.py
- handler.py
- pattern_guess.py
- utils.py
- __init__.py
- chain_rules.py
- handler.py
- __init__.py
- handler.py
- mem_read.py
- __init__.py
- egglog_handler.py
- handler.py
- __init__.py
- canonicalizer.py
- engine.py
- experimental.py
- handler.py
- pattern_speedups.py
- __init__.py
- constant_call.py
- fold_readonlydata.py
- fold_rotatehelper.py
- handler.py
- local_const_propagation.py
- normalise_helpers.py
- __init__.py
- cst.py
- handler.py
- predicates.py
- __init__.py
- handler.py
- __init__.py
- handler.py
- __init__.py
- caching.py
- core.py
- extensions.py
- __init__.py
- funcs.pxd
- hexrays.pxd
- ida.pxd
- idp.pxd
- nalt.pxd
- pro.pxd
- range.pxd
- typeinf.pxd
- xref.pxd
- __init__.py
- _cblock_helpers.pxd
- _cblock_helpers.pyx
- _chexrays.pxd
- _chexrays_api.pxd
- _chexrays_api.pyx
- mop_snapshot.pyx
- __init__.py
- c_ast.pyx
- c_ast_evaluate.pyx
- __init__.py
- c_dataflow.pyx
- c_stackvars_constprop.pyx
- __init__.py
- __init__.py
- __init__.py
- c_pattern_match.pyx
- __init__.py
- bootstrap.py
- c_simd.pxd
- c_simd.pyx
- install.py
- __init__.py
- assertions.py
- cases.py
- runner.py
- skip_controls.py
- __init__.py
- base.py
- decompile_function.py
- deobfuscate_this.py
- deobfuscation_stats.py
- export_disasm.py
- export_disasm_logic.py
- export_microcode.py
- export_microcode_logic.py
- export_to_c.py
- export_to_c_logic.py
- function_rules.py
- ida_handler.py
- mark_deobfuscated.py
- predicates.py
- reload_d810ng.py
- start_d810ng.py
- stop_d810ng.py
- term_d810ng.py
- __init__.py
- action_loader.py
- actions_logic.py
- context_menu.py
- ida_ui.py
- pseudocode_actions.py
- rule_detail.py
- rule_tree.py
- stats_dialog.py
- stats_logic.py
- testbed.py
- __init__.py
- errors.py
- manager.py
- qt_shim.py
- d810_simd.h
- pyptr.h
- swigpyobject.h
- d810ng.py
- __init__.py
- known_issues.py
- libobfuscated.py
- libobfuscated_comprehensive.py
- constant_folding_test1_current.c
- constant_folding_test1_expected.c
- ollvm_fla_bcf_sub_current.c
- ollvm_fla_bcf_sub_expected.c
- test_constant_folding_1.json
- test_constant_folding_2.json
- test_cst_simplification.json
- test_deobfuscate_opaque_predicate.json
- test_hodur_func.json
- test_ollvm_fla_bcf_sub.json
- test_ollvm_fla_bcf_sub.libobfuscated.json
- test_simplify_and.json
- test_simplify_chained_add.json
- test_simplify_mba_guessing.json
- test_simplify_neg.json
- test_simplify_xor.json
- test_tigress_minmaxarray.json
- test_unwrap_loops.json
- test_unwrap_loops_2.json
- test_unwrap_loops_3.json
- test_while_switch_flattened.json
- __init__.py
- conftest.py
- test_block_merge.py
- test_capture_pseudocode.py
- test_dump_function_pseudocode.py
- test_libdeobfuscated_dsl.py
- test_profile_libobfuscated.py
- test_resize_buffer_cff.py
- test_unflattening_characterization.py
- __init__.py
- semantic_equivalence.py
- __init__.py
- test_ast_update_leafs_mop.py
- test_fetch_idb_value.py
- test_opaque_table_folding.py
- __init__.py
- test_mop_snapshot.py
- __init__.py
- test_dispatcher_detection.py
- test_heuristics.py
- test_safeguards.py
- test_services_integration.py
- test_unflattener_fake_jump.py
- test_unflattener_fake_jump_real_microcode.py
- test_unflattener_fake_jump_system.py
- test_unflattener_services.py
- test_unflattener_single_iteration_system.py
- __init__.py
- test_analysis_stats.py
- test_global_const_inline.py
- test_identity_call_logic.py
- test_jumps_opaque.py
- test_jumps_opaque_affine.py
- test_mba_state_preconditioner.py
- test_opaque_math_identity.py
- __init__.py
- __init__.py
- __init__.py
- test_context_aware_dsl.py
- test_dispatcher_resolve.py
- test_verifiable_rules.py
- __init__.py
- test_cfg_utils_regressions.py
- test_is_never_written_var.py
- __init__.py
- test_export_actions.py
- __init__.py
- bench_utils.py
- conftest.py
- test_ast_comparison.py
- test_bindings_proxy.py
- test_block_optimizer_perf_counters.py
- test_capture.py
- test_capture_integration.py
- test_convert_jtbl_to_goto.py
- test_ctree_hooks.py
- test_cython_benchmark.py
- test_cython_optimizer_parity.py
- test_deferred_modifier.py
- test_ea_validation.py
- test_ea_validation_logic.py
- test_global_const_inline.py
- test_hexrays_helpers.py
- test_identity_call.py
- test_indirect_branch.py
- test_indirect_call.py
- test_instruction_rule_scope_consumption.py
- test_mop_snapshot_duck_typing.py
- test_netnode_wrapper.py
- test_nomut_matching.py
- test_optimization_rule.py
- test_optimizer_prefiltering.py
- test_pattern_engine_benchmark.py
- test_pattern_speedups.py
- test_project_context_integration.py
- test_pxd_equivalence.py
- test_rule_scope_manager_events.py
- test_table_utils.py
- test_unsafe_unflattener.py
- test_z3_astproxy_regression.py
- __init__.py
- capture_pseudocode.py
- conftest.py
- example_capture_usage.py
- run_comparison.py
- show_diffs.py
- show_pseudocode.py
- stutils.py
- __init__.py
- test_bits.py
- test_cache.py
- test_config.py
- test_cymode.py
- test_log_analyst_integration.py
- test_logging.py
- test_merkle.py
- test_persistence.py
- test_registry.py
- test_rule_scope.py
- test_singleton.py
- test_stats.py
- test_structured_logging.py
- __init__.py
- test_ast_patch.py
- test_ast_processor.py
- test_match_context.py
- test_matcher.py
- test_patterns.py
- __init__.py
- test_ast_proxy.py
- __init__.py
- test_semantic_equivalence.py
- __init__.py
- test_dsl_verification.py
- test_rule_registry.py
- test_verifiable_rules.py
- test_z3_simplifications.py
- test_conditional_exit.py
- __init__.py
- __init__.py
- __init__.py
- __init__.py
- __init__.py
- conftest.py
- test_dispatcher_tracking.py
- __init__.py
- test_simd.py
- test_actions_base.py
- test_actions_integration.py
- test_actions_logic.py
- test_actions_migration.py
- test_export_disasm_logic.py
- test_export_microcode_logic.py
- test_export_to_c_compile_integration.py
- test_export_to_c_logic.py
- test_export_to_c_runtime.py
- test_function_rules_action.py
- test_stats_logic.py
- __init__.py
- conftest.py
- test_cache.py
- test_cycle_detection.py
- test_egglog_pattern_gen.py
- test_ida_pattern_generation.py
- test_loggers.py
- test_mop_snapshot_guard.py
- test_pattern_engine_dispatcher.py
- test_pattern_storage_switchover.py
- test_platform.py
- test_project_context.py
- test_registry.py
- test_registry_compilation.py
- test_rule_analysis.py
- test_runner_project_resolution.py
- test_singleton.py
- test_testing_framework.py
- test_tracker_components.py
- tutils.py
- __init__.py
- conftest.py
- README.md
- converter.py
- test_with_docker.sh
- ununicode.py
- .gitkeep
- .gitkeep
- __init__.py
- analyze_verify_failures.py
- bisect_rule.py
- bisect_rule_v2.py
- install_speedups.py
- .gitattributes
- .gitignore
- .importlinter
- .isort.cfg
- AUTHORS.md
- docker-compose.yml
- ida-plugin.json
- LICENSE
- pyproject.toml
- README.md
- setup.py
- sgconfig.yml
# Use via CDN
jsDelivrjsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.
Command Glossary
Commands referenced in this DOCs, explained below.
arch
View Details ▼
arch
This command is an alias of `uname --machine`.
tldr uname
View documentation for the original command:
arch
Display the system's architecture:
arch -x86_64 {{command}} {{argument1 argument2 ...}}
Run a command using x86_64:
docker compose
View Details ▼
docker compose
Run and manage multi container Docker applications.
docker compose ps
List all running containers:
docker compose up {{[-d|--detach]}}
Create and start all containers in the background using a `docker-compose.yml` file from the current directory:
docker compose up --build
Start all containers, rebuild if necessary:
pip install
View Details ▼
pip install
Install Python packages.
pip install {{package1 package2 ...}}
Install one or more packages:
pip install {{package1 package2 ...}} {{[-U|--upgrade]}}
Upgrade all specified packages to the latest version, installing any that are not already present:
pip install {{package}}=={{version}}
Install a specific version of a package:
pip3
View Details ▼
pip3
This command is an alias of `pip`.
tldr pip
View documentation for the original command:
pytest
View Details ▼
pytest
Run Python tests.
pytest {{path/to/test_file1.py path/to/test_file2.py ...}}
Run tests from specific files:
pytest -k {{expression}}
Run tests with names matching a specific [k]eyword expression:
pytest {{[-x|--exitfirst]}}
Exit as soon as a test fails or encounters an error:
python
View Details ▼
python
Python language interpreter.
python
Start a REPL (interactive shell):
python {{path/to/file.py}}
Execute a specific Python file:
python -i {{path/to/file.py}}
Execute a specific Python file and start a REPL:
apt-get
View Details ▼
apt-get
Debian and Ubuntu package management utility.
Search for packages using `apt-cache`.
It is recommended to use `apt` when used interactively in Ubuntu versions 16.04 and later.
sudo apt-get update
Update the list of available packages and versions (it's recommended to run this before other `apt-get` commands):
sudo apt-get install {{package}}
Install a package, or update it to the latest available version:
sudo apt-get remove {{package}}
Remove a package:
x86_64
View Details ▼
x86_64
This command is an alias of `setarch x86_64`.
tldr setarch
View documentation for the original command:
