LG ContentsBank软件的DIY

王朝学院·作者佚名  2008-12-30
窄屏简体版  字體: 小  |  中  |  大  |  超大  

相信大家都和我一样,经常使用LGContentsBank(CB)或者CB2下载铃声和图片,真的很方便,但有一个问题始终困扰着我,就是CB软件有时候试听的效果和传到手机上的并不一样,乐器发生了变化.

前一阵看到网上在讨论YAMAHA的播放器MidRadio Player,说用它来听MMF,所听到的音质就是你最终刷到手机里的音质,昨天安装了一个,效果确实和传到手机上一样,那么,有没有办法也让CB软件达到同样的效果呢?到安装目录查看了一下文件,发现两个软件都是靠调用DLL来实现MMF播放的,它们之间会不会有共同点?说干就干,立即对两个软件的DLL文件进行对比:

MidRadio Player 调用mrma3emu.dll大小:676K 开发商:YAMAHA CORPORATION 版本:1, 0, 0, 2009

CB调用ma3smwemu.dll 大小:872K 开发商:YAMAHA CORPORATION 版本:1, 0, 0, 2002

通过反向工程查看,两个DLL都有下面的导出函数

0000000D10004EE0MaSound_Close

0000000610004D90MaSound_Control

0000000310004D00MaSound_Create

0000000F10004F40MaSound_Delete

0000000110015110MaSound_DeviceControl

0000001010005270MaSound_End

0000000210004CE0MaSound_Initialize

0000000410004D20MaSound_Load

0000000510004D60MaSound_Open

0000000A10004E50MaSound_Pause

0000000B10004E80MaSound_Restart

0000000810004DF0MaSound_Seek

0000000710004DC0MaSound_Standby

0000000910004E20MaSound_Start

0000000C10004EB0MaSound_Stop

0000000E10004F10MaSound_Unload

进一步确认,查看MaSound_Start调用部分代码(汇编)

Exported fn(): MaSound_Start - Ord:0009h

:10004DD0 8B0D58DE1310mov ecx, dword ptr [1013DE58]

:10004DD6 83C8FFor eax, FFFFFFFF

:10004DD9 83F901cmp ecx, 00000001

:10004DDC 751Cjne 10004DFA

:10004DDE 8B442410mov eax, dword ptr [esp+10]

:10004DE2 8B4C240Cmov ecx, dword ptr [esp+0C]

:10004DE6 8B542408mov edx, dword ptr [esp+08]

:10004DEA 50push eax

:10004DEB 8B442408mov eax, dword ptr [esp+08]

:10004DEF 51push ecx

:10004DF0 52push edx

:10004DF1 50push eax

:10004DF2 E8C92F0100call 10017DC0

:10004DF7 83C410add esp, 00000010

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:10004DDC(C)

|

:10004DFA C3ret

两个文件的代码如出一辙,这说明,两个软件的DLL是可以通用的。

试验:

进入CB安装目录,把原来的ma3smwemu.dll更名为ma3smwemu.dll.BAK,COPY MidRadio Player软件的mrma3emu.dll文件到CB安装目录,更名为ma3smwemu.dll。

启动CB软件,操作一下,一切功能正常,试听效果和传到手机上一样,成功了。

咳,早知道这么简单就直接COPY过来了 费了我一上午的时间才跟踪到代码 :-)

结论:

LG的CB软件是靠调用YAMAHA的DLL来实现铃声试听的,DLL和MidRadio Player的通用,直接COPY MidRadio Player软件的DLL过来替换就能达到一样的效果。

感兴趣的朋友可以到下面的地址下载下载:

http://www.473200.com/avenger/cb2_ch.rar

压缩包里有CB2.EXE和更新后的DLL,直接解压到安装目录覆盖原来的程序就可以了。CB2.EXE我进行了汉化,水平有限,难免会有错误,请各位见谅。

另外,现在CB2软件都存在一个问题,就是在图片模式下直接点选目录会出现非法操作,出错的原因我已经找到了,但找不到解决的办法,希望有能力的朋友和我联系,共同解决,让软件更完美。shuailutta@hotmail.com

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航