Files
Embedded-Hacking/0x0001a_stack/0x0001a_stack.c
T
Kevin Thomas 35eacd2c0e Course update: lessons, CTF 0x0011a_cb, and documentation
- 0x0011a_cb (Operation Dark Vector): nation-state CTF redesign with an
  AES-128-ECB sealed target and a plaintext launch origin; RP2350 firmware with
  bearing-driven servo, tri-color LEDs, GSV stats, and a realistic no-fix path
- docs: story-driven classified brief, GDB and Ghidra tutorials with deep
  step-throughs, regenerated artifacts and PDFs
- scripts: docstring standard, AES per-student randomizer, telemetry monitor
- week 3 to week 5 lessons: Ghidra patching tutorial, CMSIS-SVD hardware RE,
  double floating-point and GPIO architecture chapters, README structure
2026-09-27 14:18:56 -04:00

24 lines
637 B
C

#include <stdio.h>
#include "pico/stdlib.h"
int main()
{
stdio_init_all();
while (true) {
__asm volatile(
// Save a low register and the link register.
"push {r4, lr}\n"
// Intentionally unordered: the encoded list is still r2, r3, r6.
"push {r3, r2, r6}\n"
// Thumb PUSH cannot encode high registers r8-r12.
"stmdb sp!, {r9, r10}\n"
// Restore each group in reverse order to return SP to its start.
"ldmia sp!, {r9, r10}\n"
"pop {r2, r3, r6}\n"
"pop {r4, lr}\n"
::: "memory");
}
}