PHPですべてをFにしたかった
すべてをFにしたかった結果
<?php require "F"; F('FFffFfF FFfffFF FFfFfff FFfFFFF Ffffff FfffFf FfFfFff FFfFfff FFffFfF Ffffff FfFffff FFffFfF FFFffFf FFffFFf FFffFfF FFfffFF FFFfFff Ffffff FffFffF FFfFFFf FFFffFF FFfFffF FFffFff FFffFfF FFFffFf FfFFFf FfFFFff FFfFFFf FfffFf FFFfFF FfFf');
The Perfect Insider.
最初の <?php と require を消す方法は何かないだろうか…。
あと小文字のfを使うのも妥協した。
やったこと
F = 1, f = 0 に見立てて、2進数 -> 10進数 -> 文字化して、最後にeval()しただけ。
F
<?php function F($str) { $str = str_replace('f', '0', $str); $str = str_replace('F', '1', $str); $ret = ""; foreach (explode(' ', $str) as $s) { $ret .= chr(bindec($s)); } eval($ret); }
F()に渡す文字列を作るのは、その逆をすればよい。
<?php $filepath = $argv[1]; $ret = []; foreach (file($filepath) as $line) { foreach (str_split($line) as $c) { $ret[] = decbin(ord($c)); } } $ret = implode(' ', $ret); $ret = str_replace('0', 'f', $ret); $ret = str_replace('1', 'F', $ret); echo $ret;