keygenme-py
Last updated
Was this helpful?
Last updated
Was this helpful?
keygenme-trial.py
The program contains a variable called key_part_static1_trial
that has the first part of the flag: picoCTF{1n_7h3_|<3y_of_
. The portion of the flag we need to find if key_part_dynamic1_trial
.
When the user chooses option "c", the enter_license
function is called. It calls check_key
with the user provided key (the flag) and bUsername_trial
, which is b"GOUGH"
.
The check_key
functions contains the code that fills in the key_part_dynamic1_trial
. It takes the hexdigest of the sha256 hash of b"GOUGH"
and then selects a certain character by an indexing to a certain point on that string.
We can simply find the hexdigest of the sha256 hash of b"GOUGH"
and then get the characters at the positions it checks: "".join([hashlib.sha256(b"GOUGH").hexdigest()[x] for x in [4,5,3,6,2,7,1,8]])
. This is the missing section of the flag.
We can now complete the flag: picoCTF{1n_7h3_|<3y_of_xxxxxxxx}
--> picoCTF{1n_7h3_|<3y_of_f911a486}
picoCTF{1n_7h3_|<3y_of_f911a486}