Sign and install unsigned S60 apps! No hacking, no OpenSigned, no developer certificate required!

After (finally) updating my N95-1's firmware to v21 (previously had v20 and was very happy with it, but anyway, I digress), a very nasty thing occurred. My developer certificate (this will be referred to as devcert from now on) expired, turns out. Now there are a lot of freeware apps ready for OpenSigned, some even (thankfully) Symbian Signed (it only took ages, Symbian, we really appreciate it!). But some are still as they used to be, plain-old unsigned apps. So. What to do, what to do?

Well I proceeded to OpenSigned Online, only to waste about an hour since it returned error after error after error. And by the way, the CAPTCHA implementation there is surely one of the least readable I've ever seen!

So I set myself out on a quest for a solution to this issue. I've had a developer certificate, as I said, courtesy of P@sco, but since it expired, I found myself in the exact position anyone who buys an S60 phone right now is in. No devcert, no OpenSigned capability of the app, no game. Or?

Well there is a rather simple solution to all this available courtesy of BiNPDA. Now, you might have heard of them in a, erm, less than legal context, but this has nothing to do with that. They have developed a tool that lets you sign and install any unsigned app.

Before I go into details, be advised that this is not a hack. Even if some people use that word incredibly loosely nowadays, this is not a hack by any standard. I have previously stated that I don't encourage anyone to "hack" their S60 phone. This, however, I strongly encourage you to do.

So...without further ado...


How to

First, a one-time procedure.

Download this package.

-Transfer to your phone and install "s60_3_0_app_trk_2_8_6.sisx" for NON FP1 devices (a.k.a. S60v3, S60 rel.3.0), or "s60_3_1_app_trk_2_8_6.sisx" for FP1 devices (a.k.a. S60v3 FP1, S60 rel.3.1).

-Make sure you have the latest Nokia PC Suite installed (get it from here) and Bluetooth on your phone is NOT active.

-Connect your phone to your computer via USB in "PC Suite" mode (NOT Mass storage).

-Start the TRK app on your phone (which you have just installed in step 1 - look for it in the Applications folder). It will first try to connect via Bluetooth, and therefore a prompt will show up asking you if you wish to activate Bluetooth. Choose NO.

-Then, in the TRK app, go to Options-Settings and change the first line to USB instead of Bluetooth. Also, remember the Port number listed in line 2. Now choose Options-Connect. If all is well, the app will show Status:Connected.

-On your computer, run SecMan.exe (included in the package above). Do NOT let it automatically pick the port, just enter COM1 for Port 1 (the appropriate number is according to the number for the Port field in the TRK app on the phone - see the previous step, above), COM2 for Port 2, and so on. Click OK. If SecMan on your computer returns an error, try again, perhaps changing the Port number on the phone and then in SecMan on your computer.

-Now disconnect your phone from your computer, go to the Applications folder on your phone and run SecMan. Choose Options-Install Root Certificate.

When you come across an unsigned app...

Download the app to your computer, run RootSign.exe (included in the package) and sign the app using this tool. Then transfer the RootSigned app to your phone, install and...voila!


Thoughts

This proves, yet again, that people hate the Symbian Signed situation. Furthermore, if Symbian itself doesn't fix the signing process (or continues to improve it in such a painfully slow manner), people will find 'alternative' solutions.