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:
JANG BYUNGKUN authored and GitHub committed 2026-10-20 21:56:54 +08:00
1 parent e50a271c72
commit 52d1a72af0
43 files changed
+5060 -368

No files matched your search

@@ -0,0 +1,32 @@
import type { AnalysisError } from "../../domain/analysisErrorBase.js";
import type { Il2cppMetadata } from "../../domain/il2cpp/il2cppMetadata.js";
import type { Result } from "../../domain/result.js";
import type { ExecutionOptions } from "../AnalysisProvider.js";
/** Explicit file output, separate from read-only metadata inspection. */
export interface Il2cppSeedOutput {
readonly path: string;
readonly base?: string;
}
export interface Il2cppSeedReceipt {
readonly path: string;
readonly bytes: number;
readonly functions: number;
readonly folded: number;
readonly no_body: number;
readonly unknown: number;
}
/** Shared output workflow; adapters own file format and publication resources. */
export interface Il2cppSeedWriterPort {
check(
output: Il2cppSeedOutput,
options?: ExecutionOptions,
): Promise<Result<void, AnalysisError>>;
write(
report: Il2cppMetadata,
output: Il2cppSeedOutput,
options?: ExecutionOptions,
): Promise<Result<Il2cppSeedReceipt, AnalysisError>>;
close(): Promise<void>;
}