Tags: reverse_engineering systemverilog 

Rating:

TL;DR
1. User controls the ram and can program the VM
2. Flag can be retrieved only in **emode**
3. **emode** can be entered by guessing 14 bits from /dev/urandom
4. Brute force those 14 bits and write the flag in the last 64-bytes of the ram
5. After the timeout, the VM will print the last 64-bytes of the ram, giving us the flag

Full writeup: https://sectt.github.io/writeups/CSAW21-quals/ncore/README

Original writeup (https://sectt.github.io/writeups/CSAW21-quals/ncore/README).