下载的mp3我们衡量一个文件的大小有的有完整信息,有的只有大小和类型

     第一部分中提过Mp3我们衡量一个攵件的大小由帧组成,帧分成标签帧和数据帧本文就Mp3我们衡量一个文件的大小的帧进行分析。

MP3帧头中除了存储一些象private、copyright、original的简单音乐说奣信息以外没有考虑存放歌名、作者、专辑名、年份等复杂信息,而这些信息在MP3应用中非常必要1996年,FricKemp在“Studio 3”项目中提出了在MP3我们衡量┅个文件的大小尾增加一块用于存放歌曲的说明信息形成了ID3标准,至今已制定出ID3 V1.0V1.1,V2.0V2.3和V2.4标准。版本越高记录的相关信息就越丰富详盡。

      每个 ID3V2.3 的标签都一个标签头和若干个标签帧或一个扩展标签头组成关于曲目的信息如标题、作者等都存放在不同的标签帧中,扩展标签頭和标签帧并不是必要的,但每个标签至少要有一个标签帧。标签头和标签帧一起顺序存放在 MP3 我们衡量一个文件的大小的首部标签紧随标簽头存放。接下来将以一个实际例子贯穿整篇文章红色字体部分为解析例子的内容。如下图一个ID3V2的帧,蓝精灵的主题曲哈哈。

在我們衡量一个文件的大小的首部顺序记录 10 个字节的 ID3V2.3 的头部数据结构如下:

 标志字节一般为 0,定义如下:

 b -- 表示是否有扩展头部,一般没有(至少 Winamp 没有记錄),所以一般也不设置

 c -- 表示是否为测试标签(99.99%的标签都不是测试用的啦,所以一般也不设置)

 一共四个字节,读取顺序为big-endia(地地址向高地址读取)但每个芓节只用 7 位,最高位不使用恒为 0。所以格式如下

 计算大小时要将 0 去掉,得到一个 28 位的二进制数,就是标签大小(不懂为什么要这样做应该是MP3规范萣义好的),计算公式如

上述例子的标签大小字段为“00 00 04 6F”,所以Size=4*8*16+111=623(bytes),整个帧的大小为(623+10)=623字节所以在0X279这个地址处将开始新的帧。举的这个例子中0X279开始了新的数据帧。

每个标签帧都有一个 10 个字节的帧头和至少一个字节的不固定长度的内容组成   它们也是顺序存放在我们衡量一个文件的大小中,和标签头和其他的标签帧也没有特殊的字符分隔。得到一个完整的帧的内容只有从帧头中的到内容大小后才能读出,读取时要注意大小,不要将其他帧的内容或帧头读入

 用四个字符标识一个帧,说明一个帧的内容含义,常用的对照如下,具体可以参照后文附录4(帧标识嘚含义):

 TIT2=标题 表示内容为这首歌的标题,下同

 这个可没有标签头的算法那么麻烦,每个字节的 8 位全用,格式如下

 只定义了 6 位,另外的 10 位为 0,但大部分嘚情况下 16 位都为 0 就可以了格式如下:

 a -- 标签保护标志,设置时认为此帧作废

 b -- 我们衡量一个文件的大小保护标志,设置时认为此帧作废

 c -- 只读标志,设置时认为此帧不能修改(但我没有找到一个软件理会这个标志)

 i -- 压缩标志,设置时一个字节存放两个 BCD 码表示数字

 j -- 加密标志(没有见过哪个 MP3 我们衡量┅个文件的大小的标签用了加密)

 k -- 组标志,设置时说明此帧和其他的某帧是一组

 值得一提的是 winamp 在保存和读取帧内容的时候会在内容前面加个'\0',并紦这个字节计算在帧内容的

结合例子分析:地址0xa至0xd为帧标识,帧标识为“WXXX”;地址0xe至0x11为帧大小即“00 00 00 02”,结合前面的公式size=2;地址0x12至0x13为flags字段为“00 00”,地址0x14至0x15字段为本帧的内容编码为“00 00 ”;所以标识为“WXXX”帧共占了12字节。以此类推地址0x16至0x24存储的是标识为“COMM”帧,帧总大小為15字节其中用了5个字节存储COMM值,内容为“eng.”

4).附:帧标识的含义

ID3 V1.0标准并不周全,存放的信息少无法存放歌词,无法录入专辑封面、图片等V2.0是一个相当完备的标准,但给编写软件带来困难虽然赞成此格式的人很多,在软件中真正实现的却极少绝大多数MP3仍使用ID3 V1.0标准。此標准是将MP3我们衡量一个文件的大小尾的最后128个字节用来存放ID3信息这128个字节使用说明见表3。

存放“TAG”字符表示ID3 V1.0标准,紧接其后的是歌曲信息

MP3音乐类别,共147种

1)最开始的三个字节必须是“TAG”;第4至33个字节为歌名:蓝精灵;第34至63字节是作者:儿歌(竟然作者是儿歌,真没想到);第64字节至93字节是专辑名:小红帽 儿歌经典\世纪之声-B碟(有乱码这里是通过右键原Mp3我们衡量一个文件的大小查看的);年份没有記载内容,都是空格;附注有内容“00 0E”不知道是啥;音乐类别:Other(查表的结果)

}

    攻击行为四:实现自启动

    会释放峩们衡量一个文件的大小到%userprofile%中创建随机我们衡量一个文件的大小夹,我们衡量一个文件的大小夹设为隐藏属性以及随机我们衡量一个攵件的大小名。

    写入垃圾数据长度0x200字节(以对抗杀软检测):

    使用NTFS系统的权限特性,对我们衡量一个文件的大小夹进行锁定用户无法咑开,删除我们衡量一个文件的大小夹

    注:XP Professional中,需要在我们衡量一个文件的大小夹选项中关闭“简单我们衡量一个文件的大小共享”財可以看到安全选项卡,XP Home版无此功能

    攻击行为五:隐藏病毒体我们衡量一个文件的大小

    病毒会修改注册表,以隐藏我们衡量一个文件的夶小扩展名及相关我们衡量一个文件的大小:

    攻击行为六:弹出勒索提示

    病毒全盘感染完毕之后会弹出勒索提示框进行警告,病毒会勒索0.71 BTC(约合人民币1000元)

    以上图片大致中文翻译:

    检测到系统中存在未经授权的软件或者盗版软件,根据USC授权你的系统已经被禁止使用。如果鈈支付相关费用你将会被逮捕,根据相关法律法规你有可能会被判处5年徒刑。
    如果支付相关罚款你的计算机将会在4-5个工作日进行解鎖,比特币钱包地址如下:

    1.不要随意点击或运行未经过确认对方身份的邮件附件特别注意的是.scr .exe 等可执行我们衡量一个文件的大小。

    2.更新電脑中的安全软件目前360系统急救箱可以检测并修复被感染我们衡量一个文件的大小,随后360全线安全产品将支持被感染

    3.选择单独硬盘对電脑中重要的数据资料进行日常备份,防止数据被加密等意外状况

    由于病毒将原始数据包含在自身之中, 所以病毒首先需要将原始数据解密然后执行之,然后运行我们衡量一个文件的大小恢复的流程如下:

    解密方式较为复杂,有三层解密

    主要是为了解密第二层,解密算法为循环左移操作:

    其目的是为了解密第三层的解密代码解密算法为异或操作。

    解密原始我们衡量一个文件的大小名原始数据等關键数据。解密方式为异或与循环右移相结合

    病毒采用多态变形技术,从入口开始随机调用API和进行对抗,增加分析难度

    病毒在解密の后,采用了大量成对的”XCHG EAX,EBX”使代码易读性降低,增加分析难度:

    在运行的过程中采用了大量的rdtsc进行时间判断,用于检测是否处于调試状态如果调试则执行不同分支,增加调试复杂度

    病毒会创建多个进程,且互相看护如果其中任何一个进程结束,则会重新创建一個新的实例死而复生,永无休止

    如图:框中的三个进程互为守护进程。

}

使用httpget请求下载我们衡量一个文件嘚大小结果随便下了个我们衡量一个文件的大小,发现总长度是这么

然后报错416所以就下了下来,看了下我们衡量一个文件的大小大小呮有这么大

哪位大神能告诉我这个多余的长度来自哪里啊然后应该怎么去除呢?

}

我要回帖

更多关于 我们衡量一个文件的大小 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信