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