Hatena::ブログ(Diary)

applet@Hatena このページをアンテナに追加 RSSフィード

2016-01-20

EVコードサイニング証明書取得手続き中

昨年末から開始し、一月ほど経って、やっと審査に進みました。

通常のコードサイニング証明書と、EVコードサイニング証明書の2種類取得手配中です。

実在確認が、登記事項証明書ではなく、DUNSナンバーだったことや正月を挟んだこともあり時間を要しました。

(ちなみにGoogle Business Listingでも良いのですが、こちらも2週間ぐらいはかかります。)

取得を検討される法人は、あらかじめDUNSナンバーを取得され、海外向けの企業名が適切になっているとか、電話番号が登録されているなどを確認された方がスムーズに進むと思います。

追伸、本年もよろしくお願いいたします。

https://msdn.microsoft.com/en-us/library/windows/hardware/hh801887.aspx

Get a code signing certificate

現在は2社ではなく5社に増えています。上記からDigiCertへのリンクを使えば50%引きのようです。残念ながら使っていません。

2015-10-21

フライトスティック 2 x64デバイスドライバ リリースのお知らせ

署名付きの64bit環境向けのデバイスドライバは、以下からダウンロードできます。

特に制限の無いシェアウェアとしました。現在A,Bボタンが機能しないと言う報告を受けており、ソースコード開発元に問い合わせています。

→ 追記。A,Bボタンは、アナログボタンなので、プロパティの設定タブにおいて閾値を設定することで、うまく動作するようになるそうです。

http://appletkan.com/download/ds-project/FS2_1.1.2_Win7_x64_signed.zip

https://gumroad.com/l/nAqWa

2015-10-13

フライトスティック2 x64デバイスドライバ

サポート依頼を受けて、フライトスティック2の64bit版デバイスドライバを手元でビルドして署名を付けてトライアル中。

現在、うまくインストールできないという御報告を受けているため、提供したファイルの確認を依頼することにしました。

以下が提供しているfs2.sysファイルのプロパティを表示させたもの。

全く同じ状況であれば、署名には問題が無いことになるはずと思います。

10/21追記、以下の情報は、署名を付け直したので、もう古くなっています。でもデバイスドライバをリリースしました。

http://d.hatena.ne.jp/applet_at_h/20151021/1445421326

1. fs2.sysのプロパティ ファイルサイズは30024バイト

f:id:applet_at_h:20151013002125p:image

2. デジタル署名 タブをクリックした後の画面

f:id:applet_at_h:20151013002123p:image

3. G.K.Appletをクリック

f:id:applet_at_h:20151013002122p:image

4. 詳細ボタンをクリックした後の画面

f:id:applet_at_h:20151013002121p:image

5. 証明書の表示ボタンをクリックした後の画面

f:id:applet_at_h:20151013002119p:image

6. 証明のパス タブをクリックした後の画面

f:id:applet_at_h:20151013002118p:image

7. 先の4.の画面において、副署名のGlobal Sign Tをクリック

f:id:applet_at_h:20151013002117p:image

8. 詳細ボタンをクリックした後の画面

f:id:applet_at_h:20151013002116p:image

9. 証明書の表示ボタンをクリックした後の画面

f:id:applet_at_h:20151013002115p:image

10. 証明のパス タブをクリックした後の画面

f:id:applet_at_h:20151013002114p:image

2015-09-26

Windows 10向け来年以降のデバイスドライバの署名の話

http://blogs.msdn.com/b/jpwdkblog/archive/2015/09/18/windows-10-sha-1.aspx

Windows 10SHA-1 廃止ポリシーによるドライバ署名への影響について


Windows 10向けでカーネルモードデバイスドライバを提供する場合、いずれ(RTMを除く)以下のようなことになる様子。

1. VerisignかDigiCertからEVコードサイニング証明書を取得する。

2. Windows デベロッパーセンターのハードウェアダッシュボードのアカウントを作成する。

3. ハードウェアダッシュボードで、Driver Signing Submissionを使い、マイクロソフト署名を付けてもらう。


「のどか」の場合、次のハードルがある。

(1) infを用いたデバイスドライバに変える必要がある。

(2) GlobalSignではなく、VerisignかDigiCertからEVコードサイニング証明書を入手する。

ドライバを新しくしなければ当面はOKだけれども。

 …


GlobalSignとはもう会社設立時からの付き合いだから6年にもなるのだが、日本法人の日本人向けのサービスは手厚く大変良かったと思う。だから、MicrosoftはGlobalSignも仲間に入れてくれないかなと思う。

追記。GlobalSignでもEVコードサイニング証明書はあるので、これが、Microsoftハードウェアダッシュボードで使えるか、GlobalSignかMicrosoftに問い合わせてみようと思う。

追記2. Verisignシマンテックで現在扱われているが、日本法人ではEVコードサイニング証明書は扱っていない。GlobalSignのは85000円/年だが、DigiCertのはサイバートラストで扱っていて、75000円/年。アールエムエスという会社も代理店だが76900円/年と少し高い。Digicert直で購入するなら$449と安価だが、インターナショナルシッピング(USBドングルが送られてくる)されるかどうかは不明。日本に代理店が二つもあれば普通日本で購入せよという話になるとは思う。

Symantec直だと、$795/年だったので、ここはサイバートラスト扱いのDigiCert一択となると思う。


以下は追加情報。

https://msdn.microsoft.com/ja-jp/library/windows/hardware/dn962252(v=vs.85).aspx

ドライバーの署名

https://msdn.microsoft.com/ja-jp/library/windows/hardware/dn962263(v=vs.85).aspx

コード署名証明書の取得

2015-09-18

のどか4.29リリース

 Windows 10での制限事項はありますが、4.29をリリースしました。

 評価版はこちら。http://www.appletkan.com/download/nodoka-4.29_sample_setup.zip

 

 アップグレード版も用意したので、すべてのユーザー様に御案内をお送りいたしました。

 短い修正履歴 詳細はヘルプの改版履歴をご覧ください。

  http://www.appletkan.com/nodoka-doc/MANUAL-ja.html#HISTORY

2015-09-17 「のどか」4.29をリリース

Windows 10対応

Windows 10対応を記念して、4.29評価版では30分しか使えない制限を廃止しています。ただし2015-12-27までの使用期限があります。

・実行ファイルのminifestにて、Windows 7からWindows 10までの互換フラグを設定しました。

インストール時に過去にインストール済であれば、「デバイスドライバインストールしない」にチェックを付けるようにしました。

Windows 10では上書きインストールの際、デバイスドライバファイルの上書きに失敗するためです。

Windows 10へのインストール関係の情報やのどかの制限事項は、ヘルプの「Windows 10へのインストール関係の情報」 http://www.appletkan.com/nodoka-doc/MANUAL-ja.html#Windows10 にまとめましたので忘れずにご覧ください。

その他

インストール時にkbdclassのドライバが既に存在する場合、nodokadドライバが、kbdclassの次に来るよう変更しました。

VMwareなどのドライバと併用するとキー入力時にWindowsフリーズする対策です。

・キー入力のログのうち、拡張キーであるE0E1-が付いてる場合、以前は空白を表示していましたが、E0E1-を表示するようにしました。

 以上、よろしくお願いいたします。

2015-07-29

のどか4.28リリース

 ずいぶん空いてしまい大変申し訳ありません。のどかの不具合を修正してリリースしました。

 サンプル版はこちら。 http://www.appletkan.com/download/nodoka-4.28_sample_setup.zip

 正式版の御案内はユーザー様にメールにて御連絡致します。

 また、Windows 10対応版をWindows 10での評価後、制限事項などを調べた後でリリース予定です。

 2014年以前(2014/12/31以前)に購入されたユーザー様は、Windows 10対応にはアップグレード版(4.30)の購入が必要となります。予価1000円で期間限定販売となります。購入を御希望されない場合には、この4.28か次の4.29が最終サポートバージョンとなります。なおWindows 10上ですべての不具合解消や機能追加を保証するものではありません。

 以下は4.28での修正履歴

2015-07-28 「のどか」4.28をリリース

 機能修正

 ・整合性レベルHILを実現方法を4.26相当に戻して nodoka64_hil.exe, nodoka_hil.exeの復活 #34606

・def option SendTextDelayの改修 #34613

 以上、よろしくお願いいたします。

2015-04-26

diskmodインストール状況の確認 

以前にインストール方法などは記載していましたが、インストール後うまく動作しないという御報告を頂いたので、確認方法についてまとめます。

インストール方法やアンインストール方法はこちら。

http://d.hatena.ne.jp/applet_at_h/20140712/1405141835:インストール方法と簡単な使い方

http://d.hatena.ne.jp/applet_at_h/20140713/1405178341:一時的に機能をオフにする方法、アンインストール方法、その他

それでは以下1,2,3の順に、インストールされたデバイスドライバの確認やデバイスドライバUSBメモリデバイスドライバとして設定されているかどうかや、レジストリへの設定値の確認を順に行っていきます。

1. エクスプローラで、diskmod.sysの存在やデジタル署名の確認

 インストール先は、C:\Windows\system32\driversとなります。

 ファイルサイズや作成時刻などを御確認下さい。

f:id:applet_at_h:20150426235440p:image

 diskmod.sysを右クリックでプロパティを開いてください。

f:id:applet_at_h:20150426235601p:image

 デジタル署名のタブをクリックしてください。

f:id:applet_at_h:20150426235659p:image

 G.K.Appletをクリックして選択した後で、詳細ボタンをクリックしてください。

f:id:applet_at_h:20150426235659p:image

 ここで証明書の表示を押すと、次のダイアログが開きます。証明書の期限を御確認下さい。

 2014/11/20までとなっていますが、次に確認する副署名があるので問題ありません。

f:id:applet_at_h:20150427000242p:image

 OKボタンをクリックして閉じて今度は、副署名のGlobal Signの表示をクリックしてください。

f:id:applet_at_h:20150427000538p:image

 続いて、詳細ボタンをクリックしてください。すると次のダイアログ表示となります。

f:id:applet_at_h:20150427000644p:image

 証明書の表示ボタンをクリックしてください。有効期限が2024/9/23になっていることを御確認下さい。

f:id:applet_at_h:20150427000732p:image

 以上で、インストールされたデバイスドライバファイルの確認は終了です。

 もし、副署名の表示が無い場合やデジタル署名の証明書表示の際、証明のパスのルートがGlobal Signになっていて、その署名も御確認下さい。もし有効期限が切れている場合には、Windows Updateをすべて実行する必要があります。

 

2. USBメモリデバイスドライバにdiskmodが含まれているか確認する。

 エクスプローラでマイコンピュータを開き、USBメモリをクリックしてください。

 USBメモリリムーバブル扱いになっている場合

 f:id:applet_at_h:20150427002311p:image

 USBメモリハードディスク扱いになっている場合

 f:id:applet_at_h:20150427002436p:image

 

 続いて、USBメモリを右クリックしてプロパティを開いて、ハードウェアのタブを開きます。 

 f:id:applet_at_h:20150427002709p:image

 下のデバイスプロパティ表示で、場所がUSB大容量記憶装置となるものを上側の全ディスクドライブのいずれかからクリックして選んでください。

 ここでは、Storage Xtreamer USB Deviceが該当しました。 

 f:id:applet_at_h:20150427002955p:image

 ここで、プロパティボタンをクリックすると、プロパティダイアログが表示されます。 

 f:id:applet_at_h:20150427003108p:image

 続いて、ドライバータブをクリックしてください。

 f:id:applet_at_h:20150427003207p:image

 続いて、ドライバの詳細をクリックしてください。すると以下の表示となります。

 disk.sys, diskmod.sys, partmgr.sys の3個デバイスドラバが表示されるので、diskmod.sysをクリックした状態が以下となります。

 プロバイダーの表記などを御確認下さい。

 f:id:applet_at_h:20150427003302p:image

3, レジストリ設定の確認

 スタートメニューから regeditとタイプして、レジストリエディタを起動してください。

 f:id:applet_at_h:20150427003602p:image

 レジストリエディタで、HKLM\SYSTEM\CurrentControlSet\Services\diskmodを開いて、以下の画面の各パラメータになっているか御確認下さい。

 f:id:applet_at_h:20150427003925p:image

 1_USBFlashDrive_as_HDD.exeを実行した場合は、Parametersの値が以下になっていることを御確認下さい。 Paging : 1 enable, Removable : 0 fixedとなります。

 f:id:applet_at_h:20150427004027p:image

 

 2_USBHDD_as_USBFlashDrive.exeの場合には以下となります。

Paging : 2 unmodified, Removable : 1 removableとなります。

 f:id:applet_at_h:20150427004025p:image

 

 3_USB_as_Normal.exeの場合には以下となります。

Paging : 2 unmodified, Removable : 2 unmodified

 f:id:applet_at_h:20150427004024p:image

 確認出来るところは以上となります。以上、よろしくお願い致します。

 

2015-03-11

「のどかFree版」について

会社のPCに正式版をインストールする場合、「のどかFree版」と呼ぶことにしました。

ここでFreeとは、無料ではなくて自由を指すことになります。当初から許諾されていましたが、お問い合わせがあったこともあり、明確にするために名称を付けたことになります。

企業などでのPCインストールソフト登録の際、購入時のメールの控えや、ヘルプのライセンス条項と合わせて、以下のページを保存して

使用許諾権利やのどかFree版の項を示す手段が使えます。

以上、よろしくお願いいたします。

http://www.appletkan.com/nodoka-QandA.htm

「のどか」Q&A 

バージョンアップごとに購入が必要? 家族での共有は? 使用許諾範囲は?

のどかFree版について

2014-11-16

4.27リリース

 こんにちは。合同会社アプレットです。大変お世話になっています。

 「のどか」の新しいバージョンをリリースいたします。

  BadUSB対策など機能追加と、マルチモニター向け改修を実施したものとなります。

 サンプル版のセットアップファイルは下記に置きました。お時間あるときに、ダウンロードしてください。

 http://www.appletkan.com/download/nodoka-4.27_sample_setup.zip

 なお、変更内容は以下となります。以上、よろしくお願いいたします。


2014-11-16 「のどか」4.27をリリース

 機能追加

 ・BadUSBによる悪意を持つキーボードを排除するための設定ファイル追加

 ・ロックキーの拡張

 ・モディファイヤーキー名の別名追加

 ・整合性レベルを指定する起動時引数-gの追加とnodoka64_hil.exe, nodoka_hil.exeの削除

 機能修正

 ・3個以上のマルチモニター対応

 ・一部のファンクション キーアップ時だけ機能するよう修正

 ・複数キーボード対応拡張と修正 Bluetoothキーボード対応追加

 ・Surface Pro 3のペンボタンキー定義 追加

 詳しい変更履歴はこちら。

 http://www.appletkan.com/nodoka-doc/MANUAL-ja.html#HISTORY

 追記 4.27を含むバグその他はこちら。

 https://sourceforge.jp/projects/nodoka4/ticket/

2014-11-11

BadUSBによる悪意のあるキーボードからの入力を禁止する。

4.27リリースに入れられるよう104/109設定両用化してみました。

ついでに、編集せずデフォルトのままでも、PS/2接続の日本語あるいは英語キーボードのみ許可するよう改良しています。

# no_badusb.nodoka 2014-11-11 by G.K.Applet

def option UnitID = K1 0 771 0 # 初めて読み込んだ時に御使いのキーボードの設定が K1になるよう引数を変更してください。

# この設定は PS/2接続の英語キーボード PNP0303が有効になっています。

def option UnitID = K2 0 800 0 # この設定では、PS/2接続の日本語キーボード PNP0320です。

# なお、この no_badusb.nodokaを読み込むと K0扱いになったキーボードからはキー入力できないので編集される場合には必ず、他の設定を選択してください。

def option FakeUp = enable 20 84 # 0x54=84 SysRqをダミーキーに設定しています。

key K0-*A = &Ignore

key K0-*B = &Ignore

key K0-*C = &Ignore

key K0-*D = &Ignore

key K0-*E = &Ignore

key K0-*F = &Ignore

key K0-*G = &Ignore

key K0-*H = &Ignore

key K0-*I = &Ignore

key K0-*J = &Ignore

key K0-*K = &Ignore

key K0-*L = &Ignore

key K0-*M = &Ignore

key K0-*N = &Ignore

key K0-*O = &Ignore

key K0-*P = &Ignore

key K0-*Q = &Ignore

key K0-*R = &Ignore

key K0-*S = &Ignore

key K0-*T = &Ignore

key K0-*U = &Ignore

key K0-*V = &Ignore

key K0-*W = &Ignore

key K0-*X = &Ignore

key K0-*Y = &Ignore

key K0-*Z = &Ignore

key K0-*Esc = &Ignore

key K0-*F1 = &Ignore

key K0-*F2 = &Ignore

key K0-*F3 = &Ignore

key K0-*F4 = &Ignore

key K0-*F5 = &Ignore

key K0-*F6 = &Ignore

key K0-*F7 = &Ignore

key K0-*F8 = &Ignore

key K0-*F9 = &Ignore

key K0-*F10 = &Ignore

key K0-*F11 = &Ignore

key K0-*F12 = &Ignore

if ( !USE104 )

key K0-半角/全角 = &Ignore

else

key K0-BackQuote = &Ignore

endif

key K0-*_1 = &Ignore

key K0-*_2 = &Ignore

key K0-*_3 = &Ignore

key K0-*_4 = &Ignore

key K0-*_5 = &Ignore

key K0-*_6 = &Ignore

key K0-*_7 = &Ignore

key K0-*_8 = &Ignore

key K0-*_9 = &Ignore

key K0-*_0 = &Ignore

key K0-*Minus = &Ignore

if ( !USE104 )

key K0-*Caret = &Ignore

key K0-*Yen = &Ignore

else

key K0-*Equal = &Ignore

endif

key K0-*BS = &Ignore

key K0-*Tab = &Ignore

if ( !USE104 )

key K0-*Atmark = &Ignore

endif

key K0-*OpenBracket = &Ignore

key K0-*CloseBracket = &Ignore

key K0-*BackSlash = &Ignore

if ( !USE104 )

key K0-*英数 = &Ignore

key K0-*Colon = &Ignore

else

key K0-*CapsLock = &Ignore

key K0-*Quote = &Ignore

endif

key K0-*Semicolon = &Ignore

key K0-*Enter = &Ignore

key K0-*Comma = &Ignore

key K0-*Period = &Ignore

key K0-*Slash = &Ignore

if ( !USE104 )

key K0-*BackSlash = &Ignore

key K0-*無変換 = &Ignore

key K0-*変換 = &Ignore

key K0-*ひらがな = &Ignore

endif

key K0-*Space = &Ignore

key K0-*Apps = &Ignore

key K0-*PrintScreen = &Ignore

key K0-*Scroll = &Ignore

key K0-*Pause = &Ignore

key K0-*Insert = &Ignore

key K0-*Home = &Ignore

key K0-*PageUp = &Ignore

key K0-*Del = &Ignore

key K0-*End = &Ignore

key K0-*PageDown = &Ignore

key K0-*Up = &Ignore

key K0-*Left = &Ignore

key K0-*Down = &Ignore

key K0-*Right = &Ignore

key K0-*NumLock = &Ignore

key K0-*NumSlash = &Ignore

key K0-*NumAsterisk = &Ignore

key K0-*NumMinus = &Ignore

key K0-*NumPeriod = &Ignore

key K0-*NumPlus = &Ignore

key K0-*NumEnter = &Ignore

key K0-*Num0 = &Ignore

key K0-*Num1 = &Ignore

key K0-*Num2 = &Ignore

key K0-*Num3 = &Ignore

key K0-*Num4 = &Ignore

key K0-*Num5 = &Ignore

key K0-*Num6 = &Ignore

key K0-*Num7 = &Ignore

key K0-*Num8 = &Ignore

key K0-*Num9 = &Ignore

# EOF

2014-10-18

BadUSB 対策

のどかの複数キーボード対応機能を用いて、未設定の後から接続された任意のUSBキーボードからの入力を無効にする設定ファイル。日本語109キーボード対応版。

def option UnitID = K1からK7に、御使いのキーボードだけを定義すれば、任意のキーボードは、K0モディファイヤーが付くので、すべて&Ignoreとなり、入力無効となります。

気休めに過ぎませんが、悪意のあるUSBデバイスであるBadUSBでキーボード化された場合の対策になるでしょう。

前回、英語104キーボードに対応したものは、こちら。

http://d.hatena.ne.jp/applet_at_h/20141008/1412780113

include "109.nodoka"

keymap Global

def option UnitID = K1 1241 5120 0

def option FakeUp = enable 20 84

key K0-*A = &Ignore

key K0-*B = &Ignore

key K0-*C = &Ignore

key K0-*D = &Ignore

key K0-*E = &Ignore

key K0-*F = &Ignore

key K0-*G = &Ignore

key K0-*H = &Ignore

key K0-*I = &Ignore

key K0-*J = &Ignore

key K0-*K = &Ignore

key K0-*L = &Ignore

key K0-*M = &Ignore

key K0-*N = &Ignore

key K0-*O = &Ignore

key K0-*P = &Ignore

key K0-*Q = &Ignore

key K0-*R = &Ignore

key K0-*S = &Ignore

key K0-*T = &Ignore

key K0-*U = &Ignore

key K0-*V = &Ignore

key K0-*W = &Ignore

key K0-*X = &Ignore

key K0-*Y = &Ignore

key K0-*Z = &Ignore

key K0-*Esc = &Ignore

key K0-*F1 = &Ignore

key K0-*F2 = &Ignore

key K0-*F3 = &Ignore

key K0-*F4 = &Ignore

key K0-*F5 = &Ignore

key K0-*F6 = &Ignore

key K0-*F7 = &Ignore

key K0-*F8 = &Ignore

key K0-*F9 = &Ignore

key K0-*F10 = &Ignore

key K0-*F11 = &Ignore

key K0-*F12 = &Ignore

key K0-半角/全角 = &Ignore

key K0-*_1 = &Ignore

key K0-*_2 = &Ignore

key K0-*_3 = &Ignore

key K0-*_4 = &Ignore

key K0-*_5 = &Ignore

key K0-*_6 = &Ignore

key K0-*_7 = &Ignore

key K0-*_8 = &Ignore

key K0-*_9 = &Ignore

key K0-*_0 = &Ignore

key K0-*Minus = &Ignore

key K0-*Caret = &Ignore

key K0-*Yen = &Ignore

key K0-*BS = &Ignore

key K0-*Tab = &Ignore

key K0-*Atmark = &Ignore

key K0-*OpenBracket = &Ignore

key K0-*CloseBracket = &Ignore

key K0-*BackSlash = &Ignore

key K0-*英数 = &Ignore

key K0-*Semicolon = &Ignore

key K0-*Colon = &Ignore

key K0-*Enter = &Ignore

key K0-*Comma = &Ignore

key K0-*Period = &Ignore

key K0-*Slash = &Ignore

key K0-*BackSlash = &Ignore

key K0-*無変換 = &Ignore

key K0-*Space = &Ignore

key K0-*変換 = &Ignore

key K0-*ひらがな = &Ignore

key K0-*Apps = &Ignore

key K0-*PrintScreen = &Ignore

key K0-*Scroll = &Ignore

key K0-*Pause = &Ignore

key K0-*Insert = &Ignore

key K0-*Home = &Ignore

key K0-*PageUp = &Ignore

key K0-*Del = &Ignore

key K0-*End = &Ignore

key K0-*PageDown = &Ignore

key K0-*Up = &Ignore

key K0-*Left = &Ignore

key K0-*Down = &Ignore

key K0-*Right = &Ignore

key K0-*NumLock = &Ignore

key K0-*NumSlash = &Ignore

key K0-*NumAsterisk = &Ignore

key K0-*NumMinus = &Ignore

key K0-*NumPeriod = &Ignore

key K0-*NumPlus = &Ignore

key K0-*NumEnter = &Ignore

key K0-*Num0 = &Ignore

key K0-*Num1 = &Ignore

key K0-*Num2 = &Ignore

key K0-*Num3 = &Ignore

key K0-*Num4 = &Ignore

key K0-*Num5 = &Ignore

key K0-*Num6 = &Ignore

key K0-*Num7 = &Ignore

key K0-*Num8 = &Ignore

key K0-*Num9 = &Ignore

2014-10-12

4.27評価版

・4個以上のマルチモニタ対応

・複数キーボード対応にBluetoothキーボードを含める

上記二つの御要望に対する機能修正を入れた「のどか」評価版を作成しました。

以下からダウンロード出来ます。もし可能ならば動作御報告など頂けると幸いです。

http://www.appletkan.com/download/2014-10-12_nodoka.zip

zipファイルにパスワードはありません。

nodoka.exe, nodoka64.exeのバージョン番号は4.27になっていますが正式なものではなく、ディジタル署名の期限が2014-11-20となっています。

また実行ファイルしか入っていません。

以下、修正内容の詳細となります。

4個以上のマルチモニタ対応とは、従来は、ディスプレイの並び方が、Windowsが返す順番になっていましたが、座標が大きいものが次のディスプレイとなるように並び替え、&MouseMonitorや、&WindowMonitorが正しく使えるようになります。

複数キーボード対応時に、Bluetoothデバイスは認識できていませんでしたが、判別できるようにしました。

また、GuiEdit.exeは1.03になっていますが、これはときどきウィンドウサイズが最小になったまま起動することがあるので、ある一定以上より小さいときはデフォルトサイズに変更するようにしました。

以上、よろしくお願いいたします。


2014-10-12 追伸。

マルチモニタ対応のご評価を頂き、うまく動いていないとのこと。大変残念ですが環境作ってデバッグする必要があると認識しました。

2014-10-14 追伸。モニタの位置判断に誤りがあり、上下位置をtopで判断するバイナリを作ってみました。

http://www.appletkan.com/download/2014-10-14_nodoka.zip

2014-10-18 追伸。10/14版だと、topを揃えている場合には問題ありませんが、bottomで揃えている場合に問題があるので、上下位置をtop,bottom両方で判断するようにしました。

http://www.appletkan.com/download/2014-10-18_nodoka.zip

2014-11-02 追伸。以下の設定で、Ctrl-4やCtrl-8を使ってモニタを左に辿って行くと、左端のモニタから、右に戻れなくなる状態になる不具合に対応しました。

http://www.appletkan.com/download/2014-11-02_nodoka.zip

key C-_4 = &WindowMonitorTo(current, -1)

key C-_5 = &WindowMonitor(0)

key C-_6 = &WindowMonitorTo(current, 1)

key C-_8 = &MouseMonitorTo(current, -1)

key C-_9 = &MouseMonitor(0)

key C-_0 = &MouseMonitorTo(current, 1)

2014-10-08

悪意のあるUSBデバイスからPCを守る方法

見た目はUSBメモリだが、実はキーボードとして機能し、勝手にキー入力してコマンド実行すると言うデバイスの存在を知った。BadUSBと呼ぶらしい。

http://blog.macnica.net/blog/2014/10/def-con22usb-bc0f.html

DEF CON 22で仕入れた悪意のあるUSBデバイス

のどかだと、複数キーボードを区別してキーマッピングすることには対応しているので、その気になれば、2個目以降の未定義のキーボードからの入力はK0-モディファイヤーが付くので、そのキーをすべて &Ignoreに定義すれば、このような悪意のあるUSBデバイスでも無効にすることが出来る。

しかし、すべてのキー定義を用意するのは面倒なので、一律&Ignoreにするみたいな機能を追加する必要があるだろう。

キーボード機能付きゲーミングマウスを、ある特定動作時には無効にしたいという御要望も以前受けたので、いつか対応してみようと思う。

追伸。

とりあえず、英語キーボードで K1には使用しているキーボードを定義して、それ以外のキーボードのキー入力がすべてK0となったときに、キー入力を無視する設定ファイルを作ってみました。

外部キーボードからのCtrl-Alt-Delも効かず、英語キーボードの全てのキー入力ができないことを確認しました。

BadUSBにより悪意のあるキーボードデバイスが作られ、挿されたときの対策あるいは対応にのどかが使えると言うことになるでしょう。

もっとも操作者にとって、BadUSBが挿せるということは、コンソールが使える状態なので気休めに過ぎません。PCから離れる際は、ロック画面にされた方が良いでしょう。

日本語キーボード設定(109.nodoka)を使用されている場合には、キー定義を一部変更する必要があります。

日本語キーボードの場合の設定ファイルはこちら。 http://d.hatena.ne.jp/applet_at_h/20141018/1413627400

#

include "104.nodoka"

keymap Global

def option UnitID = K1 1241 5120 0

def option FakeUp = enable 20 84

key K0-*A = &Ignore

key K0-*B = &Ignore

key K0-*C = &Ignore

key K0-*D = &Ignore

key K0-*E = &Ignore

key K0-*F = &Ignore

key K0-*G = &Ignore

key K0-*H = &Ignore

key K0-*I = &Ignore

key K0-*J = &Ignore

key K0-*K = &Ignore

key K0-*L = &Ignore

key K0-*M = &Ignore

key K0-*N = &Ignore

key K0-*O = &Ignore

key K0-*P = &Ignore

key K0-*Q = &Ignore

key K0-*R = &Ignore

key K0-*S = &Ignore

key K0-*T = &Ignore

key K0-*U = &Ignore

key K0-*V = &Ignore

key K0-*W = &Ignore

key K0-*X = &Ignore

key K0-*Y = &Ignore

key K0-*Z = &Ignore

key K0-*Esc = &Ignore

key K0-*F1 = &Ignore

key K0-*F2 = &Ignore

key K0-*F3 = &Ignore

key K0-*F4 = &Ignore

key K0-*F5 = &Ignore

key K0-*F6 = &Ignore

key K0-*F7 = &Ignore

key K0-*F8 = &Ignore

key K0-*F9 = &Ignore

key K0-*F10 = &Ignore

key K0-*F11 = &Ignore

key K0-*F12 = &Ignore

key K0-BackQuote = &Ignore

key K0-*_1 = &Ignore

key K0-*_2 = &Ignore

key K0-*_3 = &Ignore

key K0-*_4 = &Ignore

key K0-*_5 = &Ignore

key K0-*_6 = &Ignore

key K0-*_7 = &Ignore

key K0-*_8 = &Ignore

key K0-*_9 = &Ignore

key K0-*_0 = &Ignore

key K0-*Minus = &Ignore

key K0-*Equal = &Ignore

key K0-*BS = &Ignore

key K0-*Tab = &Ignore

key K0-*OpenBracket = &Ignore

key K0-*CloseBracket = &Ignore

key K0-*BackSlash = &Ignore

key K0-*CapsLock = &Ignore

key K0-*Semicolon = &Ignore

key K0-*Quote = &Ignore

key K0-*Enter = &Ignore

key K0-*Comma = &Ignore

key K0-*Period = &Ignore

key K0-*Slash = &Ignore

key K0-*Space = &Ignore

key K0-*Apps = &Ignore

key K0-*PrintScreen = &Ignore

key K0-*Scroll = &Ignore

key K0-*Pause = &Ignore

key K0-*Insert = &Ignore

key K0-*Home = &Ignore

key K0-*PageUp = &Ignore

key K0-*Del = &Ignore

key K0-*End = &Ignore

key K0-*PageDown = &Ignore

key K0-*Up = &Ignore

key K0-*Left = &Ignore

key K0-*Down = &Ignore

key K0-*Right = &Ignore

key K0-*NumLock = &Ignore

key K0-*NumSlash = &Ignore

key K0-*NumAsterisk = &Ignore

key K0-*NumMinus = &Ignore

key K0-*NumPeriod = &Ignore

key K0-*NumPlus = &Ignore

key K0-*NumEnter = &Ignore

key K0-*Num0 = &Ignore

key K0-*Num1 = &Ignore

key K0-*Num2 = &Ignore

key K0-*Num3 = &Ignore

key K0-*Num4 = &Ignore

key K0-*Num5 = &Ignore

key K0-*Num6 = &Ignore

key K0-*Num7 = &Ignore

key K0-*Num8 = &Ignore

key K0-*Num9 = &Ignore

2014-09-26

Toasterサンプルのbuild

WDK 7のToasterサンプルは、C:\WinDDK\7600.16385.1\src\general\toaster にあり、Japan WDK Support Blogに、解説記事がある。

http://blogs.msdn.com/b/jpwdkblog/archive/2010/11/26/toaster-notify-exe.aspx

ToasterサンプルのNotify.exeの使い方


管理者権限でbuildなどと書かれているが、別に普通の権限で良いはずでC:\WinDDK\7600.16385.1\src\general\toaster を D:\toasterとしてコピーして

WIndows Driver Kitのbuild環境のコマンドプロンプトを開いて

D:\toaster に移動し、build[enter]で、すべてのサンプルがbuildされた。


実際に RDP Keyboard filter drvierのサンプルコードを持って行く先は

D:\toaster\wdm\filter だろうと考えるが、実際にコードを見てみないと判らない。