Files
vt1200/dwt/evidence/live-run/debug-live.log
T
SDD 1e5c095b72 dwt: reverse the dwt_prf challenge; remote poke/jump now works
The firmware transforms the reply (16-round Feistel per 8-byte record) and
compares it with the host-order copy of the challenge, so the answer is
swap4(inverse_transform(swap4(challenge))).  The font stages are memcpy in
this path because dwt_prf initialises only mode 1.

challenge.py implements the transform and its inverse using the firmware's
fixed key/SP table; solve.py answers the challenge over TCP using the
unmodified exploit client.  320 forward vectors, the firmware's own inverse
and three live sessions validate it.  A live run with no breakpoints poked
the 82-byte hello-world payload and ran it: MAGIC DEAD/BEEF/0400, VRAM
1024/1024.  Notes and evidence under dwt/notes and dwt/evidence.
2026-10-18 02:36:23 +03:00

44 lines
1.2 KiB
Plaintext

MAME debugger version 0.289 (mame0289-dirty)
Currently targeting vt1200 (VT1200 X terminal (v2.2 firmware))
Breakpoint 1 set
Breakpoint 2 set
Breakpoint 3 set
Breakpoint 4 set
Breakpoint 5 set
Breakpoint 6 set
Breakpoint 7 set
Breakpoint 8 set
Breakpoint 9 set
LIVE2 accept_debug_conn entry pc=3F58AD60
LIVE2 dispatcher entry pc=3F59F320
LIVE2 dwt_prf challenge entry pc=3F59FDC0
LIVE2 challenge sent a13=007AE7B0 wire=3DB79CF3.8EB50000.C0A86302.3EB794F3 host=F39CB73D.0000B58E.0263A8C0.F394B73E
LIVE2 pre-transform reply=71C08104.AF81012D.BE5884F7.634E8818
LIVE2 memcmp-args expecting=F39CB73D.0000B58E.0263A8C0.F394B73E got=F39CB73D.0000B58E.0263A8C0.F394B73E
LIVE2 challenge memcmp a8=00000000 (0=equal)
LIVE2 accept_debug_conn entry pc=3F58AD60
LIVE2 dispatcher entry pc=3F59F320
LIVE2 dwt_prf challenge entry pc=3F59FDC0
LIVE2 challenge sent a13=007AE7B0 wire=ECB9DDEA.25B70100.C0A86302.EDB9D5EA host=EADDB9EC.0001B725.0263A8C0.EAD5B9ED
LIVE2 pre-transform reply=B5DE07BF.872DCB1A.323728E1.8B9B13E4
LIVE2 memcmp-args expecting=EADDB9EC.0001B725.0263A8C0.EAD5B9ED got=EADDB9EC.0001B725.0263A8C0.EAD5B9ED
LIVE2 challenge memcmp a8=00000000 (0=equal)
LIVE2 rdebug_poke entry pc=3F5A1B50
LIVE2 rdebug_jump entry pc=3F5A3890