Destination: Defcon CTF Quals 2011 - Forensics 100 Your tour guides: fLa & p4fg [vImeDhuSocHbarN] Intro ===== Classic image analyze, best way to get started! File ==== File: f100_fb8149b6f6eaef95d38 PNG image, 19025 x 1, 8-bit/color RGBA, non-interlaced Analyze ======= A long row with pixels (including alpha), for sure this is a image puzzle, lets get started. Da pixles need to be rearranged to a block, lets fire up perl with some imagemagick! Da c0de ======= #!/usr/bin/perl my $image = shift; my $lineLength = shift; my $imageSize = `convert $image -verbose /dev/null | awk '{print \$3}'`; my($imageWidth,$imageHeight) = split("x", $imageSize); my $appendFileName = "$image-linebreaked-$lineLength"; my $allSlices = " "; foreach my $chop (0..$imageWidth/$lineLength) { system("convert -crop ".$lineLength."x+".$lineLength*$chop."+0 $image $image-slice-$chop"); $allSlices .= $image."-slice-".$chop." "; } foreach my $chop (0..$imageWidth/$lineLength) { system("convert -append $allSlices $appendFileName"); } system("rm $allSlices"); print("Done!\n"); Solution ======== Aligning up the blue pixels we find the flag f100.pl f100_fb8149b6f6eaef95d38 450 thankYouSirPleasemayIhaveAnother