Skip to main content

unidecompiler-symbolic

Bounded symbolic execution for recovered unidecompiler generic IR. The package depends on unidecompiler-simulator for the public Generic IR/runtime boundary, but owns symbolic states, path exploration, constraints, models, limits, and diagnostics. It never executes frontend bytecode or simulator private frames.

from unidecompiler_symbolic import SymbolicEngine, SymbolicInput

result = SymbolicEngine().explore_function(
    module,
    function,
    symbolic_inputs=(SymbolicInput("x"),),
)
for path in result.paths:
    print(path.status, path.model, path.returns, path.constraints)

For a decoded artifact, construct the engine from the host registry and pass a frontend-owned opaque target query. Target selection is performed by the frontend's data-only simulation adapter; the symbolic package receives only the resulting ModuleIR and FunctionIR:

result = SymbolicEngine.from_registry(registry).explore_artifact(
    data,
    "sample.pyc",
    query="choose",
    symbolic_inputs=(SymbolicInput("value"),),
)

Execution is bounded by SymbolicLimits. Unknown calls, unsupported Generic IR, solver uncertainty, cancellation, and resource limits are represented by explicit result statuses; they are never converted into guessed success. The initial implementation focuses on scalar expressions, CFG branches, returns, exact CFG-edge Phi values, multiway branches, and bounded loops. Calls, object/member mutation, and ambiguous exception transfers remain explicit unsupported outcomes until a sound Generic IR model is available.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unidecompiler_symbolic-0.2.3.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

unidecompiler_symbolic-0.2.3-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file unidecompiler_symbolic-0.2.3.tar.gz.

File metadata

  • Download URL: unidecompiler_symbolic-0.2.3.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.12

File hashes

Hashes for unidecompiler_symbolic-0.2.3.tar.gz
Algorithm Hash digest
SHA256 85c235ac208fb4f3b946351715c4fca44132bcb922cc2e0930a49ba6a02386e0
MD5 b5e71ed15d08c28eb63adeceb5d99793
BLAKE2b-256 7ac3393aba1db36cadd9030d777d0851fde5fc73f5b96e9a01f544c06f58caff

See more details on using hashes here.

File details

Details for the file unidecompiler_symbolic-0.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for unidecompiler_symbolic-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ea34d97d7b1cd34618a8478221f3e183345cac214a0b88f712196907e967a734
MD5 8e439c8bb1d84a33927858659c9b207c
BLAKE2b-256 fde397fab6469ec44c58fd2461d3b421946e9ee377145ddd70ee2bd18f2d4257

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page