feat(ghidra): configurable import language and analysis seeds (#1667)
* feat(ghidra): configurable import language and analysis seeds REA_GHIDRA_LANGUAGE_ID and REA_GHIDRA_COMPILER_SPEC_ID set the import language when the header cannot identify the compiler (for example, Borland C++ PE images). REA_GHIDRA_SEED_FILE seeds functions, code and labels before auto-analysis, for code reached only through computed jumps or data. Both are validated before launch, recorded in the analysis profile and verified in the bridge handshake. * fix(ghidra): parse language XML and preserve seed ordering * test(ghidra): use explicit platform paths for seed launch checks * fix(javascript): retain cleanup failure reason in error causes --------- Co-authored-by: morluto <76467478+morluto@users.noreply.github.com>
This commit is contained in:
1 parent
c1efa6467d
commit
af88184eee
27 files changed
+1827
-20
No files matched your search
@@ -123,7 +123,11 @@ it("preserves a failed owned cleanup retry when the next caller cancels before a
|
||||
const file = source("app.mjs", "export const observed = 7;");
|
||||
const first = await worker.analyze(file, 100);
|
||||
if (!first.ok) throw first.error.error;
|
||||
await expect(worker.close()).rejects.toBeInstanceOf(ProviderCleanupError);
|
||||
const closing = worker.close();
|
||||
await expect(closing).rejects.toBeInstanceOf(ProviderCleanupError);
|
||||
await expect(closing).rejects.toMatchObject({
|
||||
cause: { message: "Fixture owned cleanup is unavailable" },
|
||||
});
|
||||
const interrupted = await next.analyze(file, 100, controller.signal);
|
||||
if (interrupted.ok)
|
||||
throw new Error("Unreleased ownership must block subsequent analysis");
|
||||
|
||||
Reference in new issue
Block a user