Dig deep into the file and find the flag.
#file hiddentation#./patch.py hiddentation r 0x0 0x280#./luks_parser.py hiddentation#cp hiddentation hiddentation.copy#./patch.py hiddentation.copy w 0x3 53#./patch.py hiddentation.copy w 0x220 00ac71f3#./patch.py hiddentation.copy w 0x248 00000708#./patch.py hiddentation.copy r 0x0 0x280#file hiddentation.copy#cryptsetup luksDump hiddentation.copy#while read password; do echo $password; echo -n $password | cryptsetup open --type luks hiddentation.copy volume --key-file - && break; done <<< "`curl --silent http://whnt.com/2014/01/22/the-25-most-common-passwords-of-2013/ | grep '. ' | awk '{print $2}'`"#fdisk -l /dev/mapper/volume#gparted /dev/mapper/volume## offset = 86016 (First sector) * 512 bytes/sector = 44040192 #losetup --offset 44040192 /dev/loop1 /dev/mapper/volume#mount /dev/loop1 /mnt#cat /mnt/flag.txt#testdisk /dev/loop1#dd if=/dev/loop1 of=ntfs skip=69632 count=34816#umount /dev/loop1#losetup -d /dev/loop1#losetup /dev/loop1 ntfs#mount /dev/loop1 /mnt#cat /mnt/readme.txt#umount /dev/loop1#losetup -d /dev/loop1#ntfsundelete --scan ntfs#ntfsundelete --undelete --match flag.txt ntfs#cat flag.txt*#./rot.py -m tracks APAq986942o809qnn32n6987n7422771n53s59r5n1s02rq700ppr43p5196non749r 2>&1 | grep -e '\[' -e 13
References
http://testpurposes.net/2014/10/31/solucion-hiddentation-final-ctf-ncn-2014/
http://cryptsetup.googlecode.com/svn-history/r42/wiki/LUKS-standard/on-disk-format.pdf