We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
号称不限速的阿里网盘推出了分享功能,但对文件的格式有限制,比如不能分享zip、mp3、flac等格式,但可以分享png、bmp、jpg、txt等格式,我试图通过一些手段来突破这个限制,于是我做了以下测试及推断:
66 74 79 70 69 73 6F 6D
66 4C 61 43
所以我的思路是(以分享flac文件举例):将文件开头的字节替换成其他格式的,比如42 4D(bmp格式),然后将后缀更改成.bmp,这样就可以分享了,缺点是不能在线预览,只能下载下来后再通过相反的方式将文件的头几个字节替换成flac的才可以打开文件。
42 4D
.bmp
文件开头的字节如果是替换,缺点是文件变成正确的格式时,需要知道先前文件开头的内容是多少,优点是——快。
(原flac文件)
(修改后的flac文件,文件后缀为bmp)
以php为例,代码如下:
// flac 替换成 bmp $f = fopen('1.flac', 'r+b'); fwrite($f, pack('C*', 0x42, 0x4D)); fclose($f); rename('1.flac', '1.bmp'); // 还原 flac $f = fopen('1.bmp', 'r+b'); fwrite($f, pack('C*', 0x66, 0x4C)); fclose($f); rename('1.bmp', '1.flac');
文件开头的字节如果是插入,缺点是要创建一个新的文件,或者将文件的内容全部读取到内存中,原因是无法直接在文件的开头插入一段内容,优点是不需要知道正确的文件开头字节,只需要将文件的前几个字节删除就好了。
// flac 替换成 bmp $src = fopen('1.flac', 'rb'); $dest = fopen('1.bmp', 'wb'); fwrite($dest, pack('C*', 0x42, 0x4D)); stream_copy_to_stream($src, $dest); fclose($src); fclose($dest); // 还原 flac $src = fopen('1.bmp', 'rb'); $dest = fopen('1.flac', 'wb'); fseek($src, 2); stream_copy_to_stream($src, $dest); fclose($src); fclose($dest);
(peace)
The text was updated successfully, but these errors were encountered:
No branches or pull requests
绕过阿里网盘分享文件的格式限制
号称不限速的阿里网盘推出了分享功能,但对文件的格式有限制,比如不能分享zip、mp3、flac等格式,但可以分享png、bmp、jpg、txt等格式,我试图通过一些手段来突破这个限制,于是我做了以下测试及推断:
66 74 79 70 69 73 6F 6D
开头的就是mp4格式,以66 4C 61 43
开头的就是flac格式的文件,具体可以参考维基百科 https://en.wikipedia.org/wiki/List_of_file_signatures所以我的思路是(以分享flac文件举例):将文件开头的字节替换成其他格式的,比如
42 4D
(bmp格式),然后将后缀更改成.bmp
,这样就可以分享了,缺点是不能在线预览,只能下载下来后再通过相反的方式将文件的头几个字节替换成flac的才可以打开文件。替换还是插入?
替换
文件开头的字节如果是替换,缺点是文件变成正确的格式时,需要知道先前文件开头的内容是多少,优点是——快。
(原flac文件)
(修改后的flac文件,文件后缀为bmp)
以php为例,代码如下:
插入
文件开头的字节如果是插入,缺点是要创建一个新的文件,或者将文件的内容全部读取到内存中,原因是无法直接在文件的开头插入一段内容,优点是不需要知道正确的文件开头字节,只需要将文件的前几个字节删除就好了。
以php为例,代码如下:
(peace)
The text was updated successfully, but these errors were encountered: