PHPを使用してサイズを大きくするために、バイナリ(.exe)ファイルにランダムなバイトを追加しようとしています。これまでのところ、私はこれを得ました:
function junk($bs)
{
// string length: 256 chars
$tmp = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
for($i=0;$i<=$bs;$i++)
{
$tmp = $tmp . $tmp;
}
return $tmp;
}
$fp = fopen('test.exe', 'ab');
fwrite($fp, junk(1));
fclose($fp);
これは正常に動作し、結果のexeは機能しますが、ジャンク(100)を実行してファイルにさらにサイズを追加したい場合、PHPエラー「致命的なエラー:許可されたメモリサイズ...」が表示されます
エラーを発生させずにこれを達成するには、他にどのような方法がありますか? fwrite を xxx 回ループさせてもよろしいでしょうか?