Softbank705nkをオリジナルNokia N73に近づける


ソフトバンクの705nkはNokiaN73と筐体に書いてありますが、ノキアが直接販売しているオリジナルなものとはずいぶん仕様が違います。

ユーザーをプロバイダの利益から逃がさないため数々の縛りというか機能のダウングレードが設定されています。

以下は本来のスマートフォンとしての機能を取り戻し、本当のNokia N73のすばらしさを享受するための作業です。


具体的には


1,フリーソフトとして出回っているMobile GMapsというソフトをソフトバンク705nkにインストールしてメモリに保存した地図を閲覧すると、

地図データの切り替わりのたびにデータを読み込んで良いかのアラートが出ます。オリジナルのNokiaN73ではこのアラートは出ません。

これを回避して便利にMobile GMapsを使いたいというのが一つの理由です。(MIDP制限解除)


2,スマートフォンなので世界中で沢山の便利なソフトウエアが作られているのですが、

そのほとんどが非認証ということでインストールができません。

この問題も回避したい。(ALLfile化)


3,PCwebの閲覧はパケット定額は利用できず、沢山アクセスするといわゆる「パケ死」非常に高額なパケット使用料を請求されます。

これを回避し、OperaMiniというJavaソフトを利用しWAP接続してパケット定額を利用できるようにします。


以下の複雑な作業をすることで上記3点の問題点が回避できます。ただしこれら作業を行ってもSIMロックは解除できません。


作業手順としては

1,ALLfile化。認証、非認証関係なくソフトをインストール可能にします。

2,本体メモリ内のデータにアクセスできるようにY-Browser(勝手アプリ)をインストールします。

3,MIDPの制限を解除します

4,OperaMiniでWAP接続を可能にする

 

僕はマックユーザーですが作業はMacOSX上のパラレルズデスクトップで動作させたWindowsXPで行いました。


1) 準備

1ー1,PC、カードリーダー、705nk用USBケーブル


1ー2,http://www.geocities.jp/mecabox2/oldAllFiles.zip

 これをダウンロードして解凍 5つの書類が入っています。

 hack_perms_705nk.txt

 hack_perms_705nk.py

 101F880D.txt

 101FD64E.txt

 SMS_Accel.exe


1-3,http://fca00000.googlepages.com/hack_perms_s60v3.rar をダウンロードして解凍。

 中のs60_3_0_app_trk_2_7.sisxを取り出して705NKにインストールする。E:(メモリカード)でもOK。


1-4,SymSMBをインストール。

 ファイルブラウザCにアクセスできる。トライアル版で十分 http://www.symbian-freeware.com/download-symsmb-v2-00.html

 直接C:にアクセスできないので、どこかにコピーしたファイルをファイルブラウザを使って移動させるため、

 ファイルのコピーや移動法などファイルブラウザの使い方をマスターしておく。


1-5,最初にダウンロードしたSMS_Accel.exeをカードリーダー等を使って705nkにコピー。その後SymSMBを使って705NKのC:直下に移動。


1-6,705NKのメニュー/ツール/アプリ でSMS_Accelがインストールされていることを確認する。

 もし、sms_accelerator.sisをインストールしていなければ下記より入手してインストールしておく。

 http://www.nokia.co.jp/support/ps/phones/n71/smartphone.shtml


1-7,PCにPythonの実行環境を作っておく。

 http://www.python.org/download/ からPython 2.5.2 Windows installerをダウンロードして、PCにインストールする。

 シリアルポートを使用するのでpyserial (http://sourceforge.net/projects/pyserial)をインストールする。

 pywin32 (http://sourceforge.net/projects/pywin32)もインストールする。 


1-8,Nokia PC Suiteのバージョンが6.85.14.1以前のものであることを確認する。

 もし、バージョン6.86.9.0にアップデートしている場合は、一旦Nokia_Connectivity_Cable_Driverのみをアンインストールしてから、下記よりケーブルドライバーmsiを入手してインストールする。

 http://nds1.nokia.com/files/support/global/phones/software/Nokia_Connectivity_Cable_Driver_rel_6_85_10_0_jpn.msi


2) All Files化方法

2-1,PCと705NKをUSBケーブルを使ってPC Suiteモードで接続する。


2-2,PCのコントロールパネル>システム>ハードウェア>デバイスマネージャ>ポートでNokia N73 USBのCOM番号を確認する。(例:自分の場合はCOM3)


2-3,1-2,のhack_perms_705nk.pyをノートパッド等のエディタで開き、下の312行目のserial.Serialの( )内を COM番号-1 に書き換えてセーブする。

 312行目 ser = serial.Serial(2)  # COM6  (例:自分の場合はCOM25だったので 3-1=2 に書き換えている。)


2-4,705NKでTRKを起動する。(TRKという名でアイコンがメニュー/エンタテイメントの中にできているはず。)

 標準ではBlueToothで接続しようとするが、利用可能なポートがないのでしばらく待つとエラーになる。

 Options>Settings>ConnectionでUSBを選択する。その他はデフォルト(Port=1,Baud Rate=115200)のままでOK。

 戻ってOption>Connectで表示が以下のように変わればOKです。


 Welcome to TRK for Symbian OS 

 Status: Connected 

 PDD: NONE 

 LDD: EUSBC 

 CSY: ECACM 

 Port Number: 1 

 Baud rate: 115200 


2-3,PC上でhack_perms_705nk.pyをダブルクリックしてPythonプログラムを起動する。

 ウィンドウが開いて実行状況が表示されればOK。もし、起動しない場合はPath設定が正しく行われていない。Pathを設定するか、

 Python 25フォルダにhack_perms_705nk.pyコピーしてダブルクリックする。スクロールアップしてログの内容を確認する。

 以下のように表示されれば成功です。メモリは自動的に書き換えられる。

 TRKを終了してから、USBケーブルを外す。(ハングアップする危険がある。)


Using port:

¥¥.¥COM3       (<-----変更したCOM番号になっているか確認する)

>Ping

sending message number 00

<kDSReplyACK

received message number 00

 kDSReplyNoError

>Connect

sending message number 01

<kDSReplyACK

received message number 01

 kDSReplyNoError

>Create Item

sending message number 02

<kDSReplyACK

received message number 02

 kDSReplyNoError

ProcessID=02B1 ThreadID=02B2

>Read Memory 0x60000100

Read Memory at 60000100=60 00 01 00

sending message number 03

<kDSReplyACK

received message number 03

 kDSReplyNoError

Read Memory 60000100=FF DF FF FF

Read Memory 60000104=FF FF FF FB

Read Memory 60000108=00 00 00 80

Read Memory 6000010C=00 00 00 00

Read Memory 60000110=00 00 00 00

Read Memory 60000114=00 00 00 00

Read Memory 60000118=00 00 00 00

Read Memory 6000011C=00 00 00 00

Read Memory 60000120=00 00 00 00

Read Memory 60000124=00 00 00 00

Read Memory 60000128=FF FF F7 FD

Read Memory 6000012C=FF FF DF F7

Read Memory 60000130=DF DF FF FF

Read Memory 60000134=7F FF FF FF

Read Memory 60000138=F3 CC 05 1A

Read Memory 6000013C=6D 65 3F F9

Read Memory 60000140=01 00 00 00

Read Memory 60000144=00 00 00 00

Read Memory 60000148=1E 00 00 00

candidate!!!      (<-----これがでれば成功!!)

Read Memory 6000014C=00 00 00 00

Read Memory 60000150=00 00 00 00

Read Memory 60000154=FF EF FF FF

Read Memory 60000158=FF FF FF BF

Read Memory 6000015C=FB FF FF FF

Read Memory 60000160=FF FF FF FF

Read Memory 60000164=FF FF FF FF

Read Memory 60000168=FF FF FF FD

Read Memory 6000016C=FF FF FF FF

Read Memory 60000170=FF BF FF FF

Read Memory 60000174=FF FF FF FF

Read Memory 60000178=FF BF FF FD

Read Memory 6000017C=FF FF FF FF

Read Memory 60000180=FF FF FF FF

Read Memory 60000184=FF FF FF FF

Read Memory 60000188=FF FF 7F F7

Read Memory 6000018C=FF FF FF FF

Read Memory 60000190=FF FF 7F FF

Read Memory 60000194=FF FF FF FF

Read Memory 60000198=FF FF FF FF

Read Memory 6000019C=FF FF FF FF

Read Memory 600001A0=FF FF FF FD

Read Memory 600001A4=FF FF FF FF

Read Memory 600001A8=FF FF FF FF

Read Memory 600001AC=FE FF BF FF

Read Memory 600001B0=FF FF FF FF

Read Memory 600001B4=FF FF FF FF

Read Memory 600001B8=FF FF FF FF

Read Memory 600001BC=FF EF FD FF

Read Memory 600001C0=FF 7F FF FF

Read Memory 600001C4=EF FF FF FF

Read Memory 600001C8=FF FF BF FF

Read Memory 600001CC=FF FB DD FF

Read Memory 600001D0=7F FF FF FF

Read Memory 600001D4=FF FB FF FF

Read Memory 600001D8=FF FF FF FF

Read Memory 600001DC=FF FF FF DF

Read Memory 600001E0=FF FF FF FE

Read Memory 600001E4=FF FF FF FF

Read Memory 600001E8=FF FF FF FF

Read Memory 600001EC=FF FE FF FF

Read Memory 600001F0=FF FF FF FF

Read Memory 600001F4=FE FF FF F7

Read Memory 600001F8=FF BF EF FF

Read Memory 600001FC=FB FF FF FF

>Write Memory 60000148  (<-----ここでメモリを書き換えてる)

write Memory at 60000148=60 00 01 48

sending message number 04

<kDSReplyACK

received message number 04

 kDSReplyNoError

>Stop

sending message number 05

showFrameChecksum-incorrect:-1

<kDSReplyACK

received message number 05

 kDSReplyNoError

>Ack Notify Stopped

sending message number 02

>Disconnect

sending message number 06

<kDSReplyACK

received message number 06

 kDSReplyNoError

>Close

>End+Exit


 以上でAll failes化は完了。SymSMBでC:¥sys¥等の本来アクセスできないフォルダが見れることを確認する。


3)705NK単体でのAll Files化復元方法

 2)の方法では電源切や再起動でAll Files化効果が無くなって元に戻る。705NK単体でAll Files化効果を復元する方法。


3-1準備

 ・2)の方法で705NKをAll Files化しておく。

 ・http://tools.ext.nokia.com/agents/index.htm からS60_3_0_Prof_v1_62.sisxをダウンロードしてインストールする。

  必ずC:にインストールすること。Symbian Signedなので通常のインストールでOK。

 ・http://FCA00000.googlepages.com/CProfDriver_SISX.ldd からCProfDriver_SISX.lddをダウンロードしておく。


3-2,Profilerの操作

 ・705NKのメニュー/エンタテイメントの中にProfilerというアイコンが出来ているので起動する。

 ・Options>Profiler>Startでタイトル下のStatus:がinitialising ⇒ samplingに変わるまで待つ。

 ・Options>Profiler>StopでStatus: finishedに変わる。

 ・右キー(Exit)で終了する。


3-3,CProfDriver_SISX.lddの置き換え

 c:¥sys¥bin¥CProfDriver_SISX.lddをダウンロードしておいたCProfDriver_SISX.lddと置き換える。(symSMBを使って)

  元のCProfDriver_SISX.lddのサイズが6KBで、置き換え後は16KB(705NK実績)なので、置き換わったことをファイルサイズで確認する。


3-4,All Files化の復元

 電源切や再起動後に3-2のProfilerの操作を行えば、All Files化状態が復元できる。


4)705NKのアプリインストール制限解除、音源制限解除方法

 この作業で

 アプリはスタンダード機並みにDeveloper Signedまで通常インストールが可能になる。

 ミュージックプレーヤーや着信音設定でmp3等従来選択できなかった音源ファイルが選択できる。


4-1,705NKをAll files化しておく。


4-2,1-2の101F880D.txt101FD64E.txtを705NKのc:¥private¥10202be9¥フォルダにコピーする。

 再起動して、メニュー>ツール>アプリのオプション>設定で

 「ソフトウェアのインストール」の項目が増えているので「すべて」を選択する。(音源については、特に何もする必要はない。)


5)制限アプリ(勝手アプリ)のインストール環境設定


5-1,Pythonのインストール

 http://sourceforge.net/projects/pys60/より、PythonForS60***3rdEd.sis および PythonScriptShell***3rdEd.sis をダウンロードし、

 Nokia PC Suite でインストール(E: でもOK)。


5-2,Unsigned Installer のインストール

 http://rapidshare.com/files/103556899/Unsigned_Installer.zip.htmlをダウンロード。

 解凍フォルダ内の RESOURCEフォルダにある4つの ***.pyを E: へコピー。

 Pythonフォルダ内のUnsignedInstaller.py も E: へコピー。

 SymSMBで UnsignedInstaller.py を E:Python へ移動。

 RESOURCEフォルダにあった4つ***.py は、C:RESOURCEへ移動。


5-3,Mobile Signerのインストール

 http://mobile-signer.en.softonic.com/symbianをダウンロード。

 ダウンロードし、SignSis_v1[1].01_b4.sisxmyunsignedfile.sisx にリネーム、E: へコピー。

 705NKのメニュー/エンタテイメントにあるPythonを起動。

 オプション→Run Script → e: UnsignedInstaller.py にカーソルあわせてOK。ログが表示されて完了。


6)制限アプリ(勝手アプリ)のインストール

ここでは高機能なファイルブラウザY-Browserをインストールします。


6-1,http://www.drjukka.com/files/Y_Browser_3rdEd_088_3.SISをダウンロード


6-2,Y_Browser_3rdEd_088_3.SIS を myunsignedfile.sisx にリネームし、E: へコピー。


6-3,SignSisを起動(メニュー/エンタテイメント)、Sisの横のボックスでカーソルを選択、コピーしたmyunsignedfileを選択。Option で self sign を選択。


6-4,self sign後、Pythonを起動(メニュー/エンタテイメント)、オプション → Run Script → e: UnsignedInstaller.py にカーソルあわせてOK。ログが表示されて完了。


6-5、Y-Browserはメニュー画面にDrJukka.comというフォルダができその中にインストールされます。このブラウザはZ;にもアクセスできるのでさらに奥深いところをいじくることが可能になります。ここでお世話になった試用版のsymSMBとお別れです。


7)MIDP制限解除


7-1,Allfile化しておく


7-2,ROMPatcherをインストール

 http://www.ipmart-forum.com/showthread.php?t=247991  ROMPatcher_pre_FP1をPC上にダウンロード。ipmartにユーザー登録必要。無料。

 解凍後、USBケーブルを使いPC suiteモードで705NKを接続。TRKを起動する。 

 RPInstaller.exeをPCで起動。TRKのCOMポートを選択してinstallをボタン押す。 

 ログがでてErrorが出なかったら成功。RPInstaller.exeもTRKも終了。 


7-3,705NKのメモリーカードE:直下に E:¥Patchesフォルダを作成。 


7-4,Y-Browser等で705NKのz:¥sys¥bin¥EFSrv.dllをコピーしてPCに置いておく。 


7-5,driveCbeforeZ Patchをインストール

 http://www.noeman.org/gsm/symbian-os-9-1-applications/61671-c2z-patch-creator-fca00000-updated-11th-may-08-a.html 

 このページのAttached Files c2z.rar (20.3 KB, 51 views) をダウンロード、そして解凍。

 解凍したフォルダの中に7-4で抜いたEFSrv.dllを入れる。

 c2z.exeをPCで起動。自動でc2z.rmpというパッチファイルが同じフォルダに作成される。

 このc2z.rmpを705NKのE:¥Patchesフォルダにコピーする。 


7-6,midp2_rp.xpfを書き換える。 

 Y-Browser等でz:\system\data\midp2\security\policy\にあるmidp2_rp.xpfをコピー。 

 PCに抜いて来てmidp2_rp.xpfをテキストデディタ等で編集する。検索でMaximumModeの項目すべての SessionをBlanketに変更する。

 更にDefaultMode:の項目もBlanketに変更する。最後に文字コードUTF-8N(BOM無し) 改行コードLFで保存。

 書き換えがめんどくさい人は書き換え済みのmidp2_rp.xpf  http://www.geocities.jp/mecabox2/Book2.htm 


7-7,書き換えたmidp2_rp.xpfをC:に置く。 

 c:にc:\system\data\midp2\security\policy\をY-Browserで作成して編集済みのmidp2_rp.xpfを置く。 


7-8,driveCbeforeZ Patchの適用 

 7-2,でインストールしたROMPatcherを起動する。c2zというPatchファイルが表示されるので選択。 

 オプション→Patch→Apply(パッチを無効にする時は逆にDisableすればOK) 

 青い矢印のアイコンが緑のチェックマークのアイコンに変わったらパッチ適用成功。 


7-9,アプリの設定

 ツール→アプリでアプリマネージャを開く。オプション→スイート設定を開くと

 警告の原因のパーミッションの項目、ユーザーデータ読み取りとユーザーデータ編集の項目から

 初回のみ確認と常時許可が追加で選べるようになっている。好きな方を選択。 他の項目のパーミッションも好みで選択して終了。 


8)OperaMiniでWAP接続


8-1,用意するもの

 OperaMiniのjadおよびjarファイルをダウンロード

 http://www.operamini.com/download/pc/

 WAP_patch.zipをダウンロードして解凍

 http://series60.sakura.ne.jp/6630/pukiwiki.php?plugin=attach&pcmd=open&file=WAP_patch.zip&refer=%A4%A6%A3%F0%A4%ED%A4%C0 

 JDK 6 The Java SE Development Kit (JDK) をダウンロードしてデフォルトでインストール

 http://java.sun.com/javase/ja/6/download.html 

 Sun Java Wireless Toolkit 2.5 for CLDC, Beta 2 Release をダウンロードしてデフォルトでインストール 

 http://java.sun.com/products/sjwtoolkit/ja_download-2_5.html 


8-2,PC上でWAP_patch.zipを解凍するとWAP_patchというフォルダが生成され、中にあるWAP_patch.jarを開く


8-3,必要事項を記入してスタートをクリック

 

 Select JAVA_HOME directory

  デフォルトでインストールしていれば、C:\Program Files\Java\jdk1.6.0_02

 Select Sun Java WTK directory

  デフォルトでインストールしていれば、C:\WTK25

 Select J2ME app descriptor(jad file)

  Patchをあてたいjad書類を選択

 Select J2ME application(jar file)

  Patchをあてたいjar書類が自動選択される

 User Agent

  以下のテキストをコピーペースト(ctrl+vで)

  SoftBank/1.0/705NK/NKJ00 Series60/3.0 NokiaN73/X.XX.XX Profile/MIDP-2.0 Configuration/CLDC-1.1 

 XML Profile

  以下のテキストをコピーペースト(ctrl+vで)

  http://nds1.nds.nokia.com/uaprof/NN73-1r100-SB3G.xml

 そしてスタートボタンをクリック


 すると以下のようなログが


Extracting from MIDlet JAR...

Extracting from MIDlet JAR successful!

Adding to classpath: .;C:¥WTK2.5.2¥lib¥cldcapi10.jar;C:¥WTK2.5.2¥lib¥j2me-ws.jar;C:¥WTK2.5.2¥lib¥j2me-xmlrpc.jar;C:¥WTK2.5.2¥lib¥jsr082.jar;C:¥WTK2.5.2¥lib¥jsr179.jar;C:¥WTK2.5.2¥lib¥jsr180.jar;C:¥WTK2.5.2¥lib¥jsr184.jar;C:¥WTK2.5.2¥lib¥jsr211.jar;C:¥WTK2.5.2¥lib¥jsr226.jar;C:¥WTK2.5.2¥lib¥jsr229.jar;C:¥WTK2.5.2¥lib¥jsr234.jar;C:¥WTK2.5.2¥lib¥jsr238.jar;C:¥WTK2.5.2¥lib¥jsr239.jar;C:¥WTK2.5.2¥lib¥jsr75.jar;C:¥WTK2.5.2¥lib¥midpapi20.jar;C:¥WTK2.5.2¥lib¥midpapi21.jar;C:¥WTK2.5.2¥lib¥mmapi.jar;C:¥WTK2.5.2¥lib¥satsa-apdu.jar;C:¥WTK2.5.2¥lib¥satsa-crypto.jar;C:¥WTK2.5.2¥lib¥satsa-jcrmi.jar;C:¥WTK2.5.2¥lib¥satsa-pki.jar;C:¥WTK2.5.2¥lib¥wma11.jar;C:¥WTK2.5.2¥lib¥wma20.jar;C:¥Documents and Settings¥Administrator¥テfテXテNテgテbテv¥opera-mini-4.1.11355-advanced-int.jar;

Fixing critical HTTP headers...

    Checking class a...

        -> successfully added User-Agent and X-WAP-Profile Header (HttpConnection only)

        -> successfully added User-Agent and X-WAP-Profile Header (HttpConnection only)

        -> successfully added User-Agent and X-WAP-Profile Header (HttpConnection only)

        -> replaced existing User-Agent Header

        -> replaced existing User-Agent Header

        -> replaced existing User-Agent Header

        ...saving 6 changes

        successfully saved 6 changes!

    Checking class B...

    Checking class Browser...

    Checking class C...

    Checking class Code...

    Checking class d...

    Checking class e...

        -> successfully added User-Agent and X-WAP-Profile Header (HttpConnection only)

        ...saving 1 changes

        successfully saved 1 changes!

    Checking class f...

    Checking class g...

    Checking class h...

    Checking class I...

    Checking class J...

        -> successfully added User-Agent and X-WAP-Profile Header (HttpConnection only)

        -> successfully added User-Agent and X-WAP-Profile Header (HttpConnection only)

        -> successfully added User-Agent and X-WAP-Profile Header (HttpConnection only)

        -> successfully added User-Agent and X-WAP-Profile Header (HttpConnection only)

        -> successfully added User-Agent and X-WAP-Profile Header (HttpConnection only)

        -> successfully added User-Agent and X-WAP-Profile Header (HttpConnection only)

        -> successfully added User-Agent and X-WAP-Profile Header (HttpConnection only)

        -> successfully added User-Agent and X-WAP-Profile Header (HttpConnection only)

        -> successfully added User-Agent and X-WAP-Profile Header (HttpConnection only)

        -> successfully added User-Agent and X-WAP-Profile Header (HttpConnection only)

        -> successfully added User-Agent and X-WAP-Profile Header (HttpConnection only)

        -> successfully added User-Agent and X-WAP-Profile Header (HttpConnection only)

        ...saving 12 changes

        successfully saved 12 changes!

    Checking class Z...

Fixing critical HTTP headers successful (3 classes changed)!

Preverifying fixed classes...

Preferification of fixed classes successful!

Creating updated JAR file...

Creation of updated JAR file successful!

Creating updated JAD file...

Creation of updated JAD file successful!


userAgent : SoftBank/1.0/705NK/NKJ00 Series60/3.0 NokiaN73/X.XX.XX Profile/MIDP-2.0 Configuration/CLDC-1.1

WAP profile : http://nds1.nds.nokia.com/uaprof/NN73-1r100-SB3G.xml


8-4,パッチを当てた書類をインストール

 無事終了するとOutputというフォルダがデスクトップ等に生成され中にパッチのあたったjadおよびjar書類が作られています。

 このjad およびjar書類を705nkのE:メモリカードにコピーしてファイルブラウザ等で選択するとインストールが始まります。

 これでインストールしたOperaMiniはWAP接続が選択できます。

 

以上でよりオリジナルに近いN73となりました。


注意事項

 本体内部メモリ損傷、パケ死、ダウンロードによるウイルス感染、リンク切れ等、当方は一切責任を負いませんので自己責任の範囲内で行うこと。

 この文章はネット上に散らばる沢山の作業法を自分で理解しやすいように一つにまとめ場合によってはコピーし、改変しています。

 オリジナルの文章とおなじ表現があるかもしれませんが少しでも理解しやすくするためのもので、悪意をもち、商業的利益のために行ったものではありません。