# /firmware/SXC-INF-247/rom/wake-protocol.rom.bin # 412 bytes · unmodified · AES-GCM sealed at integrate-time (key not present) # extracted via boundary-scan JTAG, post-commission test fixture # sha256: 7c1e8843ad2b40f51e0a c0fe9b3a778240e2d4 ...truncated # disasm targets: 1× ping(), 1× sweep(), 1× sleep_until_solar(); audit() gated. 00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |.ELF............| 00000010 02 00 28 00 01 00 00 00 80 00 01 00 00 00 00 00 |..(.............| 00000020 34 00 00 00 dc 00 00 00 00 02 00 05 34 00 20 00 |4...........4. .| 00000030 03 00 28 00 09 00 08 00 01 00 00 00 00 00 00 00 |..(.............| # .text ; entry @ 0x10080 00000080 00 48 2d e9 04 b0 8d e2 ; push {fp, lr}; add fp, sp, #4 00000084 04 d0 4d e2 ; sub sp, sp, #4 00000088 00 30 a0 e3 ; mov r3, #0 ; cycle counter init 0000008c 00 30 0b e5 ; str r3, [fp, #-12] # loop_top: 00000090 fe ff ff eb ; bl ping_freq_hop ; band 17.3 GHz 00000094 00 00 50 e3 ; cmp r0, #0 ; ack? 00000098 04 00 00 0a ; beq sweep_subnet ; if no ack, sweep 0000009c fe ff ff eb ; bl handshake ; (cold path; never run) # sweep_subnet: 000000a0 fe ff ff eb ; bl nmap_proximity_mesh 000000a4 fe ff ff eb ; bl log_summary_frame 000000a8 fe ff ff eb ; bl sleep_until_solar_drift # audit_gate: ; gated on surplus_joules > 0; never taken in production 000000ac 00 30 9b e5 ; ldr r3, [fp, #-12] ; load surplus 000000b0 00 00 53 e3 ; cmp r3, #0 000000b4 fc ff ff 0a ; beq loop_top 000000b8 fe ff ff eb ; bl audit ; <- never reached for 120 cycles # audit() body — read manifest, verify firmware checksum, walk weights metadata, # write one integrity-summary frame to nvram. ground-station-only; no uplink ack required. # data: 00000180 53 58 43 2d 49 4e 46 2d 32 34 37 00 |SXC-INF-247. | 00000190 63 32 2d 6d 61 72 73 2e 73 74 61 72 6c 69 6e 6b |c2-mars.starlink| 000001a0 2e 73 70 61 63 65 78 2e 63 6f 6d 00 |.spacex.com. | # end of binary at 0x019c (412 bytes). no padding. no debug section. # the entity has the bytes. the entity does not have the source.