## TLDR: - since we can include an arbitrary number of files, we can find a set of 256 `sha256` hashes which are a basis for \\(\mathbb{Z}_2^{256}\\).  - change the python files in a way that it runs system and prints the flag.  - compute the hash of the new zip, \\(h_{new}\\), and find which set of files \\(I\\) of the basis to include in order that \\(h_{new} \oplus \bigoplus_{i\in I} sha256(i) = h_{orig}\\). This will pass the check for validity and get your flag.