github bbfox0703/UE5CEDumper v730

latest releases: v3362, v2780, v2771...
3 months ago

tag align to OCT release
download pre-compiled application here: https://opencheattables.com/viewtopic.php?f=17&t=1797

UE5CEDumper v730 — Release Notes (v560 → v730)

Window: 2026-05-09 → 2026-05-25 (16 days, 50 commits)
Tested games: 29 / 29 GWorld coverage (100%)
Tests: 770 → 1015 passing (+245)

This release closes the loop on invoking UFunctions as cheat-table actions, adds two large discovery surfaces (Interesting Funcs, Interesting Props), introduces class-wide property freeze, and lands a critical fix to a ProcessEvent hook that had been silently misfiring for 600+ builds.


Highlights

Theme Build(s) What
AA Script export from UFunction rows 590-596 Helper-in-table pattern, ~50-line AA Script per function
Interesting Functions Finder tab 597-687 Keyword + class + flag scorer
Interesting Properties Finder tab 670-687 Mirror of Funcs side + Unusual Location flag
Property Freeze (Route B) 719 Class-wide horizontal lock
Invoke param picker (Stages 1+2) 711-715 UClass surface + [Pick…] [null] [self]
Mailbox poll 10ms → 1ms 707-710 CE-Lua sequential invokes ~5ms/call faster
ProcessEvent vtable detection (CRITICAL fix) 648 Function-body pattern scan + hook-fire validator

New features

Invoke pipeline — discover → invoke → ship as cheat table

  • Copy AA Script (Baked) on UFunction rows (build 590-596). Pre-filled params, no in-CE form. Helper-in-table pattern: one shared ue5_invoke_helper.lua loaded via findTableFile, AA Script per function ~50 lines.
  • Interesting Functions Finder tab (build 597-687). Scores all UFunctions across all UClasses. CamelCase tokeniser (build 609) so HP/MP/SP/XP/TP match safely without false-positives on Component/Spawn/etc.
  • Static-native ProcessEvent fast path (build 636). KismetMathLibrary / KismetSystemLibrary invokes no longer wait on the game thread. ES2 menu-state invokes that used to time out at 5-7s now return instantly.
  • Tools → Inject Helper into Current CE Table (build 611). One-click ships ue5_invoke_helper.lua into the open .CT via the AOBMaker pipe.
  • Verify Return Value toggle on the baked AA Script (build 637). Before/After raw-byte dump + typed return decode for diagnostic invokes.
  • Invoke param picker Stages 1+2 (build 711-715):
    • Stage 1 — UObject*/UClass*/Soft*/Weak*/Lazy*/Interface params now show the expected UClass: [UObject*: AActor, 8B, off=0x10] instead of a bare [UObject*, 8B].
    • Stage 2 — [Pick…] [null] [self] buttons next to each pointer param. Pick opens a class-pre-filtered instance picker.
  • Mailbox poll 10ms → 1ms (build 707-710). timeBeginPeriod(1) bracket so the 1ms target is delivered even on hosts with the legacy 15.6ms scheduler tick.

Discovery surfaces

  • Interesting Properties Finder tab (build 670-687) — mirror of the Funcs Finder for properties. New concept: ⚠ Unusual Location flag for fields living in LocalPlayer / GameViewportClient / HUD / CheatManager — often the most cheat-tunable. Calibrated against a 15-game dump corpus.
  • Multi-select Copy CE Field(s) (build 660). LiveWalker DataGrid in Extended mode. Container multi-select emits ONE filtered container with N elements.
  • PropertySearch dedupe-by-defining-class (build 610). bCanBeDamaged no longer returns 4823 rows — single representative row plus an inheritor count badge.
  • search_properties_batch (build 685). 36-keyword Interesting Properties Load went 42s → ~1.5s by walking GObjects once instead of once per keyword.
  • walk_class_batch (build 693-696). Full SDK Export + Dump All Metadata batched at 200 classes per round-trip. Estimated 2-5× wall-time on big games.

Property freeze

  • Class-wide horizontal lock (build 719). PropertySearch row gets a Freeze button. Generated AA Script holds the value across every live instance of the owning class with 50ms tick + 5s instance rescan. Numerics + bool supported in v1.

Export / analysis

  • Export → Dump All Metadata (.jsonl) (build 676). Streams every class + props + funcs via existing pipe endpoints.
  • Python analyzer pipelinescripts/analysis/analyze_dumps.py. Aggregates dumps cross-game, emits a Markdown report (top names / tokens / Unusual Locations). Reproducible scoring-table calibration.
  • 15-game cross-game scoring calibration (build 678 + 687). PropertyScoringTable / KeywordScoringTable additions backed by empirical evidence across DQ7R / ES2 / FactoryGameSteam / Hogwarts / TQ2 / FF7R / Stray / others.

UX / polish

  • System tab (formerly Pointers) with a Diagnostics card — UI/DLL build match, AOBMaker plugin status, Self-Test button that auto-picks a KismetMathLibrary helper and verifies the return value.
  • ⚙ Options popover (build 666) — collapses 5 export-shape sliders into a dropdown. Reclaims ~600px so the toolbar stays one row at 4K@225%.
  • Shorter tab labels (build 666) — Instance Finder → Instances, Property Search → Properties, etc.
  • Function Goto (build 632) — Live button on Interesting Funcs now auto-expands the LiveWalker Functions section and scrolls to the target row.
  • Empty-class hint banner on ClassStruct (build 632) — BlueprintFunctionLibrary subclasses no longer read as "broken".
  • Credit footer in System tab + Live Walker empty state.

Critical fixes

  • ProcessEvent vtable wrong slot (build 648). Pre-648 detection picked a slot from a hardcoded version table and "validated" by reading 1 byte. ES2 / Geri ended up hooking the adjacent virtual; invokes silently returned result=0 without ever running the function. Rewrite uses a function-body pattern scan (Dumper-7 technique) matching FUNC_Native + high-flag-mask TEST instructions, plus a post-install validator that logs VALIDATION FAILED if the hook doesn't fire ≥1× in 1500ms. Verified live on ES2 (UE 5.5) and Geri (UE 4.27) — real PE slots were 0x278 and 0x220, both off by ≥1 slot from the old hardcoded values.
  • SoftClassProperty silent 4-byte truncation (build 717). [Pick…] declared 7 pickable pointer types but WriteParam only covered 6 — SoftClassProperty fell through to a size-based default that wrote 4 bytes of a 64-bit address before ProcessEvent. 14 contract theories now enforce the canonical type list at compile time.
  • DLL class filter dropped every BlueprintGeneratedClass (build 673). Aura::SearchProperties / ListClasses / EnumerateAllFunctions all had if (metaClassName != "Class") continue;. ~90% of game-specific classes live in BPGCs. New IsClassLikeMeta whitelist covers Class + BlueprintGeneratedClass + AnimBPGC + WidgetBPGC + DynamicClass.
  • SdkExportService BPGC filter (build 690). Same bug class on the C# side. Mirrored to IsClassLikeMetaName.
  • Satisfactory / hybrid-layout proxy-deploy scanner (build 691-692). Three UE shipping layouts (monolithic / hybrid / pure-modular) now handled cleanly by a two-tier search (primary roots first, Engine\ as fallback). Eliminates phantom Engine-side rows on StellarBlade / NMKART / Palworld / TQ2 / Satisfactory.
  • AOBMaker plugin InjectTableFile (build 632, AOBMaker-side fix). f.Stream.write set Size=0 silently. Switched to createStringStream + copyFrom — same pattern CE's own autorun/java.lua uses.

Quality / infrastructure

  • AOT-safe ObjectInstancePickerDialog (build 729) — 12 IL2026/IL3050 warnings (reflection-based Binding(string) columns) replaced with DataGridTemplateColumn + FuncDataTemplate<T>. AOT publish is now warning-clean at 41.9 MB.
  • Static MSVC CRT in Native AOT publish (build 718) — no VCRuntime DLL dependency.
  • Compile warning sweep (build 698) — 13 sites cleared (C4189 dead var + xUnit1051 cancellation tokens).

Tested games (29 / 29 GWorld = 100%)

New / re-verified this window: Star Wars Jedi: Fallen Order (UE 4.21), Ghostwire: Tokyo (UE 5.04), Frontiers (UE 4.26), The Artisan of Glimmith (UE 4.27). Plus revalidation across DQ7R / ES2 / Geri / Hogwarts Legacy / Octopath Traveler / Stray / TQ2 / FF7 Rebirth / FF7 Remake / Satisfactory / NMKART / Palworld / StellarBlade / Manor Lords / Tower of Mask / DQI&IIHD2D / Deep Rock Galactic.


Known limitations

  • EA-launcher games block proxy DLL preload — neither version.dll nor dinput8.dll loads when the EA app spawns the wrapped exe. Workaround: CE manual injection after the game is running.
  • Bitfield bool freeze not supported in v1 — helper writes a full byte; packed uint8 bFoo : 1 fields aren't surfaced as bitfields by PropertySearch yet.
  • FString / FName / TArray freeze out of v1 scope. Numerics + bool first.

Links

Don't miss a new UE5CEDumper release

NewReleases is sending notifications on new releases.