mirror of
https://github.com/morluto/rea.git
synced 2026-10-29 02:45:58 +00: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:
1 parent
e50a271c72
commit
52d1a72af0
43 files changed
+5060
-368
No files matched your search
@@ -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