关于.SMP格式音乐加密文件破解方法的一些尝试
最近老妈在淘宝上买了个自带广场舞音乐的音响,她想让我帮她把里面的音乐拷出来放手机上听,却发现里面的音乐格式都是.smp的加密文件,闲着也是闲着,就做了些尝试帮帮老妈。
是新人,可能会有很多错误,还请大家多多包涵,欢迎大家提出建议。
使用语言:C#
—目录—
- 什么是.smp
- .smp文件的加密原理
- 如何破解.smp文件
- 加上批量操作的功能
1.什么是.smp
.smp格式是一种现在很少见的音乐加密格式,一般出现在老的游戏或者一些与电子产品捆绑销售的音乐里,比如淘宝上卖的那种带音乐包的小音箱,或者是一些学习机复读机内的音频资料。
这种格式的文件被加密过所以不能在别的设备上正常播放。
它一般长这样:
2. .smp文件的加密原理
像这些小音箱,上古学习机,复习机之类的东西,他们一般都有一个可以进行简单逻辑运算甚至编程的单片机在其中对音乐文件进行解码播放,而要想在播放的时候可以及时解密的同时不卡顿影响体验,所以应该不会是特别复杂的加密方式。
用WinHex打开一个此类文件观察后可发现,在文件头与文件尾有大量的89 6B A5 22。
再打开一个普通的未加密MP3文件对比发现,大多数MP3文件的尾部会有大量的0或A。
到这里,我们就想到了一种简单的加密方法:异或加密。
这个.smp文件实际上是用89 6B A5 22进行了异或加密,而
0 XOR 89 6B A5 22=89 6B A5 22。
为了验证该猜想,我们对所有数据进行异或89 6B A5 22,再用WinHex打开后发现,文件头三位出现了49 44 33即ASCII的ID3,这是MP3文件的标志,说明我们的猜想没有问题。
也就是说这类.SMP格式的MP3文件多半是用了异或加密!
3. 如何破解.smp文件
既然我们已经摸清楚了这类文件的加密方式,那么只需要逆向进行就可以完成该文件的解密。
既: