特定の Web サイトからの埋め込みビデオへのプロキシ アクセスを探していました。これは、TOS に違反するためではなく、HTTPS サイトでコンテンツを提供できるようにするためです。
次のコードを使用して、swf オブジェクトを解凍および再圧縮することができました。
$input = file_get_contents("/tmp/swf.swf");
$header = substr($input, 0, 8);
$header_old = $header;
$data = substr($input, 8);
$header[0] = "F";
$data = gzuncompress($data);
//$data = str_replace('http://.../','https://localhost/',$data);
$data2 = $header_old.gzcompress($data);
file_put_contents($tmp."2.swf",$data2);
localhost で彼らの swf ファイルを表示すると、通常のエラー メッセージが表示されます。また、コメント行を含むコードを実行しても同じエラー メッセージが表示されます。
replace 関数のコメントを外すと、swf オブジェクトが異常な動作をします。また、出力を再圧縮せずに試してみましたが、結果は同様です。
これは、swf オブジェクトにある種のチェックサムがあるためでしょうか?