Windows Mobile 5/6 の Standard (X02HT、F1100) には新しいセキュリティモデルが採用されています。

簡単に言えば、以下のようなことに対して制限がかけられ、普通のアプリケーションからはできないことがあります。

  • 特定のAPIの使用
  • 特定ファイルへのアクセス書き換え等

普通ではないアプリケーションというのは簡単に言えば、証明書で署名されているアプリケーションです。書名にもいくつかあり、アプリケーションを分けることができます。

  1. OEM 発行の特権証明署で署名済みのアプリケーション
  2. 第3者の発行期間が発行する証明書で署名済みのアプリケーション
  3. ユーザー発行の証明書で署名済みの
  4. 署名されていないアプリケーション

署名のレベルによって、特定のAPIが使えなくなります。結果としてどうなるかというと、以下のようなことがおきます。どこまでできないかは、OEMメーカーが設定するセキュリティレベル次第で、神のみぞ知るといったところでしょう。

  • レジストリをいじれない(レジストリを書き換えるAPIが使えない)
  • 結果としてセキュリティレベルの変更もできない
  • キーフックができない(メッセージフックのAPIが使えない)

よって、これまで便利に使えていた、キーの割り当て変更アプリケーションや、各種設定変更アプリケーションがWindows Mobile 6 Standard で作れないのはこういった理由があります。

これは、OEMメーカーの意地悪のようにも見えますが、Microsoft 画提供する、おかしなアプリケーションがシステムを壊さないようにする為のセキュリティ機能を設定しているだけなのです。そのアプリケーションがおかしなものでないのなら、ちゃんと証明書をつけて証明しなさいというわけですね。

でも一番厳しい場合は、OEMの署名がついていないと動かないケースもあります。そのばあいは、うちが標準で提供してるシステムツール以外は使えませんというスタンスです。まぁ、解析されて、プロバイダの情報を引き出されても困りますからね。仕方ないと言えば仕方ありません。

このぶぶん、何とか改善できるといいんですけどね。