Business Card: bowen@dwelle.org
Smoothbeats.com
KALX Berkeley    WSUM radio

WFMU radio
You found me. Work-wise, I'm CEO of AdMonsters, a professional association and conference series that I founded in 1999, co-founder of PrefPass, and co-founder of CreditCovers. I do a bunch of other things as well - have a look around. I don't really write much here though, so don't look for too much of that...

A while back (before I smashed up my iPhone), I had the idea that I wanted to change the stock “Answer/Decline” and “End Call” messages on my phone to something more creative. While there may be utils out there that enable this, but I figured, hey, it’s UNIX, those strings must be in files, and I can edit files.

iPhone ‘nix doesn’t have find built-in, but it does have grep -r, which allowed me to find out the two files I was looking for:

  • Most of the strings for the phone application (e.g. ANSWER, DECLINE) are in /System/Library/PrivateFrameworks/TelephonyUI.framework/English.lproj/General.strings (pre 2.x this was /System/Library/Frameworks/TelephonyUI.framework/English.lproj/General.strings)
  • In-call text strings (e.g. END_CALL) are in /Applications/MobilePhone.app/English.lproj/InCall.strings (pre 2.x this was /private/var/Applications/MobilePhone.app/English.lproj/InCall.strings)

iPhone strings files are stored on the device in a binary format known as “plist“. (Luckily the binary format retains enough text to allow you to grep for what you’re looking for). You can’t edit the plist format directly; there are two ways to deal with that.

  1. Copy the strings file to your PC and then use this online tool to convert the binary plist to ASCII text. Edit the resulting text file, and then copy the text file back onto the iPhone in the same place as the original binary file of the same name — the iPhone will read the text version of the file just fine.
  2. Install EricaUtilities (just search in Cydia), and and then use plutil to edit the strings files on the iPhone itself. Try stuff like this:
# plutil -s DECLINE -v "Zero" /System/Library/PrivateFrameworks/TelephonyUI.framework/English.lproj/General.strings
Setting property DECLINE to Zero
# plutil -s ANSWER -v "Hero" /System/Library/PrivateFrameworks/TelephonyUI.framework/English.lproj/General.strings
Setting property ANSWER to Hero
# plutil -s END_CALL -v "Terminate" /Applications/MobilePhone.app/English.lproj/InCall.strings 
Setting property END_CALL to Terminate
# plutil -s END_CALL_BIG_TITLE -v "Terminate" /Applications/MobilePhone.app/English.lproj/InCall.strings 
Setting property END_CALL_BIG_TITLE to Terminate
#

One final neat little trick is that if a friend of yours has a jailbroken iPhone with the default root password, and you’re both on the same WiFi network, and you know his IP address, you can ssh to his phone and change his strings to whatever you like, all while you sit there at Cafe Ritual, sipping your coffee. You can even restart his phone remotely - just use the unix restart command.

2 Responses to “how to hack iPhone text”

  1. Anthony Says:

    Allow / Deny
    Pass / Fail
    1 / 0
    Hot / Not
    Ho / Bro

    etc…

  2. bowen Says:

    Buying / Selling

Leave a Reply

Moblog
Recent Posts

Fatal error: Call to undefined function: recent_posts() in /home/.ragamuffin/bdwelle/dwelle.org/index.php on line 214