我正在尝试将随机字节添加到二进制(.exe)文件以使用php增加它的大小。 到目前为止我得到了这个:
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次可以吗?
答案 0 :(得分:2)
是的,多次循环fwrite()应达到同样的效果。
答案 1 :(得分:1)
我会试试这个:
$fp = fopen('test.exe', 'ab');
for ($i = 0, $i < 10000, $i++) {
fwrite($fp, 'a');
}
fclose($fp);
另外,如果您撰写的字符与NAP相符,我个人更愿意。 但是,如果它有效,它就有效......