From ModMyiFone - Wiki
How to add custom ringtones/system sounds (for Windows)
written by: exNavy
These instructions were adapted from Nate True's instructions posted at his blog
here.
A big THANK YOU goes out to "natetrue" and "ziel" who ported the Jailbreak program to Windows. I know this was a major pain to do this so if you see them in irc, thank them for their efforts. The only difference with my instructions is I've added screen shots and I'm retelling the
process in my own way. These instructions are for Windows XP or Vista computers with iTunes 7.3 or
7.3.1. In my case, I used the DVD Jon method of bypassing activation (by hex editing iTunes 7.3.054
read here.)
UPDATE: There is actually a program that is available for $9.99 that automates the whole process of putting a ringtone on your iphone. With 2 clicks you can have a ringtone on your iphone with no hassles of unlocking your iphone. The software is called iPhoneRingToneMaker and you can check it out at http://www.efksoft.com/products/iphoneringtonemaker/index.htm. The software is completely legit as I, myself, have bought it through paypal (safe) and works like a charm.
Warning
-
We felt we had to say something before you performed this modification. There is obviously some
risk involved here, but everyone we know of has been able to restore their iPhone by using iTunes.
I've heard no report of anyone damaging their iPhone by doing this. However, if your
iPhone becomes unresponsive to restoration via iTunes, then you may have to seek repair or
replacement through Apple Inc., or AT&T. Pay careful attention to the instructions here. We are NOT
responsible for your results. You are assuming all risks. These instructions were completed
successfully by many people before being posted here, but we cannot account for everyone's
individual computer system configurations or ability to follow directions.
-
It is unknown what, if any, effect future updates to iTunes or iPhone software and firmware will
have on the modifications we are able to do.
Step 1. Make sure your iPhone is docked and charged.
Step 2. Connect your iPhone to your computer. When iTunes started it brought me to a blank
iPhone page. I had to click on the iTunes store and then click back to the iPhone to get this
screen to display.
Step 3. I decided not to sync anything (because I use the Mac partition of my computer
primarily - love that Mac Book Pro and BootCamp/Parallels) so I clicked the Done button. This
screen appears. Click the Restore button.
At the pop up warning screen, click the Restore button again.
Click Next at this pop up and then quickly disconnect the iPhone's cable from
your computer. You just want to download the Apple firmware, not install it on the iPhone.
You'll see the download progress on the left side of the application.
If you click there, you'll see an expanded view of your download progress.
When the download finishes you'll get an error message. Just click OK.
Step 4. Click the Start button, then click Run...
Then enter the following into the text box:
%USERPROFILE%\Application Data\Apple Computer\iTunes\iPhone Software Updates
Then click OK.
A file window should open with the iPhone restore file in it.
Check whether it ends with ".ipsw" (you can just click on the file once, and then once again
(do this slowly) and the name of the file will become editable showing you its full name.
If the file does not end in ".ipsw", you'll have to turn on file extension display by going to the
Tools menu -> Folder Options -> View tab -> and then uncheck the box for "Hide extensions for known
file types". Right-click the iPhone update file and choose "Rename". Give it the ".zip" extension
and press enter, and confirm that you want to change the extension.
Click Yes at the warning pop up screen.
Now double-click the file to open its contents. Extract the contents to a new
folder that we'll call "phonedmg". Save this folder at the root (C:\) of your hard drive.
Step 5. Click the Start buton and select Run... Then enter the following in the text box:
C:\Program Files\Common Files\Apple\Mobile Device Support\bin
Look for the file called iTunesMobileDevice.dll and copy it to your C:\phonedmg folder.
Step 6. Now we need the Jailbreak and iPhoneInterface program. You can get them from the
programs' creators right here. Extract the files
to your dekstop and just move the files from the "win" folder into the C:\phonedmg folder.
Obviously we will not be using the "osx" folder which is for the Mac.
Step 7. Now we need a ringtone. You can use .m4a (a.k.a. AAC) or the .mp3 format for your
ringtones, but for some reason they must be made through QuickTime. Fortunately, iTunes lets you
convert any file to .m4a by selecting "Convert to AAC" from its entry in your music library. Then
choose "Show in Windows Explorer" once its been converted. Put these files in C:\phonedmg as well.
In this example I've put the file CTU.mp3 in there. I get a lot of requests for this
ringtone so I'm offering it as a download here.
Step 8. Finally, it's time to run Jailbreak and iPhoneInterface!
Make sure to close iTunes now. It is critical that it and iTunesHelper be closed, so press and
hold the CTRL ALT DEL keys and you will get the Windows Task Manager to open. Click on the
Processes tab and look for iTunes.exe or iTunesHelper.exe and make sure they aren't listed. If they
are, click on them to highlight them and then click the "End Process" button. In my example I had
closed iTunes earlier.
Just click Yes at the pop up warning.
Step 9. Click the Start button and select Run... and enter the following in the text box: cmd
Then click OK.
A command prompt window will open. Type the following: cd\phonedmg Then press enter.
Now type: jailbreak and press enter. Jailbreak will run and look for the iPhone so
you should now plug your iPhone into the computer.
Jailbreak should say Sending Files... You'll then be prompted to hold the POWER and HOME buttons
for 25 seconds. The phone will automatically shut down and then restart while you do this.
The iPhone will restart in recovery mode and display this graphic.
It will then take about a minute for the program to do its thing so don't do anything until you see
a C:\phonedmg> prompt like in my screen capture. Keep this window open, you aren't done with it
yet.
Step 10. Now it's time to put some ringtones on the iPhone. You can start back at this step
the next time you want to add more. In the command window, type: iphoneinterface and press enter.
A prompt for iPhone:/# should appear.
Enter the following commands, which will create the Ringtone directory (if not already present) and
set it as the upload directory:
Type: mkdir /var/root/Library/Ringtones Press enter.
Type: cd /var/root/Library/Ringtones Press enter.
For each ringtone you want to upload type: putfile /var/root/Library/Ringtones/CTU.mp3 (or
whatever your file name is). Repeat this step until you have added all the ringtones you want.
If you would also like to replace system sounds follow the instructions within this bordered area,
otherwise skip to Step 12 to continue with ringtone replacement.
These instructions were contributed by "Christian" "Ksilebo", and "TkN". For the ultimate in
customization, you can follow these steps to change your system sounds for new mail, new sms, new
voicemail, et cetera. Remember you will be updating the system sounds, you can always restore them
with a full restore or one by one by using the backups in the 39.dmg file.
The default system files in /System/Library/Audio/UISounds
alarm.caf
dtmf-2.caf
beep-beep.caf
dtmf-0.caf
dtmf-1.caf
dtmf-3.caf
dtmf-4.caf
dtmf-5.caf
dtmf-6.caf
dtmf-7.caf
dtmf-8.caf
dtmf-9.caf
dtmf-pound.caf
dtmf-star.caf
lock.caf
long_low_short_high.caf
low_power.caf
mail-sent.caf
middle_9_short_double_low.caf
new-mail.caf
photoShutter.caf
ReceivedMessage.caf
RingerChanged.caf
SentMessage.caf
short_double_high.caf
short_double_low.caf
short_low_high.caf
SIMToolkitCallDropped.caf
SIMToolkitGeneralBeep.caf
SIMToolkitNegativeACK.caf
SIMToolkitPositiveACK.caf
SIMToolkitSMS.caf
sms-received.caf
Tink.caf
Tock.caf
unlock.caf
ussd.caf
Voicemail.caf
Step 11a. Choose a file, convert it to .aif using QuickTime and rename the .aif to .caf. The
.caf sould have the exact same name as the system file you are trying to replace (i.e.
yourCustom.aif becomes new-mail.caf).
Step 11b. Put the new .caf file in the phonedmg folder used earlier.
Step 11c. In the Terminal type: putfile /System/Library/Audio/UISounds/<the_caf_file_you_justmade>.caf
Then press the enter key.
</the_caf_file_you_justmade> |
Step 12. When you are finished adding files you can close the command prompt window. You're
done! On the iPhone Go to: Settings -> Sounds -> Ringtone, and select your new ringtone. Here's my
before and after.
The new version of Jailbreak doesn't require you to undo any of its settings to work on iTunes. You
should still be able to sync on iTunes after adding your own ringtones. Note that any iPhone system
updates or restores will remove all of your uploaded ringtones and undo any Jailbreak changes.
NOTE: You have to run the iphoneinterface.exe as an administrator in Vista, also directory and file names are case sensitive. (Added by WiseCat74)
How do this work?
From Nate True's blog:
It would betime figuring out this procedure and associated details. So here's the skinny:
I'm not sure what AFC stands for, but there is a program called the AFC service running on the iPhone
that (normally) iTunes communicates with to put files such as songs on your iPhone. It performs the
filesystem operations such as making directories and uploading / downloading files.
Under normal configuration, the AFC service absolutely refuses to access any files outside of where
music is normally stored (/var/root/Media). Since ringtones are stored in /var/root/Library, the
AFC service as it is configured by default, will not allow us to upload ringtones without knowing
how iTunes will eventually do it. iTunes will use
/var/root/Media/iTunes_Control/iTunes/Ringtones.plist if you were wondering; but we don't know what
format that file is in.
So we have to change the configuration of AFC somehow. The key to this is the iPhone's restore /
recovery mode. This is the mode iTunes uses when you hit "Restore" in the iPhone page. It's designed
to restore the phone to working order after something has corrupted its software. With restore mode,
special commands can be issued to the phone that let it manipulate all sorts of files and settings
on the device.
What jailbreak does is (at a very high level) perform the first half of the restore operation that
iTunes would, getting the phone into the powerful restore mode. It then issues a series of commands
that modify the configuration of AFC to allow you to access the full filesystem while still
presenting the same interface to iTunes (so as not to break syncing).
After that, iPhoneInterface allows you to interact with the phone using AFC to upload and download
files.
With a Jailbreak'd phone there are a lot of cool hacks that you can do (skinning, anyone?).