From 8847708d4106680a58b4b208b8fb342fac365334 Mon Sep 17 00:00:00 2001 From: MaddoScientisto Date: Sat, 21 Mar 2026 19:29:57 +0100 Subject: [PATCH] Add Ghidra MCP server update workflow instructions and various binary files; enhance segment coverage ledger and mid-project plan with detailed analysis notes --- .../ghidra-mcp-server-updates.instructions.md | 36 +++++++ .../00/~00000006.db/{db.88.gbf => db.94.gbf} | Bin 18989056 -> 19054592 bytes .../00/~00000006.db/{db.87.gbf => db.95.gbf} | Bin 18989056 -> 19054592 bytes .../00/~00000005.db/{db.15.gbf => db.23.gbf} | Bin 81920 -> 81920 bytes .../00/~00000005.db/{db.14.gbf => db.24.gbf} | Bin 81920 -> 81920 bytes Crusader_Decomp.code-workspace | 16 +++ crusader_decompilation_notes.md | 102 ++++++++++++++++++ crusader_segment_coverage_ledger.csv | 24 ++--- plan-mid.md | 17 +-- smoke_mcp_new_features.py | 71 ++++++++++++ 10 files changed, 248 insertions(+), 18 deletions(-) create mode 100644 .github/instructions/ghidra-mcp-server-updates.instructions.md rename Crusader.rep/idata/00/~00000006.db/{db.88.gbf => db.94.gbf} (98%) rename Crusader.rep/idata/00/~00000006.db/{db.87.gbf => db.95.gbf} (97%) rename Crusader.rep/user/00/~00000005.db/{db.15.gbf => db.23.gbf} (99%) rename Crusader.rep/user/00/~00000005.db/{db.14.gbf => db.24.gbf} (99%) create mode 100644 Crusader_Decomp.code-workspace create mode 100644 smoke_mcp_new_features.py diff --git a/.github/instructions/ghidra-mcp-server-updates.instructions.md b/.github/instructions/ghidra-mcp-server-updates.instructions.md new file mode 100644 index 0000000..3e6f499 --- /dev/null +++ b/.github/instructions/ghidra-mcp-server-updates.instructions.md @@ -0,0 +1,36 @@ +--- +description: 'Workflow rules for updating and validating the local Ghidra MCP server used by Crusader reverse-engineering tasks' +applyTo: '**' +--- + +# Ghidra MCP Server Update Workflow + +Use these instructions when making changes in the local Ghidra MCP source at K:/mcp/GhidraMCP from this workspace. + +## Scope + +- Treat K:/mcp/GhidraMCP as the source of truth for server and bridge behavior. +- Keep Crusader task notes and MCP implementation aligned. +- Prefer small, verifiable batches of MCP changes. + +## Update Rules + +- Read ghidra_mcp_wishlist.md before changing the server. +- Implement wishlist items in both layers when applicable: +- Java plugin endpoint in src/main/java/com/lauriewired/GhidraMCPPlugin.java. +- Python MCP bridge wrapper in bridge_mcp_ghidra.py. +- Keep backward compatibility for endpoint naming when practical by adding aliases instead of removing old routes. +- Keep xref and analysis outputs machine-friendly and evidence-rich (addresses, ref type, classification, function context). + +## Verification Rules + +- After server edits, run a Maven validation from K:/mcp/GhidraMCP. +- Minimum validation command: mvn test. +- If packaging changes are involved, also run mvn clean package assembly:single. +- Report failures with the exact failing phase and first actionable error. + +## Crusader Workflow Tie-In + +- If a missing MCP operation forced a fallback to PyGhidra, append a concise entry to ghidra_mcp_wishlist.md. +- When a wishlist item is completed, update its status note so open gaps remain accurate. +- Keep changes minimal and focused on concrete reverse-engineering workflow needs. diff --git a/Crusader.rep/idata/00/~00000006.db/db.88.gbf b/Crusader.rep/idata/00/~00000006.db/db.94.gbf similarity index 98% rename from Crusader.rep/idata/00/~00000006.db/db.88.gbf rename to Crusader.rep/idata/00/~00000006.db/db.94.gbf index 3f77a8153faf2452ac208bd4414acd71ef845319..6e76c51b33e2d35985ba7caa50a4861e719eec52 100644 GIT binary patch delta 60198 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 delta 44811 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 QnlQTwSD2;-tMrNg2kw!^_W%F@ diff --git a/Crusader.rep/user/00/~00000005.db/db.15.gbf b/Crusader.rep/user/00/~00000005.db/db.23.gbf similarity index 99% rename from Crusader.rep/user/00/~00000005.db/db.15.gbf rename to Crusader.rep/user/00/~00000005.db/db.23.gbf index 434a9bbb395670a3c068f9c833beb33b97320d15..decf663fc3b02c13fc02becc93f2a09f95d6ea89 100644 GIT binary patch delta 121 zcmZo@U~On%70@>@)G^W2(GptD*3*7^{f;Xmj=|zdT(-+t=22ZcDXOt7L(f3I# QE{XTaPfje!%+Ip}0BDCKAOHXW delta 195 zcmZo@U~On%70@>@)G^W2(OUcb%B>|0sRoS#Qw11#m~109DjM2O_qS#IJKfrz(N^58 zG%vX%Ge0jVwWPEtFQl>{)h#nMCuMrQJ!3G7Td1G&^f|VS4qQR5A)!Hj@gb1`(|zn2 zB{)m-Qc}}0^HNi$>j1gaFWEE7O+R4ID8v!$>F(zUR0~#S23Mv~Tu_u*k{X|vpOPA% iSsb5|SyWP~p{b;xZ^z4JqwkYgToUh-pPUGCiX8yo5@)G^W2(Ms(9YAkf4fUQwrssJMolb!oUMMK-^{~S!7>%aa*)z%s*y#Ht7MH}sr0oDqAu|C0 delta 253 zcmZo@U~On%70@>@)G^W2(F(9|^>Sh}{MaZkRe+I)$u?%AqM_|{e_KX=W>Fu<>9Mwq zGK@{rt85uv*vzdAQVbHO>)10&Ouu8xsEi~aIbF_)8L8@D3YEH`ZdV9uT7PnA8=jn578I_PUOK=6bhJ*(B#fL-&O!onr&RLq5lA4y8 zmzn~x?2 vtable `+0x0c` payload from `+0x12d/+0x12f` + - `000d:a3b7` -> vtable `+0x0c` payload from `+0x74f/+0x751` +- Global data labels were promoted for the callback lane (where symbolization applies in decompiler views): + - `g_active_dispatch_entry_farptr` at `0x6828` + - callback-state/object globals at `0x4588/0x458c/0x4590/0x4594/0x4595/0x45a6` + - dispatch callback-table pointer at `0x39ca` + ### Raw 0007 Gameplay Helper Batch (entity/tile aux state) - New conservative gameplay-side helper renames (direct analysis from field writes and call structure): diff --git a/crusader_segment_coverage_ledger.csv b/crusader_segment_coverage_ledger.csv index dd65cdf..c946a27 100644 --- a/crusader_segment_coverage_ledger.csv +++ b/crusader_segment_coverage_ledger.csv @@ -59,28 +59,28 @@ "58","code","0x86400","0x44B","None","","","","crusader_ne_segments.csv" "59","code","0x86A00","0x4288","None","","","","crusader_ne_segments.csv" "60","code","0x8B600","0x231","None","","","","crusader_ne_segments.csv" -"61","code","0x8BA00","0x1B6C","None","","","","crusader_ne_segments.csv" -"62","code","0x8DA00","0x85F","None","","","","crusader_ne_segments.csv" +"61","code","0x8BA00","0x1B6C","Foothold","Entity/timer dispatch guard and period helpers","timer_entity_enable_wrapper; entity_check_flag_0x4000; entity_set_event_type_checked; entity_set_update_period_and_reschedule","Several wrappers still resolve into thunk-heavy paths and need caller-side semantic naming","crusader_decompilation_notes.md" +"62","code","0x8DA00","0x85F","Foothold","Entry word-list lifecycle helpers","entity_word_list_destroy","Caller-side object-role mapping still needed for strong behavioral names","crusader_decompilation_notes.md" "63","code","0x8E400","0x519","None","","","","crusader_ne_segments.csv" -"64","code","0x8EA00","0x3B1","None","","","","crusader_ne_segments.csv" +"64","code","0x8EA00","0x3B1","Foothold","Global one-shot gate/dispatch control","FUN_0008_eb43; FUN_0008_ebe7; FUN_0008_eac8; FUN_0008_ec23","Subsystem identity of the gate path remains unresolved; names intentionally conservative","crusader_decompilation_notes.md" "65","code","0x8F000","0x5BD","None","","","","crusader_ne_segments.csv" "66","code","0x8F800","0x4A9","None","","","","crusader_ne_segments.csv" "67","code","0x8FE00","0x839","None","","","","crusader_ne_segments.csv" "68","code","0x90800","0xB4A","None","","","","crusader_ne_segments.csv" "69","code","0x91800","0x2A0","None","","","","crusader_ne_segments.csv" -"70","code","0x91C00","0xF24","None","","","","crusader_ne_segments.csv" +"70","code","0x91C00","0xF24","Foothold","File-handle allocation/open wrappers","file_handle_alloc_init_and_open; file_handle_open_with_mode","Exact DOS open/create flags and mode semantics still need caller-side argument decoding","crusader_decompilation_notes.md" "71","code","0x92E00","0x6C2","None","","","","crusader_ne_segments.csv" "72","code","0x93600","0xCA1","None","","","","crusader_ne_segments.csv" "73","code","0x94600","0x9AA","None","","","","crusader_ne_segments.csv" "74","code","0x95200","0x337","None","","","","crusader_ne_segments.csv" "75","code","0x95600","0x1428","None","","","","crusader_ne_segments.csv" -"76","code","0x96E00","0x627","None","","","","crusader_ne_segments.csv" -"77","code","0x97600","0x616","None","","","","crusader_ne_segments.csv" +"76","code","0x96E00","0x627","Foothold","VGA palette read/write/free helpers","vga_palette_write; vga_palette_read; palette_free_if_set","Need caller-side analysis to classify higher-level palette transaction semantics","crusader_decompilation_notes.md" +"77","code","0x97600","0x616","Foothold","Palette buffer clone/metadata setup","palette_buffer_alloc_copy_from_source","Need caller-side analysis to separate generic palette clone use from callback-specific staging","crusader_decompilation_notes.md" "78","code","0x97E00","0x634","None","","","","crusader_ne_segments.csv" "79","code","0x98600","0x421","None","","","","crusader_ne_segments.csv" -"80","code","0x98C00","0xF27","Foothold","Conditional render/callback dispatch","entity_conditional_render_dispatch","0x4588 callback object still lacks a concrete subsystem name","crusader_decompilation_notes.md" +"80","code","0x98C00","0xF27","Foothold","Conditional render/callback dispatch and surface release","entity_conditional_render_dispatch; surface_release_internal; surface_release_and_maybe_free","0x4588 callback object still lacks a concrete subsystem name","crusader_decompilation_notes.md" "81","code","0x99E00","0x320","None","","","","crusader_ne_segments.csv" -"82","code","0x9A200","0x1C8A","Partial","Allocator sweep and per-head allocation","allocator_head_try_alloc_block; allocator_head_free_block; public size wrapper","0x4588 object and finalize path still unresolved","crusader_decompilation_notes.md; plan-mid.md" +"82","code","0x9A200","0x1C8A","Partial","Allocator sweep and per-head allocation/finalize","allocator_head_try_alloc_block; allocator_head_free_block; allocator_head_finalize_sweep; public size wrapper","0x4588 object subsystem identity still unresolved","crusader_decompilation_notes.md; plan-mid.md" "83","code","0x9C400","0x31E","Foothold","Allocator node/header helpers","event_queue_push; packed size/header helpers","Mostly structural helper layer","crusader_decompilation_notes.md" "84","code","0x9C800","0x1478","None","","","","crusader_ne_segments.csv" "85","code","0x9E000","0x404","Foothold","Allocator work token helpers","token reserve/release and commit helpers","Needs clearer subsystem naming","crusader_decompilation_notes.md" @@ -89,11 +89,11 @@ "88","code","0xA2E00","0x523","None","","","","crusader_ne_segments.csv" "89","code","0xA3400","0x373","None","","","","crusader_ne_segments.csv" "90","code","0xA3800","0x9C6","None","","","","crusader_ne_segments.csv" -"91","code","0xA4400","0x6FA","Partial","Init/context and RNG helpers","seg091_func_00fd; seg091_func_014d; rng_set_seed; rng_next_modulo","00fd and 014d still positional","crusader_decompilation_notes.md; plan-mid.md" +"91","code","0xA4400","0x6FA","Partial","Init/context RNG and runtime callback/video-state lifecycle","seg091_func_00fd; seg091_func_014d; rng_set_seed; rng_next_modulo; runtime_callback_object_init_once; runtime_callback_object_teardown_once; video_bios_state_snapshot; video_mode_set_and_record_state","00fd/014d still positional; callback object subsystem identity still unresolved","crusader_decompilation_notes.md; plan-mid.md" "92","code","0xA4E00","0x59E","None","","","","crusader_ne_segments.csv" "93","code","0xA5600","0x4F1","None","","","","crusader_ne_segments.csv" "94","code","0xA5E00","0x606","Partial","Tracked handle table control","tracked_entity_handle_table_init; tracked_entity_handle_table_shutdown; tracked_entity_handle_table_clear_and_dispatch","Downstream dispatch tail still unresolved","crusader_decompilation_notes.md" -"95","code","0xA6600","0xC9F","Partial","Cache manager init/reset and 0x4588 runtime callback lifecycle","cache_init; cache_reset_runtime_state; cache_shutdown","Concrete 0x4588 callback object name and nearby no-function callers remain unresolved","crusader_decompilation_notes.md; plan-mid.md" +"95","code","0xA6600","0xC9F","Partial","Cache manager init/reset and 0x4588 runtime callback lifecycle","cache_init; cache_reset_runtime_state; cache_shutdown; entity_cleanup_resources_and_dispatch","Concrete 0x4588 callback object name and field-level role mapping remain unresolved","crusader_decompilation_notes.md; plan-mid.md" "96","code","0xA7600","0x582","None","","","","crusader_ne_segments.csv" "97","code","0xA7E00","0xDB0","None","","","","crusader_ne_segments.csv" "98","code","0xA8E00","0x68A","None","","","","crusader_ne_segments.csv" @@ -135,8 +135,8 @@ "134","code","0xD6000","0xEF0","None","","","","crusader_ne_segments.csv" "135","code","0xD7000","0x3B7","None","","","","crusader_ne_segments.csv" "136","code","0xD7600","0x5BD","None","","","","crusader_ne_segments.csv" -"137","code","0xD7E00","0xFBB","None","","","","crusader_ne_segments.csv" -"138","code","0xD9200","0x32E4","None","","","","crusader_ne_segments.csv" +"137","code","0xD7E00","0xFBB","Foothold","Dispatch-entry runtime state init/release","entity_dispatch_entry_init_runtime_state; entity_dispatch_entry_release_runtime_state","Higher-level callback object role and event semantic naming still unresolved","crusader_decompilation_notes.md; plan-mid.md" +"138","code","0xD9200","0x32E4","Foothold","Entity cleanup/finalize with callback and palette/file teardown","entity_cleanup_resources_and_dispatch; sprite_redraw_global_if_active","Callback-object role naming and 000d:7e00 constructor/dispatch path are still unresolved","crusader_decompilation_notes.md; plan-mid.md" "139","code","0xDCC00","0x984","None","","","","crusader_ne_segments.csv" "140","code","0xDD800","0xC6F","None","","","","crusader_ne_segments.csv" "141","code","0xDE600","0x2B","None","","","Short stub-sized segment","crusader_ne_segments.csv" diff --git a/plan-mid.md b/plan-mid.md index f514883..b899aa9 100644 --- a/plan-mid.md +++ b/plan-mid.md @@ -20,20 +20,25 @@ The estimates below are intentionally conservative. They measure verified behavi - Priority 0 has started: `crusader_segment_coverage_ledger.csv` exists and contains a first-pass 145-row ledger. - The currently seeded ledger rows are conservative and strongest around seg001, seg004, seg021, seg043, seg080, seg082/083/085, seg091, seg094, and seg095. -- Priority 1 has started on the cache/backend cluster: the seg082 allocator mechanics are now materially recovered (`allocator_head_try_alloc_block`, `allocator_head_free_block`, `allocator_free_block_by_ptr`), and the next unresolved clue is that `0x4588` behaves like a runtime-installed callback/dispatch object used by `entity_conditional_render_dispatch` plus a one-shot teardown path. -- The `0x4588` blocker is tighter than before: no-function windows now confirm a direct install at `000a:493e`, repeated clear paths in seg004, and additional vtable `+0x0c` callbacks from unresolved `000a:` and `000d:` callers, but the concrete subsystem name is still unresolved. +- Priority 1 has started on the cache/backend cluster: the seg082 allocator mechanics are now materially recovered (`allocator_head_try_alloc_block`, `allocator_head_free_block`, `allocator_free_block_by_ptr`), and the `0x4588` path now has named lifecycle helpers (`runtime_callback_object_init_once`, `runtime_callback_object_teardown_once`, `runtime_callback_object_phase_finalize`). +- The `0x4588` blocker is tighter than before: `000a:b988` boundary repair now includes both callback sync callsites (`000a:b9e5` / `000a:ba66`) inside one real function body, `000d:9d5e` / `000d:a3b7` are confirmed inside `entity_cleanup_resources_and_dispatch`, and adjacent helpers are now clarified as `allocator_head_finalize_sweep` (`0009:a961`), `video_bios_state_snapshot` (`000a:4a1f`), and `video_mode_set_and_record_state` (`000a:4972`). Concrete subsystem identity is still unresolved. +- A larger MCP rename batch completed for cleanup callees: `palette_buffer_alloc_and_init_256` (`0009:7853`), `file_handle_alloc_init_and_open` (`0009:1c3a`), `file_handle_open_with_mode` (`0009:1d6a`), `surface_release_internal` (`0009:8d7b`), `surface_release_and_maybe_free` (`0009:8e0a`), and `sprite_redraw_global_if_active` (`000d:9231`). This reduces `entity_cleanup_resources_and_dispatch` ambiguity on file/surface/palette teardown paths. +- The previously missing `000d:7e00` function object is now recovered and named `entity_dispatch_entry_init_runtime_state`, with paired destructor `entity_dispatch_entry_release_runtime_state` at `000d:8078`. Adjacent missing helpers `0003:a880` and `0003:b8e2` were also recovered, with `0003:b8e2` promoted to `far_buffer_alloc_with_mode_flags`. +- Additional helper stabilization now covers seg061/064/076: `vga_palette_read` (`0009:6ec7`) is confirmed alongside existing palette write/free paths, `timer_entity_enable_wrapper` (`0008:d3ba`) is named, and seg064 one-shot gate helpers around `0x3b72/0x3b73` are documented with conservative comments while keeping speculative naming deferred. +- Constructor-lane semantics tightened further: `entity_set_update_period_and_reschedule` (`0008:d27e`) and `palette_buffer_alloc_copy_from_source` (`0009:7905`) are now named, and both `0x4588` callback emit callsites (`000d:9d5e`, `000d:a3b7`) now have explicit payload-pair annotations in disassembly. ### Current Focus 1. Finish Priority 0 refinement by promoting more exact segment rows where notes already support a verified foothold. -2. Continue the Priority 1 pass by tracing the remaining caller-side `0x4588` / `0009:b1c3` object-role evidence rather than the already-recovered allocator mechanics. +2. Continue the Priority 1 pass by tracing remaining caller-side `0x4588` / `0009:b1c3` object-role evidence now that the `000d:7e00` constructor/destructor path is readable. ### Next Resume Point 1. Update the ledger for any additional exact segment anchors found in the reset/cache or render-path notes. -2. Recover or classify the still-unbounded callback callers around `000a:b9e5` / `000a:ba66` and `000d:9d5e` / `000d:a3b7`; they now look like the best remaining cheap wins on the `0x4588` path. -3. Revisit the nearby install/lifecycle gap around `000a:493e` / `000a:4a56` only if those caller windows need a stronger object-owner model. -4. Continue `ASYLUM.24` only after the `0x4588` path has no further cheap wins. +2. Continue caller-role classification inside `entity_cleanup_resources_and_dispatch` (contains both `000d:9d5e` and `000d:a3b7`) and map how it relates to `runtime_callback_object_phase_finalize` + `allocator_head_finalize_sweep`. +3. Promote additional field-level names inside `entity_cleanup_resources_and_dispatch` and `entity_dispatch_entry_init_runtime_state` now that update-period/palette-copy helpers are named. +4. Classify remaining callback-role semantics for the `0x4588` object (especially vtable `+0x08` vs `+0x0c` intent and phase/event meaning) using the confirmed payload pairs `+0x12d/+0x12f` and `+0x74f/+0x751`. +5. Continue `ASYLUM.24` only after the `0x4588` path has no further cheap wins. ### Headline Estimate diff --git a/smoke_mcp_new_features.py b/smoke_mcp_new_features.py new file mode 100644 index 0000000..d0eff22 --- /dev/null +++ b/smoke_mcp_new_features.py @@ -0,0 +1,71 @@ +import urllib.parse +import urllib.request + +BASE = "http://127.0.0.1:8080" + + +def excerpt(text, max_len=180): + s = (text or "").replace("\r", " ").replace("\n", " ").strip() + if len(s) > max_len: + return s[: max_len - 3] + "..." + return s + + +def http_get(path, params=None): + params = params or {} + query = urllib.parse.urlencode(params) + url = BASE + path + (("?" + query) if query else "") + with urllib.request.urlopen(url, timeout=10) as resp: + return resp.read().decode("utf-8", errors="replace") + + +def http_post(path, data=None): + data = data or {} + body = urllib.parse.urlencode(data).encode("utf-8") + req = urllib.request.Request(BASE + path, data=body, method="POST") + with urllib.request.urlopen(req, timeout=10) as resp: + return resp.read().decode("utf-8", errors="replace") + + +def run_test(name, func): + try: + result = func() + print("PASS", name, "::", excerpt(result)) + except Exception as e: + print("FAIL", name, "::", str(e)) + + +readonly_script = "\n".join( + [ + "println('program=' + currentProgram.getName())", + "if currentAddress is not None:", + " println('addr=' + currentAddress.toString())", + "else:", + " println('addr=')", + ] +) + + +if __name__ == "__main__": + run_test("get_project_access_info", lambda: http_get("/get_project_access_info")) + run_test("read_region", lambda: http_get("/read_region", {"start": "0007:28ce", "end": "0007:28dd"})) + run_test("disassemble_region", lambda: http_get("/disassemble_region", {"start": "0007:28ce", "end": "0007:2900"})) + run_test("get_instruction_window", lambda: http_get("/get_instruction_window", {"address": "0007:28ce", "before_count": 2, "after_count": 3})) + run_test("search_instructions", lambda: http_get("/search_instructions", {"query": "0007:28ce", "mode": "address", "limit": 5})) + run_test("get_data_uses", lambda: http_get("/get_data_uses", {"address": "0007:28ce", "include_operand_scans": "true", "limit": 10})) + run_test("analyze_function_boundaries", lambda: http_get("/analyze_function_boundaries", {"start": "0007:28c0", "end": "0007:2910"})) + run_test("open_current_program_readonly", lambda: http_post("/open_current_program_readonly", {"version": -1, "make_current": "false"})) + run_test("run_readonly_script", lambda: http_post("/run_readonly_script", {"script_text": readonly_script})) + run_test("apply_program_edit_plan_dry", lambda: http_post("/apply_program_edit_plan", {"plan": "rename_function_by_address|0007:28ce|tmp_name", "dry_run": "true"})) + + run_test("create_function_by_address_invalid", lambda: http_post("/create_function_by_address", { + "entry": "invalid", + "name": "tmp", + "body_start": "invalid", + "body_end": "invalid", + "comment": "smoke", + })) + run_test("delete_function_by_address_invalid", lambda: http_post("/delete_function_by_address", {"entry": "invalid"})) + run_test("rename_functions_by_address_invalid_batch", lambda: http_post("/rename_functions_by_address", {"batch": "not_a_valid_batch_line"})) + run_test("set_comments_invalid_batch", lambda: http_post("/set_comments", {"batch": "not_a_valid_batch_line"})) + run_test("set_decompiler_comments_invalid_batch", lambda: http_post("/set_decompiler_comments", {"batch": "not_a_valid_batch_line"}))