View Full Version : how to find ringtones in the firmware file?
Anton3000
04-20-2003, 00:20
How to find ringtones in the firmware file?
I have to extract original ringtones from N600 firmware. How can I find an offset in the firmware file?
right is the firmware AXF and OGM? or is it S3 ?
if its AXF then open in hex tool and search for ANSI text MMMD this is the start of a ringtone .. now copy until before the next MMMD then paste as a new file and save as .mmf extension. test in psm player.. i have extracted many S300 tones and am in the process of replacing them with my own ones...
good luck and post back if u need more help.
ok S3 files...
the firmware has been encoded into a Motorola S-Records Format
so you need to decode the s-record file back to a .BIN this is achieved by using MOT2BIN.EXE (do search on google) then open in any normal hex editor and you can search for ringtones using my previous method.
the other method of opening S3 files is by using a program called hed.HexEd this is a hex tool that supports the Motorla S-Record format, so you can open and edit directly.
BIG PROBLEM!!!
currently there is no way to convert the files back to their S3 format. there is a file called BIN2MOT.EXE but the output file will be smaller than the original S3. if you use hed.hexEd then there will only be the option of saving as .MOT, S9, S19, S39 BUT NO S3!
i emailed the author and he told me his program will only save as 16 Bit Address Format. S3 is 32 Bit Address Format. he can modify the program but only if i purchased it from him @ 17 Euros + 16% VAT.
so currently we can open the S3 file and locate and extract all the ringtones, alarm, sms, game tones.. but there is no way to replace the data then save the file back as S3 so you can flash to your fone.
good luck!
Anton3000
04-21-2003, 12:12
@omar78
Big thanks for AXF solution!
ok.. heres a proper way of woring out the file sizes for the ringtones..
The file will start with something along the lines of 4D4D4D4400001C44 Hex where 4D4D4D44 is the ID MMMD the next four bytes 00001C44 indicate the datasize, not including the header bytes above, so add 8 bytes to this which gives you a file size of 00001C4C, which in decimal is 7244 bytes.
good luck!