Skip to content

UE5CEDumper v959

Choose a tag to compare

@github-actions github-actions released this 06 Jun 09:26
1df4ab0

UE5CEDumper — Unreal Engine 4/5 dumper (C++ DLL + Cheat Engine bridge + Avalonia UI).

Self-contained Windows x64 build (Native AOT). No .NET runtime install required.

Highlights

  • Dynamic offset detection (GObjects / GNames / GWorld) across UE4 4.18+ and UE5 5.0-5.8+
  • Object Tree / Live Walker / Instance Finder / Property Search
  • Value Search (CE-style by-value scan): numeric / string / vector / TArray / TSet / TMap / TOptional, with server-side filter / sort / paging
  • UFunction discovery + invoke (pipe + CE AA-script export); Console (UFUNCTION exec)
  • Property <-> function bytecode cross-reference (Blueprint + native)
  • CE XML / CSX / SDK header / USMAP export

The exe is unsigned — Windows SmartScreen / antivirus may warn on first run. Verify the download with the included .sha256.

Detail

Period: 2026-05-25 → 2026-06-06 | Builds: ~730 → ~959 | 143 commits (PR #210#249)


Stable Features

Value Search (CE-style by-value scan) — Main Line This Cycle

  • Console tab: UFUNCTION(exec) discovery + one-click invoke; UCheatManager stripped-body hint.
  • First/Next Scan: CE-style iterative scanning over UPROPERTY fields.
  • Phase 2: string, vector, and TArray<T> scanning.
  • Multi-numeric meta scan: NumericNoByte / NumericAll (incl. with-byte variant) + result-volume warning.
  • Float/Double tolerance: matches CE's rounded-scan behavior.
  • StructProperty recursion: GAS / nested-struct leaves are now reachable.
  • Parallelization: ParallelGObjectsScan<T> template + thread-safe Ubel caches.
  • V3-A lean Candidate: shared FieldDescriptor / InstanceRecord pools to cut memory.
  • V1a: TSet / TMap key|value scan (closes the largest coverage gap).
  • V1c: TOptional<T> scan.
  • V3-C: server-side window + filter/sort (live-verified).
  • V2: maxResults cap raised to 1M + allocation-free filter.
  • App-wide DataGrid sorting fix (compiled bindings require explicit SortMemberPath) + Value Search keyword filter.

Property ↔ Function Bytecode Cross-Reference

  • Path 1 (Blueprint Kismet): find_property_xrefs, "Find functions using this field" UI, read/write distinction, ubergraph attribution to BP events, reverse edge walk_function_props.
  • Path 2 (native): resolves [this+off] property xrefs in native UFunctions via Zydis x64 disassembly.

Cheat Table / Invoke

  • Multi-row → single .CT batch generator (CT batch).
  • Structured-return DataGrid for struct return values.

DLL Stability

  • Cooperative cancellation for long DLL operations (Cancel.h + Fern disconnect-monitor + shutdown-abort + serial-loop checks), fixing "game won't close" and "DLL spins after UI close".
  • Fixed use-after-free in queued ProcessEvent invoke on timeout + two C# lifecycle bugs.
  • AOBMaker bridge ops serialized with a semaphore to close a pipe race.

AOT / Build

  • Windows-only Avalonia backend (dropped X11/macOS/FreeDesktop), warning-free AOT publish; HarfBuzz text shaping fix for the startup crash.
  • Removed <Run> StackOverflow landmine + added startup crash.log; TreatWarningsAsErrors on the UI project.

Release / CI

  • Tag-triggered Windows release workflow (draft release), with the release build number pinned to the tag (no +1 drift); cleared Node20 + xUnit1051 release-CI warnings.

UI Polish

  • Global stale-DLL badge in the top bar; Live Walker focus-on-field on Value Search cross-nav; fixed Live Walker button tooltip flicker; restore window to original position after un-maximize.

Docs / Tooling

  • diff_dumps.py: same-game patch comparison at UProperty granularity; dev-log split/archived (≤696); roadmap/architecture/lessons fully updated.

Experimental Tools (Three Features) — Not Yet Fully Functional

The following three tools are experimental and only unlock after you tick the opt-in consent checkbox on the System tab. They do not yet work reliably — do not use them in a serious analysis workflow, and go in expecting that they may fail or return inaccurate results:

1. Snapshot (Memory Snapshot)

  • Streams every UObject's numeric fields into a per-game SQLite DB (snapshots.<pe_hash>.db, write-once / immutable, schema v4).
  • Already supports: scalar numeric / string / struct-array inner-key capture, per-game quota with FIFO auto-eviction, capture progress (% / elapsed / ETA), Delete All / Delete Selected.
  • Limitations: capture is slow on large datasets; transient objects (//Engine/Transient/*) have unstable, colliding paths that can distort comparisons.

2. SPC Query (Same-Path Compare)

  • Compares numeric changes for the same property path across snapshots; supports in-memory diff/SPC, absolute-value predicates, and result filters (picker / global filter / value range).
  • Includes the N1 noise picker (Top-N contributors → single-click select → per-tab class denylist → re-run).
  • Limitations: same-session queries require In-session join to be correct (otherwise Strict mode collapses transient objects into one candidate — the "materials don't show up" misjudgment); large queries rely on the cancellation path and may still stall.

3. Class Pivot

  • Aggregates properties by class (DataTable / right-click handoff / array-element pivot).
  • Replaced the repeated COUNT(DISTINCT) query with a precomputed class_counts index table (built at finalize, lazy-built for old snapshots) to avoid a GROUP BY over ~1.7M rows on every selection.
  • Limitations: still early-stage; C2 find-by-value, gzip blob storage, etc. are unfinished; relies on cancellation when switching tabs / closing, and edge cases may linger.

All three tools now have heavy-query cancellation (per-VM CancellationTokenSource, cancel-on-tab-switch / on-close, explicit ThrowIfCancellationRequested inside SQLite read loops), but should still be treated as experimental and potentially unstable.