baby-goes-re
golang reverse engineering challenge
Last updated
golang reverse engineering challenge
Last updated
flag_length = 53 # length of the flag
# Encrypted memory dump as a string
encoded_file = "encoded_dump.bin"
# Read all bytes from the file
with open(encoded_file, "rb") as f:
encoded_bytes = f.read()
r8 = 0
rsi = 0
result_bytes = []
for i in range(flag_length):
offset = r8 + rsi + 0x1337
if offset >= len(encoded_bytes):
print(f"Error: offset {offset} exceeds encoded_bytes length ({len(encoded_bytes)})")
break
result_bytes.append(encoded_bytes[offset])
next_rsi = r8 + rsi + 0x1338
r8 += 0x33
rsi = next_rsi
flag = bytes(result_bytes).decode('ascii', errors='replace')
print("Decrypted flag:", flag)