Skip to main content

SMP

Challenge

Minecraft SMP forensic log parsing challenge. Extract block update coordinates and reconstruct visual clue.

Solution

Key solve code:

import regex as re
import matplotlib.pyplot as plt

def parse_data(filename):
positions = []
with open(filename, 'r') as file:
data = file.readlines()
for i, line in enumerate(data):
if "Block Update" in line:
try:
x = int(re.findall(r'-?\d+', data[i+4])[0])
y = int(re.findall(r'-?\d+', data[i+5])[0])
z = int(re.findall(r'-?\d+', data[i+6])[0])
positions.append((x, y, z))
except:
pass
return positions

os.system("cat ./smp.log | grep \"Block Update\" -A 8 > parsed_file.txt")
coords = parse_data("./parsed_file.txt")

Flag

gigem{w3_l0v3_pl1y1n_mc_smp}