最近看到很多朋友问怎么做音乐盒bin,为此,我专门整理的下面的教程,希望能对各位朋友有所帮助!
必备软件: 16进制编辑器,推荐使用UltraEdit-32或WinHexMMFMan
首先要了解bin是什么东西,我以X199 XB03版为例,给大家详细讲一下.
其实音乐盒bin就是一种特定格式的字节流文件,在这个文件里面包含控制手机的一些程序,手机显示的文字,播放的铃声等等数据.
我们制作的音乐盒其实也是符合这种规格的字节流文件,用自己喜欢的铃声替换内置的铃声就可以DIY出自己的音乐盒.
我们可以用MMFMan直接替换内置铃声,但是这样做出来的音乐盒有很大的局限性,不能替换大铃声,不能刷单曲,没法改文字等等.
所以要打造个性的音乐盒就要完全了解bin的结构,做一个全新的bin文件来刷机.
用MMFMan打开原版XB03的bin文件,导出铃声.
我们可以听到,从25个铃声是手机里面第一个铃声,前面的是游戏的音乐.
用UltraEdit打开25.mmf,会显示成乱码,点工具条上面的切换HEX模式,会显示这个文件的16进制代码.
我们看到这个文件是以 4D 4D 4D 44 00 00 开头的,打开其他文件也是这样的,这是mmf的文件头标识,每个mmf铃声文件都会以这段16进制代码开头.
好了,下一步我们就去原版bin里面找这一部分16进制的代码
我们可以看到在MMFMan的位移一栏,写的是16进制的数字,这个是标识铃声的开始的地址,用这个地址我们可以在bin里面查找铃声
用UltraEdit打开XB03原版bin,Ctrl G 打开跳转对话框,这里面填写的是要跳转的地址,也就是MMFMan的位移里面的数值,
对于16进制的地址必须以0x开头,比如我们要跳转到630000,就要输入0x630000,回车就可以了,如果你输入的地址没错,
会跳转到一段以4D 4D 4D 44 00 00开头的字符串前,这就是25.mmf文件的开始地址,我们可以一个字节一个字节的比较,
bin里面的字节和mmf里面的字节是完全一样的(废话!),好了,我们可以从630000开始,用鼠标点住,把这些字节选中,也可以按住Shift键,
然后按Page Down或者方向键来选,直到下一组4D 4D 4D 44 00 00,下一个出现的地址应该是26.mmf的开始地址前一个字节从MMFMan里面可以看到,
26.mmf的开始地址是6303b7,我们把从630000到6303b7这一段数据复制出来新建一个文件,粘贴进去,存成.mmf文件,用播放器听一下,就是手机里面第一个铃声.
其实MMFMan从bin里面导出铃声的原理就是这样的,截取一段数据,另存成mmf文件.
如果你有兴趣你可以手动把所有的铃声都倒出来,呵呵呵呵!
好了,前面所说的就是mmf铃声在bin文件里面存放的基本原理.
上次讲到bin中间的mmf铃声是如何存放的,这回讲讲这些铃声是如何被调用的.
任何程序要想调用一段数据,必须要知道这段数据的准确位置,播放铃声也是一样,系统必须知道这段铃声的开始位置,这就需要用到指针.
要想理解指针的概念并不难,指针就好像一个路标,标识着一个地址,你按照这个地址找,就能找到这个指针所指向的位置,你要的东西就从那里开始存放.
在生活中有很多类似指针的东西,比如说每本书书在开始的位置都有一个目录,这就是一个指针,如果我要想找第二章的第三节,我就可以按照后面标识的页码去找,如果目录没写错,肯定能找到,呵呵.
在bin文件里面也有一个这样的目录,这就是指针,这里写了每首歌的开始地址,按照这个目录,我们可以找到每首歌,这个指针并不是给用户看的,而是给手机系统看的,如果我们改了这个目录,系统就会按照我们改的地址去找歌曲.
比如第一铃声的开始位置是630000,如果我们改了指针,告诉系统第一首歌是从6303b7开始,那么系统会认为第一首歌真的是在6303b7,我们刷这样修改后的bin,听第一首铃声的时候,会发现,它和第二首铃声是一样的,因为我们把第一首铃声的指针指向第二首歌的位置了.
推荐阅读
- EG890B的终极DIY全过程
- DIY C550音频数据线
- 真人铃声DIY
- 自己DIY索爱K506C的MP3铃声!
- 用Netscape 7.0浏览器寻找DIY机素材
- DIY个性书法艺术待机图
- win10磁盘碎片整理教程
- G900版本升级DIY之经验谈
- DIY565挂绳方法共享
- QPST在刷机中的应用---“小C” DIY之一