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 are in /System/Library/Frameworks/TelephonyUI.framework/English.lproj/General.strings
  • In-call text strings are in /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 (download the zip file to your PC, unzip, and then copy the contents of the bin directory to /usr/local/bin or your iPhone), and and then use plutil to edit the strings files on the iPhone itself. Note that the command line arguments in plutil seem to be sort of reversed; to set a key I had to do plutil -s KEY -v VALUE instead of -s VALUE -v KEY, but whatever. There is also an older EricaUtility called plist2txt that simply converts the binary plist file to text, right on the iPhone. You can then edit the resulting text file right there, with, say, vi. There’s an even older version of this utility as well, but you’ll need perl to run it.

In any case, once you’ve edited the strings file(s), restart the phone, and you should see the new strings.

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.

I must be a haxx0r now. I managed to brick my iPhone yesterday after installing some stuff, so I had to restore it from scratch. Once it was restored, I jailbroke it again with ZiPhone, and went to install BSD & ssh again, but those apps aren’t listed anywhere in the package lists. I tried updating the URL of “Ste Packaging” (site) to http://repo.smxy.org/iphone-apps/ as detailed here, and also added http://ride4.org/shai.xml as a new source as noted here - that source links to a ton of other sources, and so I was hoping that it would make the BSD package available again.

No dice. No BSD package. It seems some others are having the same problem. What gives?

I found a couple of references to Cydia Package Manager and the “Fake BSD Subsystem”… Installed Cydia… And Mobileterminal… And I’m in. Nice.

One thing that really bugs about the basic Installer.app is that you have no way of knowing which category a package is in, so if someone says “install openssh”, you have to poke around through all the categories in the hopes of finding it. Cydia has a search button - awesome!

Moblog
Recent Posts
iPhone 3G review/notes - how to hack iPhone text - Great writing? Monocle, check - Go Hillary, go. Now. - I was never that good with the trackball, but this looks like fun - How to make an iPhone ringtone from an MP3 - Free Tibet! Wait, where’s Tibet? - I have a new MySpace friend, and her name is GHETTO TV - iPhone Installer can’t find BSD Subsystem - iTunes -> Now Playing -> FriendFeed
Bowen online
del.icio.us links
Categories/Tags
*3 - *4 - *5 - *done - *perm - *todo - 3g - admonsters - adtech - advertising - ad_blocking - ajax - amazon - anagram - apache - apa_2003 - arancello - art - article - audi - austria - autohotkey - baja - basta - berkeley - berlin - bigbox - birthday - biz - blackberry - blogging - blogs - bluetooth - bookmarklets - bowen - brett - browsers - bryant - bug - building - bulgaria - burningman - business - california - cars - cayucos - chicago - china - chris_walter - climbing - clothing - coffee - color - comcast - consulting - convergence - cool - covers - creditcovers - croatia - css - cuba - culture - cydia - deadwood - del.icio.us - democracy - demographics - denver - des - design - desktop - disgrace - domains - donnas - dreams - duke - dvr - eastern_sierras - ebay - economics - edu - element - email - emerging - eng - environment - estonia - eur04 - europe - events - extensions - f250 - fabric8 - family - fashion - favorites - film - firefox - flickr - food - ford - forums - france - friendfeed - future - gags - garc - gcal - general - geo - germany - gizmos - gmail - google - greasemonkey - green - gretchen_kelley - hacking - hardware - history - honda - hopes - household - humor - hungary - ical - idiocy - images - imatch - inconsiderate - investing - iphone - italy - itunes - javascript - julie_chiapelone - kale - kitesurfing - ktm - landuse - language - ldap - leed - lifehacks - linkedin - linux - listmanagers - ljubljana - local - lola - loren - lycos_europe - mac - madison - madrid - makoto - management - maps - marine - markets - mega - megan - meredith - mexico - michigan - microsoft - minneapolis - misc - mobile - moblog - motorcycles - mozilla - music - mysql - nasty - nature - net - netflix - networking - news - new_orleans - new_york - nicklas - noises - nokia - now - now_playing - ny2004 - nyc - online - org - outlook - panama - paris - parties - people - performance - perl - personal - philiosophy - philosophy - photography - php - picasa - pim - pirates - places - planning - playa - politics - potrero - powerpoint - predictions - prism - privacy - programming - punk - questions - quicken - quotation - quotes - radio - rails - reading - realestate - recipes - recipies - reference - references - remote - rent - reporting - review - reviews - romania - rome - rss - rtm - sailing - samantha - san_diego - san_francisco - sayulita - science - scotland - scottsdale - search - semantics - semweb - serbia - shortcuts - sierras - signs - silvia - sk8 - slovenia - slurping - small_world - smartphone - socialsoftware - socialtextb - social_software - sofia - software - solar - space - spam - speed - sql - stockholm - surfing - surveys - sustainability - switzerland - syncml - system:unfiled - tacoda - tagging - tahoe_with_dclk - tech - technology - technorati - textiles - thinkpad - thunderbird - tivo - toga_2004_10 - transportation - travel - trieste - triumph - turkey - tv - ui - unbox - urbanism - urban_planning - us12 - usenet - vals - venice - vermont - vespa - virtual - visualization - voip - water - web - webdav - webtools - windows - wine - wink - wireless - wisconsinwmlwordpresswritingzacatecaszurich
Archives
Search
 
Meta