mirror of
https://github.com/morluto/rea
synced 2026-10-28 15:07:26 -04:00
feat(il2cpp): link native methods and export Ghidra seeds
Link IL2CPP metadata names to native addresses and types through shared CLI/MCP workflows, with bounded queries and atomic Ghidra seed export. Preserve the original implementation by 8rulerstar and follow-up correctness, resource, provenance, and CI dependency repairs. Verified against real Windows/Android artifacts, independent references, actual Ghidra, and focused CLI/MCP tests. Fixes #5112.
This commit is contained in:
@@ -4,6 +4,7 @@ import type {
|
||||
} from "../domain/il2cpp/il2cppMetadata.js";
|
||||
import {
|
||||
checkRange,
|
||||
readIndex,
|
||||
Il2cppMetadataFormatFailure,
|
||||
} from "./Il2cppMetadataFormat.js";
|
||||
import type { MetadataTables } from "./Il2cppMetadataFile.js";
|
||||
@@ -132,6 +133,22 @@ function* readNamed<
|
||||
),
|
||||
owners[index]!,
|
||||
);
|
||||
if (
|
||||
tables.linkFacts !== undefined &&
|
||||
(name === "fields" || name === "parameters")
|
||||
) {
|
||||
const column =
|
||||
name === "fields"
|
||||
? tables.linkFacts.fieldTypes
|
||||
: tables.linkFacts.parameterTypes;
|
||||
column[index] = readIndex(
|
||||
tables.bytes,
|
||||
section.offset +
|
||||
index * tables.members.recordBytes[name] +
|
||||
(name === "fields" ? 4 : 8),
|
||||
tables.widths.type,
|
||||
);
|
||||
}
|
||||
tables.onRow?.(row);
|
||||
rows.push(row);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user