-
Notifications
You must be signed in to change notification settings - Fork 6
Properties ja JP
Properties タブは、すべてのロード済み UClass 全体で UPROPERTY フィールドを名前で検索します。"Health"、"Gold"、"Ammo" のようなプロパティ名を知っているが、どのクラスがそれを保有しているか分からない場合に使用します。Interesting-Funcs-and-Props タブ(スコア付け・ランク付けされる)とは異なり、これは大文字小文字を区別しないリテラル名の部分文字列検索で、オプションとして型フィルタリングをサポートします。
-
Property name 入力フィールドにプロパティ名を入力します(例:"Health"、"Mana"、"Gold")。部分文字列マッチングは大文字小文字を区別しません。
-
(オプション) Type filter フィールドで型を絞ります。プロパティ型のキーワードを入力します(例:opt → OptionalProperty、weak → WeakObjectProperty、del → DelegateProperty)。複数の型を指定する場合はカンマで区切り OR ロジックを使用します。オートコンプリートはすべての FProperty 型を提案します。
-
(オプション) Game classes only トグルを切り替えて、エンジンクラス(/Script/Engine/*)を除外し、ゲーム固有のクラスのみに結果を限定します。デフォルトでオンです。
-
(オプション) Deep (structs/containers) トグルを切り替えて、ネストされたスタラクトメンバーとスタラクト型のコンテナ(TArray、TSet、TMap<K,FStruct>)に降下します。デフォルトではオフです(高速)。オンにすると、SaveSlotList[].MsTuneData.GP のように埋め込まれたフィールドをそのリーフ名で検索できます。
-
Search をクリックします(またはどちらかの入力フィールドで Enter キーを押します)。DLL に対してクエリを実行します。ステータスメッセージに結果カウントとスキャンメトリクスが表示されます。
-
下のグリッドで結果を閲覧します。列ヘッダーをクリックしてソートします。
検索バーの下には、すでにフェッチされた結果を DLL ラウンドトリップなしで絞り込むための Filter results フィールドがあります。これは高速です。大規模な結果セットをクラス名、プロパティ名、型、またはプレビュー値で絞り込むのに最適です。Class / Property / Type / Super / Preview 列全体で大文字小文字を区別しない部分文字列マッチを行います。
| 列 | 注記 |
|---|---|
| Class | このプロパティを宣言または継承するクラス。 |
| Scope | 継承バッジ。このクラスに固有の場合は空白。子クラスによって共有される場合は"+1 inheritor" / "+N inheritors"。ホバーで詳細を表示(定義クラスのパス、エンジン固有かゲーム固有かどうか)。 |
| Super | 親クラス(直接のスーパークラス)。 |
| Property | フィールド名。ディープ(ネストされた)マッチの場合、これはドット区切りパス(例:SaveSlotList[].MsTuneData.GP)。ツールチップで説明されます。単一のクラス絶対オフセットが存在しないため、これらの行では Copy Offset / Freeze は非表示です。 |
| Type | FProperty 型。コンテナ/スタラクトの場合、ArrayProperty [ObjectProperty] または StructProperty (FVector) として表示されます。 |
| Offset | 16 進数オフセット(ソート可能)。ネストされたパスでは非表示です。 |
| Size | プロパティのバイトサイズ。 |
| Preview | クラスデフォルトオブジェクト(CDO)からのライブ値サンプル。 |
| Funcs | バッチ "Find Funcs" 結果:このプロパティを参照する UFunction のコンパクト N · func1, func2 サマリー。Batch Funcs ボタンまたは行ごとのインライン Find Funcs で入力されるまで空白です。 |
| Actions | 行ごとのインラインボタン(下記参照)。 |
各結果行にはボタンバー(右側)があります。
-
Find Funcs:Xref ルックアップ。すべての UFunction リストを表示するダイアログを開き、このフィールドを読み書きします。静的 Kismet バイトコード分析を使用します。低速(プロパティごとに全ゲーム規模のスイープ)。下のバッチボタンの方が複数行に対してより効率的です。
-
finder(Find Instances):Instances タブに切り替え、クラス名を事前入力します。そのクラスのすべてのライブオブジェクトを即座にリストできます。手動クラス名コピーを省きます。
-
Copy Offset (ネストされたマッチでは表示されません):プロパティオフセットをクリップボードに 16 進数形式でコピーします(例:
0x123)。 -
Freeze (ネストされたマッチでは表示されません。AOBMaker CE プラグインが利用できない場合は無効):このプロパティを、所有クラスのすべてのライブインスタンス全体で定数値にロックする CE Auto Assembler スクリプトを生成します(5 秒リスキャンタイマーを介してスポーン/デスポーンを自動的に処理)。数値プリミティブと bool のみをサポート。AOBMaker CE プラグインが必要です。利用できない場合、ツールチップがインストール方法を説明します(DLL を Cheat Engine の
autorun/フォルダにコピー)。スクリプトはオープンな CE テーブルに挿入されます。さらにセットアップは不要です。
- Find functions using this field:インライン Find Funcs ボタンと同じ。
- Pivot this property… (実験的):このフィールドを Class Pivot タブに、所有クラスのインスタンス全体で検証する**射影値(projected value)**として送ります(Class Pivot は同一性または別途選んだ key フィールドでグループ化し、このフィールドではしません)。実験的 Class Pivot タブが利用可能なときのみ表示。
-
Force field ▸ (実験的):このフィールドを、行のクラスのすべてのライブインスタンス全体で特定の値に保持します。DLL によって再適用されるため、ゲームが元に戻すことはできません — Force ON / OFF(
BoolProperty、例:bIsInvisible)、Force → null(強参照のObjectProperty、例:敵のTargetActor— ゲームが後でそのポインタをデリファレンスするとクラッシュする可能性があると確認ダイアログが警告します)、または Force value…(入力した値に保持される数値フィールド)。タブ下部の "Forced fields (N held)" ストリップにアクティブな保持が一覧表示されます(それぞれ ✕ 付き、加えて Clear all)。N held = 0 は、そのクラス/フィールドが現時点で何にもマッチしなかったことを意味します — 正直な no-op のシグナルなので、戦闘に入る/対象をスポーンさせてから再度 force してください。Freeze(AOBMaker を介したクラス全体の Cheat Engine スクリプト)とは異なり、これはアプリ内 DLL 保持であり、CE プラグインは不要です。実験的機能のオプトインがオンのときのみ表示。
各行を個別にクリックせずに複数行の Funcs 列を入力するには:
-
必要に応じて特定の行を選択します(Ctrl+Click / Shift+Click)。選択されていない場合は、すべての行がスキャンされます。
-
Batch Funcs ボタンをクリックします。
-
行数が 25 を超える場合、確認ダイアログが表示されます。各行が全ゲーム規模バイトコードスイープ(各数百 ms)をトリガーするため、合計時間は膨大になる可能性があります。ヒント:これをスピードアップするには最初に少ない行を選択します。
-
スキャンが進捗インジケータ(Find Funcs: N/Total scanned...)と共に実行されます。Cancel Batch ボタン(実行中に表示)でいつでもキャンセルできます。
-
各行の Funcs セルがコンパクトサマリーで入力されます。キャッシュされた結果はフィルタ変更全体で永続化されるため、再フィルタリングしても再スキャンは行われません。
検索設定は %LOCALAPPDATA%\UE5CEDumper\ui-options.json に保存されます:
- GameClassesOnly:Game classes only のトグル状態。
- DeepSearch:Deep (structs/containers) のトグル状態。
これらはアプリの再起動を経ても保存されますが、実際の検索テキスト、フィルタテキスト、結果は保存されません(セッションのみ)。
結果は(定義クラス、プロパティ名、オフセット)で重複排除されます。AActor で宣言され数千のサブクラスで継承されたフィールドは、数千の重複ではなく、AActor(定義クラス)をキーとした 1 行を出力します。Scope バッジはフィールドを共有するサブクラス数をヒントしています。
Deep (structs/containers) がオンの場合、検索は以下にも移動します:
- ネストされたスタラクトメンバー(例:
FCharacterStatsスタラクトフィールド内のHP)。 - スタラクト型コンテナ要素(例:
TArray<FCharacterStats>内の個別アイテム)。 - スタラクト型マップ値(例:
TMap<FName, FWeaponStats>の値側)。
マッチは Property 列にドット区切りパス(例:WeaponList[].Stats.Damage)を表示します。これらの行は単一クラス絶対オフセットを持たないため:
- Copy Offset および Freeze ボタンは非表示です(直接アドレスなし)。
- finder を使用して所有クラスのインスタンスを見つけ、Live-Walker または Value-Search 経由でドリルしてネストされた値に到達します。
ディープサーチは高速な浅いサーチより遅いため、デフォルトではオフです。
- finder ボタン → Instances タブ(クラス名を事前入力)。
- Find Funcs → PropertyXrefDialog(モーダル;このタブに留まります)。
- Batch Funcs → インライン Funcs 列を更新します。
- Pivot this property…(右クリック)→ Class Pivot タブ (実験的 — Class Pivot が利用可能なときのみ表示)。
| 側面 | Properties | Interesting-Funcs-and-Props |
|---|---|---|
| 検索方法 | 名前による文字通りの部分文字列(およびオプション型) | スコアリングエンジン:ヒューリスティック(クラス型、フィールドフラグ、名前パターン)でランク付け |
| ユースケース | "プロパティ名は知っているが、どこにあるか?" | "最も可能性の高いプレイヤースタット、インベントリ、移動フィールドを表示" |
| 結果フィルタリング | クライアント側部分文字列のみ | スコアリング駆動カテゴリ(Stats、Inventory、Movement、Combat、Utility) |
| 速度 | 高速(直接名前マッチ) | 低速(すべてのクラスのすべてのフィールドをスコア付け) |
- Home — 概要と開始方法。
- Instances — 特定クラスのライブオブジェクトを検索・リスト化。
- Live-Walker — メモリを検査し、リアルタイムでオブジェクトレイアウトをナビゲート。
- Value-Search — コンテンツ(数値、文字列、ベクトルスキャン)で値を検索。
- Interesting-Funcs-and-Props — チート関連の可能性の高い関数とプロパティのスコア付けディスカバリー。
- Class-Struct — クラス定義を完全なフィールドレイアウト付きで閲覧。
- Object-Tree — UObject 階層をナビゲート。
Quick-Start で初回ワークフロー、Proxy-Deploy で DLL インジェクション設定、メイン README も参照してください。