mirror of
https://github.com/morluto/rea.git
synced 2026-10-26 17:35:11 +00:00
fix(ghidra): validate Windows control characters explicitly
This commit is contained in:
1 parent
8b5ae417f3
commit
4dccbecf06
3 files changed
+15
-9
No files matched your search
@@ -24,7 +24,7 @@
|
||||
<li><span><span class="tsd-kind-parameter">options</span>: <a href="../interfaces/ghidra_GhidraLauncher.GhidraHeadlessArgumentOptions.html" class="tsd-signature-type tsd-kind-interface">GhidraHeadlessArgumentOptions</a></span></li></ul></div>
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-keyword">readonly</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h4><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/ghidra/GhidraLauncher.ts#L250">src/ghidra/GhidraLauncher.ts:250</a></li></ul></aside></div></li></ul></section></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/ghidra/GhidraLauncher.ts#L256">src/ghidra/GhidraLauncher.ts:256</a></li></ul></aside></div></li></ul></section></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
</div></section>
|
||||
<div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">GhidraHeadlessArgumentOptions</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="#bridgescriptpath">bridgeScriptPath</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#descriptorpath">descriptorPath</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#ghidralogpath">ghidraLogPath</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#projectroot">projectRoot</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#scriptlogpath">scriptLogPath</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#targetpath">targetPath</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/ghidra/GhidraLauncher.ts#L240">src/ghidra/GhidraLauncher.ts:240</a></li></ul></aside>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/ghidra/GhidraLauncher.ts#L246">src/ghidra/GhidraLauncher.ts:246</a></li></ul></aside>
|
||||
<section class="tsd-panel-group tsd-index-group">
|
||||
<section class="tsd-panel tsd-index-panel">
|
||||
<details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
|
||||
@@ -38,32 +38,32 @@
|
||||
<h3 class="tsd-anchor-link" id="bridgescriptpath"><code class="tsd-tag">Readonly</code><span>bridge<wbr/>Script<wbr/>Path</span><a href="#bridgescriptpath" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
||||
<div class="tsd-signature"><span class="tsd-kind-property">bridgeScriptPath</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/ghidra/GhidraLauncher.ts#L243">src/ghidra/GhidraLauncher.ts:243</a></li></ul></aside></section>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/ghidra/GhidraLauncher.ts#L249">src/ghidra/GhidraLauncher.ts:249</a></li></ul></aside></section>
|
||||
<section class="tsd-panel tsd-member">
|
||||
<h3 class="tsd-anchor-link" id="descriptorpath"><code class="tsd-tag">Readonly</code><span>descriptor<wbr/>Path</span><a href="#descriptorpath" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
||||
<div class="tsd-signature"><span class="tsd-kind-property">descriptorPath</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/ghidra/GhidraLauncher.ts#L244">src/ghidra/GhidraLauncher.ts:244</a></li></ul></aside></section>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/ghidra/GhidraLauncher.ts#L250">src/ghidra/GhidraLauncher.ts:250</a></li></ul></aside></section>
|
||||
<section class="tsd-panel tsd-member">
|
||||
<h3 class="tsd-anchor-link" id="ghidralogpath"><code class="tsd-tag">Readonly</code><span>ghidra<wbr/>Log<wbr/>Path</span><a href="#ghidralogpath" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
||||
<div class="tsd-signature"><span class="tsd-kind-property">ghidraLogPath</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/ghidra/GhidraLauncher.ts#L245">src/ghidra/GhidraLauncher.ts:245</a></li></ul></aside></section>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/ghidra/GhidraLauncher.ts#L251">src/ghidra/GhidraLauncher.ts:251</a></li></ul></aside></section>
|
||||
<section class="tsd-panel tsd-member">
|
||||
<h3 class="tsd-anchor-link" id="projectroot"><code class="tsd-tag">Readonly</code><span>project<wbr/>Root</span><a href="#projectroot" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
||||
<div class="tsd-signature"><span class="tsd-kind-property">projectRoot</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/ghidra/GhidraLauncher.ts#L241">src/ghidra/GhidraLauncher.ts:241</a></li></ul></aside></section>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/ghidra/GhidraLauncher.ts#L247">src/ghidra/GhidraLauncher.ts:247</a></li></ul></aside></section>
|
||||
<section class="tsd-panel tsd-member">
|
||||
<h3 class="tsd-anchor-link" id="scriptlogpath"><code class="tsd-tag">Readonly</code><span>script<wbr/>Log<wbr/>Path</span><a href="#scriptlogpath" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
||||
<div class="tsd-signature"><span class="tsd-kind-property">scriptLogPath</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/ghidra/GhidraLauncher.ts#L246">src/ghidra/GhidraLauncher.ts:246</a></li></ul></aside></section>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/ghidra/GhidraLauncher.ts#L252">src/ghidra/GhidraLauncher.ts:252</a></li></ul></aside></section>
|
||||
<section class="tsd-panel tsd-member">
|
||||
<h3 class="tsd-anchor-link" id="targetpath"><code class="tsd-tag">Readonly</code><span>target<wbr/>Path</span><a href="#targetpath" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
||||
<div class="tsd-signature"><span class="tsd-kind-property">targetPath</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/ghidra/GhidraLauncher.ts#L242">src/ghidra/GhidraLauncher.ts:242</a></li></ul></aside></section></section></details></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/ghidra/GhidraLauncher.ts#L248">src/ghidra/GhidraLauncher.ts:248</a></li></ul></aside></section></section></details></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
||||
@@ -221,7 +221,13 @@ export const ghidraHeadlessCommand = (options: {
|
||||
};
|
||||
|
||||
const quoteWindowsBatchToken = (value: string): string => {
|
||||
if (value.length === 0 || /[\u0000\r\n"%^!&|<>]/u.test(value))
|
||||
if (
|
||||
value.length === 0 ||
|
||||
value.includes("\0") ||
|
||||
value.includes("\r") ||
|
||||
value.includes("\n") ||
|
||||
/["%^!&|<>]/u.test(value)
|
||||
)
|
||||
throw new GhidraLaunchError(
|
||||
"Windows Ghidra P0 paths cannot contain command-interpreter metacharacters",
|
||||
);
|
||||
|
||||
Reference in new issue
Block a user