ud-emulator 0.2.0

Pure-Rust 32-bit x86 emulator + PE runtime loader + Win32 host shims. Mirrors oxideav-vfw; intended to grow into the dynamic-analysis backend that informs decompilation (indirect-target recovery, constant-data discovery).
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.75"
name = "ud-emulator"
version = "0.2.0"
authors = ["Mark Karpeles"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Pure-Rust 32-bit x86 emulator + PE runtime loader + Win32 host shims. Mirrors oxideav-vfw; intended to grow into the dynamic-analysis backend that informs decompilation (indirect-target recovery, constant-data discovery)."
homepage = "https://github.com/KarpelesLab/univdreams"
readme = false
keywords = [
    "decompiler",
    "compiler",
    "binary-analysis",
    "reverse-engineering",
    "emulator",
]
categories = [
    "development-tools",
    "command-line-utilities",
    "emulators",
]
license = "MIT"
repository = "https://github.com/KarpelesLab/univdreams"

[package.metadata.docs.rs]
features = [
    "trace",
    "trace-exec",
]

[features]
default = []
trace = []
trace-exec = ["trace"]

[lib]
name = "ud_emulator"
path = "src/lib.rs"

[[test]]
name = "codec_corpus"
path = "tests/codec_corpus.rs"

[[test]]
name = "context_integration"
path = "tests/context_integration.rs"

[[test]]
name = "encode_decode_corpus"
path = "tests/encode_decode_corpus.rs"

[[test]]
name = "ffi_smoke"
path = "tests/ffi_smoke.rs"

[[test]]
name = "icopen_trace"
path = "tests/icopen_trace.rs"

[[test]]
name = "lagarith_gs_forensics"
path = "tests/lagarith_gs_forensics.rs"

[[test]]
name = "round69_msadds32_inner_decode_watch"
path = "tests/round69_msadds32_inner_decode_watch.rs"

[[test]]
name = "round70_ic_get_set_state"
path = "tests/round70_ic_get_set_state.rs"

[[test]]
name = "round70_msadds32_ea3a_forensic"
path = "tests/round70_msadds32_ea3a_forensic.rs"

[dependencies.cab]
version = "0.6"

[dependencies.msi]
version = "0.10"

[dependencies.thiserror]
version = "2"

[dev-dependencies.serde]
version = "1"
features = ["derive"]

[dev-dependencies.toml]
version = "0.8"

[dev-dependencies.ureq]
version = "2"
features = ["tls"]
default-features = false

[lints.clippy]
doc_markdown = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
similar_names = "allow"

[lints.clippy.all]
level = "warn"
priority = -1

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.rust]
missing_debug_implementations = "warn"
unsafe_op_in_unsafe_fn = "deny"