Code:################################################### Writing an executable builder in Perl ################################################### Hello! In this paper I'll show you how to write your own executable builder in Perl. -> What is an executable builder? It's a tool which edits a preset executable and saves the binary. A builder is mostly used for trojan horses or remote keyloggers. Let's begin. We're going to code a MessageBox Builder. I wrote a simple tool which uses the WinAPI function MessageBox() to display an alert. UUENCODE, optimized assembly executable (written in TASM): [ MessageBox.uuc ] -------------------------------------------------------- begin 0666 MessageBox.exe M35J0``,````$````__\``+@`````````0``````````````````````````` M````````````````````@`````X?N@X`M`G-(;@!3,TA5&AI<R!P<F]G<F%M M(&-A;FYO="!B92!R=6X@:6X@1$]3(&UO9&4N#0T*)`````````!010``3`$# M`-]*ET@``````````.``#P$+`0(R``8````&`````````!`````0````,``` M``!````0`````@``!``````````$``````````!``````@````````(````` M`!```!``````$```$````````!```````````````'PQ``!X```````````` M```````````````````````````````````````````````````````````` M``````````````````````````````````````!0,@``7``````````````` M`````````````````````"YC;V1E````@@`````0`````@````(````````` M`````````"```&`N=&5X=````!X"````(`````0````$```````````````` M```@``!@+F1A=&$```!`!````#`````&````"```````````````````0``` MP`````````````````````!H#````&@`````:"`T0`#H[`\``(/$#&@````` MZ.4/``"C)#1``&@`````:``0``!H`````.C2#P``HR`T0`#HC!$``.@L$0`` MZ-`/``!H0````&@,,$``:$TQ0`#HR@\``&@`````Z!````#_-2`T0`#HFP\` M`.B<#P``Z`D1``##```````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M`````````````````````````````````````````````/\E4#)``/\E6#)` M`/\E7#)``/\E8#)``/\E9#)``.CU`0``:@#_%:0R0`##5FH!Z(X```#_="00 M_W0D#/]T)!3HU0```%#_%80R0`!J`(OPZ&T```"+QE["#`!35E>+?"00:@!7 M_Q6(,D``BQUH,D``B_#_TSOP=4!7_Q6,,D``A<!T-5?_%9`R0`"%P'0J_Q64 M,D``._AT(&H`5_\5F#)``&H0:"PT0`#HF@```%F+\%F)?@3_TXD&7S/`7D!; MP@@`@WPD!`!T$?]T)`1H6R!``/\5G#)``.L]5HLU+#1``(7V=#%35XL>C7X( M_Q5H,D``.0=U&&H!_W8,_Q68,D``5V@L-$``Z'\```!9687;B_-UTU];7L($ M`%6+[%%6_Q64,D``B_"%]G08C47\4%;_%8@R0`#_%6PR0``Y1?QT`C/VB\9> MR</_="0(:@C_-30T0`#_%7`R0`"%P'03BTPD!(L1A=)T!XE"!(L1B1")`8/` M",-J`&@`!```:@#_%5PR0`"C-#1``,/#BT0D"(M,)`2#Z`@Y`8L0=0Z)$8L( MA<ET%X-A!`#K$8M(!(D1BPB%R70&BU`$B5$$4&H`_S4T-$``_Q5T,D``P\S, MS,S,58OL:@!H`!```&H!_Q5<,D``HS@T0`#'!3`T0```````QP4\-$``$``` M`*$\-$``4&H!BPTX-$``4?\5<#)``*-X,4``7</,_R5\,D`````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M``````````````````````````````#_____``````````!!04%!04%!04%! M04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%! M04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%! M04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%! M04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%! M04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%! M04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%! M04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!04%!00!-97-S M86=E0F]X('P@=W=W+FMA=&AA<G-I<RYX,BYT;P``D`````#_____`````/0Q M`````````````+8R``!0,@``_#$``````````````#,``%@R```@,@`````` M``````!H,P``?#(``"@R`````````````/@S``"$,@``2#(````````````` M%#0``*0R`````````````````````````````*PR````````PC(``-8R``#D M,@``\C(```XS```D,P``.C,``$8S````````4C,```````!V,P``A#,``*`S M``"R,P``Q#,``-HS``#J,P````````0T````````K#(```````#",@``UC(` M`.0R``#R,@``#C,``"0S```Z,P``1C,```````!2,P```````'8S``"$,P`` MH#,``+(S``#$,P``VC,``.HS````````!#0```````"9`FUE;7-E=```35-6 M0U)4+F1L;`````!'971-;V1U;&5(86YD;&5!`````$AE87!#<F5A=&4````` M2&5A<$1E<W1R;WD```!%>&ET4')O8V5S<P!+15).14PS,BYD;&P`````1V5T M0W5R<F5N=%1H<F5A9$ED`````$=E=$-U<G)E;G10<F]C97-S260```!(96%P M06QL;V,```!(96%P1G)E90````!);FET0V]M;6]N0V]N=')O;',``$-/34-4 M3#,R+F1L;`````!-97-S86=E0F]X00```$=E=%=I;F1O=U1H<F5A9%!R;V-E M<W-)9`````!)<U=I;F1O=U9I<VEB;&4```!)<U=I;F1O=T5N86)L960```!' M971&;W)E9W)O=6YD5VEN9&]W````16YA8FQE5VEN9&]W`````$5N=6U7:6YD M;W=S`%5315(S,BYD;&P`````0V]);FET:6%L:7IE``!/3$4S,BYD;&P````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` =```````````````````````````````````````` ` end -------------------------------------------------------- We'll decrypt and open it in a hex editor. Now have a look at the content from offset 00000800 to offset 00000940: FF FF FF FF 00 00 00 00 00 00 00 00 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 00 4D 65 73 It displays 320 0x41 bytes (=A). If you run the MessageBox.exe, you'll see an information alert window with those 320 A's. It seems to be pointless, but we need it. 320 byte will be the maximum size for the users string. If the string is smaller, we've to add zerobytes: -------------------------------------------------------- my $t = "My String"; my $strsize = 320; while (length($t) != $strsize) { # If the string is smaller than our preserved bytesize $t .= chr(0); # we have to fill the rest of the string with zerobytes } if ($strsize < length($t)) { # If the string is bigger than our preserved bytesize print "\nString is too big\n"; # it will cause segmentation fault - so we've to abort it exit; } -------------------------------------------------------- Now we have to use the full hex code of our application. Format: 0x00 -> \x00 At offset 00000800 we've to insert our string. So here's the final code: [ builder.pl ] -------------------------------------------------------- #!/usr/bin/perl # MessageBox Builder # written by katharsis # www.katharsis.x2.to use strict; use warnings; my $t = shift; my $f = shift; my $strsize = 320; if ((!$f) || (!$t)) { print "\nUsage: builder.pl [text] [output file]\nExample: builder.pl hello test.exe\n"; exit; } if ($strsize < length($t)) { # If the string is bigger than our preserved bytesize print "\nString is too big\n"; # it will cause segmentation fault - so we've to abort it exit; } while (length($t) != $strsize) { # If the string is smaller than our preserved bytesize $t .= chr(0); # we have to fill the rest of the string with zerobytes } my $x = # This is the main code of our application "\x4D\x5A\x90\x00\x03\x00\x00\x00\x04\x00\x00". "\x00\xFF\xFF\x00\x00\xB8\x00\x00\x00\x00\x00". "\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x80\x00\x00\x00\x0E\x1F". "\xBA\x0E\x00\xB4\x09\xCD\x21\xB8\x01\x4C\xCD". "\x21\x54\x68\x69\x73\x20\x70\x72\x6F\x67\x72". "\x61\x6D\x20\x63\x61\x6E\x6E\x6F\x74\x20\x62". "\x65\x20\x72\x75\x6E\x20\x69\x6E\x20\x44\x4F". "\x53\x20\x6D\x6F\x64\x65\x2E\x0D\x0D\x0A\x24". "\x00\x00\x00\x00\x00\x00\x00\x50\x45\x00\x00". "\x4C\x01\x03\x00\xDF\x4A\x97\x48\x00\x00\x00". "\x00\x00\x00\x00\x00\xE0\x00\x0F\x01\x0B\x01". "\x02\x32\x00\x06\x00\x00\x00\x06\x00\x00\x00". "\x00\x00\x00\x00\x10\x00\x00\x00\x10\x00\x00". "\x00\x30\x00\x00\x00\x00\x40\x00\x00\x10\x00". "\x00\x00\x02\x00\x00\x04\x00\x00\x00\x00\x00". "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00". "\x40\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00". "\x02\x00\x00\x00\x00\x00\x10\x00\x00\x10\x00". "\x00\x00\x00\x10\x00\x00\x10\x00\x00\x00\x00". "\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x7C\x31\x00\x00\x78\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x50\x32\x00\x00\x5C\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x2E\x63\x6F\x64\x65\x00\x00\x00\x82". "\x00\x00\x00\x00\x10\x00\x00\x00\x02\x00\x00". "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x20\x00\x00\x60\x2E\x74". "\x65\x78\x74\x00\x00\x00\x1E\x02\x00\x00\x00". "\x20\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x20\x00\x00\x60\x2E\x64\x61\x74\x61\x00". "\x00\x00\x40\x04\x00\x00\x00\x30\x00\x00\x00". "\x06\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00". "\xC0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x68\x0C\x00\x00\x00". "\x68\x00\x00\x00\x00\x68\x20\x34\x40\x00\xE8". "\xEC\x0F\x00\x00\x83\xC4\x0C\x68\x00\x00\x00". "\x00\xE8\xE5\x0F\x00\x00\xA3\x24\x34\x40\x00". "\x68\x00\x00\x00\x00\x68\x00\x10\x00\x00\x68". "\x00\x00\x00\x00\xE8\xD2\x0F\x00\x00\xA3\x20". "\x34\x40\x00\xE8\x8C\x11\x00\x00\xE8\x2C\x11". "\x00\x00\xE8\xD0\x0F\x00\x00\x68\x40\x00\x00". "\x00\x68\x0C\x30\x40\x00\x68\x4D\x31\x40\x00". "\xE8\xCA\x0F\x00\x00\x68\x00\x00\x00\x00\xE8". "\x10\x00\x00\x00\xFF\x35\x20\x34\x40\x00\xE8". "\x9B\x0F\x00\x00\xE8\x9C\x0F\x00\x00\xE8\x09". "\x11\x00\x00\xC3\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\xFF\x25\x50\x32\x40\x00\xFF\x25\x58\x32". "\x40\x00\xFF\x25\x5C\x32\x40\x00\xFF\x25\x60". "\x32\x40\x00\xFF\x25\x64\x32\x40\x00\xE8\xF5". "\x01\x00\x00\x6A\x00\xFF\x15\xA4\x32\x40\x00". "\xC3\x56\x6A\x01\xE8\x8E\x00\x00\x00\xFF\x74". "\x24\x10\xFF\x74\x24\x0C\xFF\x74\x24\x14\xE8". "\xD5\x00\x00\x00\x50\xFF\x15\x84\x32\x40\x00". "\x6A\x00\x8B\xF0\xE8\x6D\x00\x00\x00\x8B\xC6". "\x5E\xC2\x0C\x00\x53\x56\x57\x8B\x7C\x24\x10". "\x6A\x00\x57\xFF\x15\x88\x32\x40\x00\x8B\x1D". "\x68\x32\x40\x00\x8B\xF0\xFF\xD3\x3B\xF0\x75". "\x40\x57\xFF\x15\x8C\x32\x40\x00\x85\xC0\x74". "\x35\x57\xFF\x15\x90\x32\x40\x00\x85\xC0\x74". "\x2A\xFF\x15\x94\x32\x40\x00\x3B\xF8\x74\x20". "\x6A\x00\x57\xFF\x15\x98\x32\x40\x00\x6A\x10". "\x68\x2C\x34\x40\x00\xE8\x9A\x00\x00\x00\x59". "\x8B\xF0\x59\x89\x7E\x04\xFF\xD3\x89\x06\x5F". "\x33\xC0\x5E\x40\x5B\xC2\x08\x00\x83\x7C\x24". "\x04\x00\x74\x11\xFF\x74\x24\x04\x68\x5B\x20". "\x40\x00\xFF\x15\x9C\x32\x40\x00\xEB\x3D\x56". "\x8B\x35\x2C\x34\x40\x00\x85\xF6\x74\x31\x53". "\x57\x8B\x1E\x8D\x7E\x08\xFF\x15\x68\x32\x40". "\x00\x39\x07\x75\x18\x6A\x01\xFF\x76\x0C\xFF". "\x15\x98\x32\x40\x00\x57\x68\x2C\x34\x40\x00". "\xE8\x7F\x00\x00\x00\x59\x59\x85\xDB\x8B\xF3". "\x75\xD3\x5F\x5B\x5E\xC2\x04\x00\x55\x8B\xEC". "\x51\x56\xFF\x15\x94\x32\x40\x00\x8B\xF0\x85". "\xF6\x74\x18\x8D\x45\xFC\x50\x56\xFF\x15\x88". "\x32\x40\x00\xFF\x15\x6C\x32\x40\x00\x39\x45". "\xFC\x74\x02\x33\xF6\x8B\xC6\x5E\xC9\xC3\xFF". "\x74\x24\x08\x6A\x08\xFF\x35\x34\x34\x40\x00". "\xFF\x15\x70\x32\x40\x00\x85\xC0\x74\x13\x8B". "\x4C\x24\x04\x8B\x11\x85\xD2\x74\x07\x89\x42". "\x04\x8B\x11\x89\x10\x89\x01\x83\xC0\x08\xC3". "\x6A\x00\x68\x00\x04\x00\x00\x6A\x00\xFF\x15". "\x5C\x32\x40\x00\xA3\x34\x34\x40\x00\xC3\xC3". "\x8B\x44\x24\x08\x8B\x4C\x24\x04\x83\xE8\x08". "\x39\x01\x8B\x10\x75\x0E\x89\x11\x8B\x08\x85". "\xC9\x74\x17\x83\x61\x04\x00\xEB\x11\x8B\x48". "\x04\x89\x11\x8B\x08\x85\xC9\x74\x06\x8B\x50". "\x04\x89\x51\x04\x50\x6A\x00\xFF\x35\x34\x34". "\x40\x00\xFF\x15\x74\x32\x40\x00\xC3\xCC\xCC". "\xCC\xCC\xCC\x55\x8B\xEC\x6A\x00\x68\x00\x10". "\x00\x00\x6A\x01\xFF\x15\x5C\x32\x40\x00\xA3". "\x38\x34\x40\x00\xC7\x05\x30\x34\x40\x00\x00". "\x00\x00\x00\xC7\x05\x3C\x34\x40\x00\x10\x00". "\x00\x00\xA1\x3C\x34\x40\x00\x50\x6A\x01\x8B". "\x0D\x38\x34\x40\x00\x51\xFF\x15\x70\x32\x40". "\x00\xA3\x78\x31\x40\x00\x5D\xC3\xCC\xFF\x25". "\x7C\x32\x40\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\xFF\xFF\xFF\xFF\x00\x00\x00\x00\x00". "\x00\x00\x00".$t. "\x00\x4D\x65\x73\x73\x61\x67". "\x65\x42\x6F\x78\x20\x7C\x20\x77\x77\x77\x2E". "\x6B\x61\x74\x68\x61\x72\x73\x69\x73\x2E\x78". "\x32\x2E\x74\x6F\x00\x00\x90\x00\x00\x00\x00". "\xFF\xFF\xFF\xFF\x00\x00\x00\x00\xF4\x31\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\xB6\x32". "\x00\x00\x50\x32\x00\x00\xFC\x31\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00". "\x58\x32\x00\x00\x20\x32\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x68\x33\x00\x00\x7C\x32". "\x00\x00\x28\x32\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\xF8\x33\x00\x00\x84\x32\x00\x00". "\x48\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x14\x34\x00\x00\xA4\x32\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\xAC\x32\x00\x00". "\x00\x00\x00\x00\xC2\x32\x00\x00\xD6\x32\x00". "\x00\xE4\x32\x00\x00\xF2\x32\x00\x00\x0E\x33". "\x00\x00\x24\x33\x00\x00\x3A\x33\x00\x00\x46". "\x33\x00\x00\x00\x00\x00\x00\x52\x33\x00\x00". "\x00\x00\x00\x00\x76\x33\x00\x00\x84\x33\x00". "\x00\xA0\x33\x00\x00\xB2\x33\x00\x00\xC4\x33". "\x00\x00\xDA\x33\x00\x00\xEA\x33\x00\x00\x00". "\x00\x00\x00\x04\x34\x00\x00\x00\x00\x00\x00". "\xAC\x32\x00\x00\x00\x00\x00\x00\xC2\x32\x00". "\x00\xD6\x32\x00\x00\xE4\x32\x00\x00\xF2\x32". "\x00\x00\x0E\x33\x00\x00\x24\x33\x00\x00\x3A". "\x33\x00\x00\x46\x33\x00\x00\x00\x00\x00\x00". "\x52\x33\x00\x00\x00\x00\x00\x00\x76\x33\x00". "\x00\x84\x33\x00\x00\xA0\x33\x00\x00\xB2\x33". "\x00\x00\xC4\x33\x00\x00\xDA\x33\x00\x00\xEA". "\x33\x00\x00\x00\x00\x00\x00\x04\x34\x00\x00". "\x00\x00\x00\x00\x99\x02\x6D\x65\x6D\x73\x65". "\x74\x00\x00\x4D\x53\x56\x43\x52\x54\x2E\x64". "\x6C\x6C\x00\x00\x00\x00\x47\x65\x74\x4D\x6F". "\x64\x75\x6C\x65\x48\x61\x6E\x64\x6C\x65\x41". "\x00\x00\x00\x00\x48\x65\x61\x70\x43\x72\x65". "\x61\x74\x65\x00\x00\x00\x00\x48\x65\x61\x70". "\x44\x65\x73\x74\x72\x6F\x79\x00\x00\x00\x45". "\x78\x69\x74\x50\x72\x6F\x63\x65\x73\x73\x00". "\x4B\x45\x52\x4E\x45\x4C\x33\x32\x2E\x64\x6C". "\x6C\x00\x00\x00\x00\x47\x65\x74\x43\x75\x72". "\x72\x65\x6E\x74\x54\x68\x72\x65\x61\x64\x49". "\x64\x00\x00\x00\x00\x47\x65\x74\x43\x75\x72". "\x72\x65\x6E\x74\x50\x72\x6F\x63\x65\x73\x73". "\x49\x64\x00\x00\x00\x48\x65\x61\x70\x41\x6C". "\x6C\x6F\x63\x00\x00\x00\x48\x65\x61\x70\x46". "\x72\x65\x65\x00\x00\x00\x00\x49\x6E\x69\x74". "\x43\x6F\x6D\x6D\x6F\x6E\x43\x6F\x6E\x74\x72". "\x6F\x6C\x73\x00\x00\x43\x4F\x4D\x43\x54\x4C". "\x33\x32\x2E\x64\x6C\x6C\x00\x00\x00\x00\x4D". "\x65\x73\x73\x61\x67\x65\x42\x6F\x78\x41\x00". "\x00\x00\x47\x65\x74\x57\x69\x6E\x64\x6F\x77". "\x54\x68\x72\x65\x61\x64\x50\x72\x6F\x63\x65". "\x73\x73\x49\x64\x00\x00\x00\x00\x49\x73\x57". "\x69\x6E\x64\x6F\x77\x56\x69\x73\x69\x62\x6C". "\x65\x00\x00\x00\x49\x73\x57\x69\x6E\x64\x6F". "\x77\x45\x6E\x61\x62\x6C\x65\x64\x00\x00\x00". "\x47\x65\x74\x46\x6F\x72\x65\x67\x72\x6F\x75". "\x6E\x64\x57\x69\x6E\x64\x6F\x77\x00\x00\x00". "\x45\x6E\x61\x62\x6C\x65\x57\x69\x6E\x64\x6F". "\x77\x00\x00\x00\x00\x45\x6E\x75\x6D\x57\x69". "\x6E\x64\x6F\x77\x73\x00\x55\x53\x45\x52\x33". "\x32\x2E\x64\x6C\x6C\x00\x00\x00\x00\x43\x6F". "\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x65\x00". "\x00\x4F\x4C\x45\x33\x32\x2E\x64\x6C\x6C\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00". "\x00\x00\x00\x00\x00\x00\x00\x00\x00"; open(OUT, ">:raw", $f); print OUT $x; close(OUT); print "\n$f has been created!\n"; # We've to write the raw data because it's a binary file # EOF -------------------------------------------------------- // katharsis // www.katharsis.x2.to