mirror of
https://github.com/mytechnotalent/Embedded-Hacking.git
synced 2026-05-19 22:38:05 +02:00
93 lines
4.4 KiB
XML
93 lines
4.4 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 800">
|
|
<style>
|
|
.bg{fill:#0a0a0f}.pnl{fill:#12121a;stroke:#1a1a2e}.hdr{fill:#12121a}
|
|
.title{font:bold 42px 'Courier New',monospace;fill:#00ff41}
|
|
.sub{font:bold 28px 'Courier New',monospace;fill:#00d4ff}
|
|
.txt{font:24px 'Courier New',monospace;fill:#c0c0c0}
|
|
.dim{font:20px 'Courier New',monospace;fill:#888}
|
|
.grn{font:bold 24px 'Courier New',monospace;fill:#00ff41}
|
|
.red{font:bold 24px 'Courier New',monospace;fill:#ff0040}
|
|
.cyn{font:bold 24px 'Courier New',monospace;fill:#00d4ff}
|
|
.amb{font:bold 24px 'Courier New',monospace;fill:#ffaa00}
|
|
.badge{stroke:#00ff41;rx:14}
|
|
</style>
|
|
<rect class="bg" width="1200" height="800"/>
|
|
|
|
<!-- Title -->
|
|
<text x="600" y="52" text-anchor="middle" class="title">The Attack Plan</text>
|
|
<text x="600" y="88" text-anchor="middle" class="dim">Exploit Strategy</text>
|
|
|
|
<!-- Full Width: 4-Step Attack Flow -->
|
|
<rect x="30" y="105" width="1140" height="280" class="pnl" rx="8"/>
|
|
<text x="600" y="148" text-anchor="middle" class="sub">Attack Flow (4 Steps)</text>
|
|
<line x1="50" y1="163" x2="1150" y2="163" stroke="#1a1a2e"/>
|
|
|
|
<!-- Step 1 -->
|
|
<rect x="55" y="185" width="230" height="80" rx="6" fill="#0f0f1a" stroke="#00d4ff" stroke-width="2"/>
|
|
<text x="170" y="220" text-anchor="middle" class="cyn">1. Break at</text>
|
|
<text x="170" y="250" text-anchor="middle" class="cyn">printf call</text>
|
|
|
|
<!-- Arrow -->
|
|
<line x1="285" y1="225" x2="330" y2="225" stroke="#888888" stroke-width="3"/>
|
|
<polygon points="330,215 355,225 330,235" fill="#888888"/>
|
|
|
|
<!-- Step 2 -->
|
|
<rect x="360" y="185" width="230" height="80" rx="6" fill="#0f1a0f" stroke="#00ff41" stroke-width="2"/>
|
|
<text x="475" y="220" text-anchor="middle" class="grn">2. Write new</text>
|
|
<text x="475" y="250" text-anchor="middle" class="grn">string to SRAM</text>
|
|
|
|
<!-- Arrow -->
|
|
<line x1="590" y1="225" x2="635" y2="225" stroke="#888888" stroke-width="3"/>
|
|
<polygon points="635,215 660,225 635,235" fill="#888888"/>
|
|
|
|
<!-- Step 3 -->
|
|
<rect x="665" y="185" width="230" height="80" rx="6" fill="#1a1a0f" stroke="#ffaa00" stroke-width="2"/>
|
|
<text x="780" y="220" text-anchor="middle" class="amb">3. Set r0 to</text>
|
|
<text x="780" y="250" text-anchor="middle" class="amb">SRAM addr</text>
|
|
|
|
<!-- Arrow -->
|
|
<line x1="895" y1="225" x2="940" y2="225" stroke="#888888" stroke-width="3"/>
|
|
<polygon points="940,215 965,225 940,235" fill="#888888"/>
|
|
|
|
<!-- Step 4 -->
|
|
<rect x="970" y="185" width="180" height="80" rx="6" fill="#1a0f0f" stroke="#ff0040" stroke-width="2"/>
|
|
<text x="1060" y="220" text-anchor="middle" class="red">4. Continue</text>
|
|
<text x="1060" y="250" text-anchor="middle" class="red">execution</text>
|
|
|
|
<text x="600" y="340" text-anchor="middle" class="txt">printf reads r0, prints "hacky, world"!</text>
|
|
|
|
<!-- Bottom Left: Normal Flow -->
|
|
<rect x="30" y="405" width="560" height="375" class="pnl" rx="8"/>
|
|
<text x="310" y="448" text-anchor="middle" class="sub">Normal Flow</text>
|
|
<line x1="50" y1="463" x2="570" y2="463" stroke="#1a1a2e"/>
|
|
|
|
<rect x="55" y="485" width="500" height="42" rx="4" fill="#0a0a0f" stroke="#1a1a2e"/>
|
|
<text x="70" y="513" class="txt">LDR r0, ="hello"</text>
|
|
|
|
<rect x="55" y="537" width="500" height="42" rx="4" fill="#0a0a0f" stroke="#1a1a2e"/>
|
|
<text x="70" y="565" class="txt">BL printf</text>
|
|
|
|
<text x="310" y="630" text-anchor="middle" class="grn">Output:</text>
|
|
<text x="310" y="665" text-anchor="middle" class="txt">"hello, world"</text>
|
|
|
|
<text x="310" y="735" text-anchor="middle" class="dim">Prints original string</text>
|
|
|
|
<!-- Bottom Right: Hacked Flow -->
|
|
<rect x="620" y="405" width="550" height="375" class="pnl" rx="8"/>
|
|
<text x="895" y="448" text-anchor="middle" class="sub">Hacked Flow</text>
|
|
<line x1="640" y1="463" x2="1150" y2="463" stroke="#1a1a2e"/>
|
|
|
|
<rect x="645" y="485" width="500" height="42" rx="4" fill="#0a0a0f" stroke="#1a1a2e"/>
|
|
<text x="660" y="513" class="txt">LDR r0, ="hello"</text>
|
|
|
|
<rect x="645" y="537" width="500" height="42" rx="4" fill="#1a0f0f" stroke="#ff0040" stroke-width="2"/>
|
|
<text x="660" y="565" class="red">r0 = 0x20040000</text>
|
|
|
|
<rect x="645" y="589" width="500" height="42" rx="4" fill="#0a0a0f" stroke="#1a1a2e"/>
|
|
<text x="660" y="617" class="txt">BL printf</text>
|
|
|
|
<text x="895" y="682" text-anchor="middle" class="red">Output:</text>
|
|
<text x="895" y="717" text-anchor="middle" class="txt">"hacky, world"</text>
|
|
|
|
<text x="895" y="755" text-anchor="middle" class="dim">Prints our string</text>
|
|
</svg> |