Fruit Ninja - smileyCTF 2025
#smileyCTF_2025 #verilog
verilogのコードが与えられるが、単にRISCV CPUを実装しているだけ
RISCVのバイナリとして解析すれば良い
code:python
with open('ram_file.mem', 'r') as f:
f.readline()
line = f.readline()
ram = int(it, 16) for it in line.split(' ')
i = iter(ram)
T = [next(i) for _ in range(64) for _ in range(50)]
v = []
for i in range(len(T)):
for k in range(len(Ti)):
s = sum([Tij if j < k else -Tij for j in range(len(Ti))])
if s & 0xffffffff == 0:
v.append(k)
break
flag = ''
for i in range(0, len(v)-2, 4):
v1 = ((vi+1 << 6) & 0b11000000) | ((vi+0 >> 0) & 0b00111111)
v2 = ((vi+2 << 4) & 0b11110000) | ((vi+1 >> 2) & 0b00001111)
v3 = ((vi+3 << 2) & 0b11111100) | ((vi+2 >> 4) & 0b00000011)
flag += chr(v1) + chr(v2) + chr(v3)
flag += '}'
print(flag)