(For a more complete writeup: http://www.johnfren.ch/Black-Jack/)The goal here is to find "a strategy" to win 27 blackjack games in a row.You're given an encrypted rar file and a perl script which implements a blackjack game. If you win 27 games in a row (with at least one "blackjack" win), the game will decrypt the rar file, using the remaining cards in the deck to generate the key.This is an obvious indication that the solution will only work for a given deck order, which means you must need to do something to the PRNG which is used to shuffle it. The PRNG is seeded with time(). There's also a mysterious bit of text in the game's instructions which give a date (Sept. 28 2016) and timezone (GMT) but no time, as well as references in the description to "a blackjack event" of some kind. This is a hint that the 27-game winning streak can be achieved by seeding the PRNG with a time which falls on Sept 28 2016 (in GMT).After a few false starts, my solution to find the seed which lets you win was to change the PlayerMove subroutine to fork, and try both drawing a card (on one side of the fork) and standing (on the other). This is a super-simple way to just brute-force every possible game of blackjack for a given seed. if it's possible to reach the winning condition, one thread will make it and decrypt the flag; if not, all threads will die.I set this up to run with every possible timestamp which falls within Sept 28 2016 GMT. It took about an hour before it decrypted the flag.For details & code see the link.