NPST 10. Alvesortering
Task description
De strenge alvene har skrevet ned et julekodeord, men i den ivrige sorteringen av pakker har det skjedd en horribel feil og alt er blitt rot! Ordet har blitt borte i det som ser ut som et virrvarr av tilfeldig tekst! Nå trenger de hjelp til å gjenfinne ordet. De har null peiling på hvor langt ordet er. Kan du å gjenfinne ordet?
- Mellomleder
Notes
- Rot
- Pakker
- Julekodeord
- Null
- Sortering
When sorting the contents of the file by letter I find that there are only one opening curly brace and only one closing curly brace. They are too far apart to form a flag. Both of them come after a null byte though. The file contents look a lot like something encoded with base64.
Maybe I need to sort by length after splitting by null bytes? Yes! Now I get a list that looks like this:
b'',
b'PfsWdw8E3oC',
b'S7cZPBkxdSToqc',
b'Txt7WQwxyMjxUM0nb',
b'{9GxFLUeEJVdN74RtjDc',
b'jnbJpeFbfNX1raROEVBSV3E',
b'uTld0fAJXiNCfKXBpUdM7zAAea',
b'lSYmu1WnzbZ8knnGHo1D4QJSPIHea',
b'esKkf1r2vQ9rM8YmolUQaTwgNQXIirXb',
b'nKBRXKcbhqnNgEgEZytzqEkMj28qTAahC6U',
b'iUlRR7QtH1LsLhGLfWkGVYC2lhweFW1OrkAYmP',
b'sKtcaELLBTgefdZg1kPlPHLWsYkGApey7cjnDzwM2',
b'smvaez0QaGTgZECQbLINFR7AtdgPrSdqDCHObmdhcuB7',
b'eneEcaltAaPUKhMNkCFZPRh2FE6Tolrj3rMbfIv4A4563xA',
b'Sl8siG7smqmAA4h1rzOWml5ZHCpEKjpUFUMDrj4YqXk3L2t58b',
b'tbcdcj8ryOYutkhsZ4r7WkgdsDrx32ooy9ky8Eup1o7Dmm7ZJGxmQ',
b'rr8k9Z5WIPtyPvqAihjieNR6A2smIJwq16vqBG3qY8lIuhEXQdi4ZOkR',
b'edOadsFymZmocRNgbfwllDVNTMNpOfkhfrfvWQ21gfOG61lZJV9Z1qUugay',
b'ntnpIVeWHQjAuSf7s2B1rDHrZREOLD8ZbF3PnLQ8rhuubQRarTUD5DGmNTE8x2',
b'gwGIkomr41mvKjuob7T6jY1VkwAn8Qq886ZU8OUVKkIfIfkZTP2bchWqgqaOEp9BX',
b'0ECbJWFBsI5OE24oWusXipGOPWVQAo5bJlVNVHjy9tekdobaJJLsG2DWKaD44Dvt46E4',
b'AaHesHr7D3tzrS7PeKwiEHiAHXyDIYolGCXqbRN35y97byPlY3gD8rBAsNrfp3N4xZU2RO3',
b'lDgBfXm5cl9O2tMGr1Sobka7rGanxjfY9VXLX4rH5OYgnBAYRVR6EUOqQYD4sed6YvilGBgcJx',
b'v32wFXWctuWv7HViCiakuAZOt6PBtRbLTf6iDCtGW4srXgZ6uAB8uBIyyvPI22hGUxMgGscEf2m7l',
b'}e5g2xsgM0DxcUTX73DWZigGtuY4CmPy3xN4c52DcU2UDxdg2WegrFuYGK7W5LAygqenX1Y6djNbGOZu',
b'ZrPvVldbgzmJf0Y1DMDGBuVDGPAkMcjGBtKxL2BPj7BdY3lzNLVqNGP0RhcW4Xh946O42zZRvEOJuCbKlSqxT6fMZyvSGH9Oo0dK',
b'sqih2wqFCtRuyrKevyrgOvMa1CLQ8oHofwnaeJD5OEA3o56XApnjB2wBO3Bi4G7QRe5OCw7zHawwwM8AbOvtnNB5xGxclpWwHbcz',
b'mc2BvrSOXpmx1C9SnIlzG5QZt9SEeSYcYu3u7Q2GutQSxuLG0EZaz1p8Lp92q1yAy7KVsP3hwHYPBqH3HS6Ssf38sXyVjIc0QwrG',
b'3cifCFgPit3igLZj71WhZhavZ7A803YP7XOOonRwmDoFdKbSvKzOOYbyoWvMwaQPpD2nLggv3bBoypA4gHTPTPyJpwXjOPmgcG3d',
b'ndPtu0WSKIJGNVriXItfh9Lcsai0wX6uz7DirC64mj5XWMRpI9YDSVGTnj71gwzBTLH4dvY6NdmDkNROMFjH34v8LKeKbOVssXYd',
b'7ZRmfbP2zmhE4arYQP6xLuwGcgbb3jt1LfkuXr1PmZNdKCdwD8aTtgqsxxQzqPtUslr4mQxVyQ9OhaaDFZrJnbO03xrzvkQFwnCV',
b'M8jf5QVDwB48wxmd2xFdQOwYqzBGc4mFzwqvTx9s5VKkvvJ8gibQfVoljJiZkpBVJO9NkdKvugh68H0Lj51XgQ56mU1LWQuMkOQr',
b'i9mEenmGvfrU3nvE4UaIKFNTk27YPN2yxjjFATYD9fcdLVhTi0cKXz3ga8uXPmVqVkGaclEbFGd8so9xSjsZvUVatQVhktFfn6zZ',
b'4VHcF2Vi7qoK6xpTR5ympS19oqriuCOe75pWKtpWaYBNr29L7SgodHPZ5gJqQgWXs9tixAqQKFpHkp1m65Ij8Mab01X3E2AFwf3u',
b'15AGNesJkaJ2lCydmfRqw0BC1M0mJUxnOlksqXKb4wdU6a9VOe5XaPOD6xxHN7vZlWgByrrqVBc4SaQmlx9Yg26COOtnKJlMvOcl',
b'PmzrVgqT70rYuFB78Rf9YdOvx0slYEGWhBTOyHTCdFL9QMkVkCE9HQTzdNjgZRhtj6PKCpQ8xtfM5dHKRdAecj7jVtRyUXaGsezX',
b'sSnUZJi7L41ClJ0VfZEioz95jJR8T1SRGkSSDuNjJBZnwTr9Gx0X7BEy3wVHMhjXlRmKuHKOCROPjocdmsxpoxA2kiZ0F6SSSZsj'
...From here we can see that the first letter in each line of the list corresponds to a letter in the flag. When we only print the first character of every line in the list, this is the output we get:
PST{julenisseStreng0Alv}Zsm3n7Mi41PsJSKpveiLW7xKTo75lRXwjT94nHMXTsureqRoTkATg8wlQh8LOeP7SdxmPlqnd3ZC71AmcbU17suo...Flag: PST{julenisseStreng0Alv}