Tags: reverse_engineering haskell reversing reverseengineering re ghc reverse-engineering 


Use fork of hsdecomp to understand that the following is occurring:

* Input string is taken from stdin
* Current UTC time is retrieved, converted to POSIX time, and floored to seconds
* POSIX time in seconds is used to seed a Xorshift32 generator function
* Each byte in the input string is XOR’d with a 0xff-masked integer generated from the Xorshift32 function
* Final output is converted to characters, packed together and printed

Original writeup (https://rainbowpigeon.me/posts/grey-cat-the-flag-qualifiers-2022/#-runtime-environment-2).