38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
|
|
import sys
|
||
|
|
|
||
|
|
sys.path.insert(0, r"k:\mcp\GhidraMCP")
|
||
|
|
import bridge_mcp_ghidra as bridge
|
||
|
|
|
||
|
|
|
||
|
|
updates = [
|
||
|
|
{
|
||
|
|
"address": "1250:026c",
|
||
|
|
"name": "LoadEntryTableFromManifest",
|
||
|
|
"comment": (
|
||
|
|
"Constructor-selected cache-backend branch. Fetches a manifest-style buffer through the "
|
||
|
|
"object callback table, allocates the +0x10/+0x18 entry tables, and copies parsed entry "
|
||
|
|
"records into backend-owned storage."
|
||
|
|
),
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"address": "1250:0749",
|
||
|
|
"name": "InitFixedEntryTable",
|
||
|
|
"comment": (
|
||
|
|
"Constructor-selected cache-backend fallback branch. Uses the current entry count and a "
|
||
|
|
"caller-supplied fixed record size to allocate default entry records and seed the +0x10/+0x18 tables."
|
||
|
|
),
|
||
|
|
},
|
||
|
|
]
|
||
|
|
|
||
|
|
for update in updates:
|
||
|
|
print(f"=== {update['address']} -> {update['name']} ===")
|
||
|
|
print(
|
||
|
|
bridge.set_function_class(
|
||
|
|
function_address=update["address"],
|
||
|
|
class_path="Remorse::CacheBackendObject",
|
||
|
|
method_name=update["name"],
|
||
|
|
)
|
||
|
|
)
|
||
|
|
print(bridge.set_decompiler_comment(update["address"], update["comment"]))
|
||
|
|
print(bridge.get_function_by_address(update["address"]))
|
||
|
|
print()
|