WEEK11-BN.md/.pdf mirroring WEEK04-BN (two examples): 0x0023_structures and
0x0026_functions, each with a dynamic then static pass. Static swaps the flattened
LED pin immediates (LED1<->LED3) and renames a string; dynamic forges the IR key
live. Notes the RP2350 SVD lives in WEEK04. README links it.
WEEK10-BN.md/.pdf mirroring WEEK04-BN (two examples): static 0x001d (strings
1->2, one->fun, angle 180->30, delay 500->100) and dynamic 0x0020 (cmp keys
1/2->x/y, angle 180->30), each with a dynamic then static pass. Notes the RP2350
SVD lives in WEEK04. README links it.
WEEK09-BN.md/.pdf mirroring the -BN series: build/flash/symbol map, load the raw
.bin, dynamic (break at the arithmetic printf, live r1=99) then static (resolve
functions incl. dht11.c, patch arithmetic 32->63, DHT11 scaling 0.1f->5.0f at
0x10000438). Notes the RP2350 SVD lives in WEEK04. README links it.
WEEK07-BN.md/.pdf mirroring the -BN series: build/flash/symbol map, load the raw
.bin, dynamic (break at the FAV_NUM printf, live r1=43) then static (resolve
functions incl. lcd_1602.c, patch FAV_NUM 2a->2b, OTHER_FAV_NUM movw 39->40, LCD
'Reverse'->'Exploit'). README links it.
WEEK06-BN.md/.pdf mirroring WEEK04-BN: build/flash/symbol map, load the raw .bin,
dynamic (GDB MI break at the first printf, live r1=43) then static (resolve
functions, patch 0x10000264 2a->2b, invert the button logic 0x10000288 01->00,
export/convert/flash). README links it.
New WEEK05-BN.md/.pdf mirroring WEEK04-BN: build/flash/symbol map, load the raw
.bin, dynamic (GDB MI break + live double hack) then static (resolve functions,
patch the 42.5->99.0 one-word and 42.52525->99.99 two-word constants, export,
convert, flash) for both 0x000e float and 0x0011 double. README links it.
The Pico extension's Arm GNU Toolchain includes arm-none-eabi-gdb (used by the
GDB / GDB MI labs) -- call it out. Keep the identical cmake build for all OSes but
give full Windows / macOS / Linux compile+flash blocks, plus the explicit
PICO_SDK_PATH/PICO_TOOLCHAIN_PATH fallback.
Install everything for the course without a VM: VS Code Pico extension (SDK,
Arm toolchain, picotool, OpenOCD), Binary Ninja Personal, Ghidra + JDK 21, and a
serial monitor. Ends with a compile + SWD flash example for 0x0001 hello, world.