<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>UAC</title><link>http://blogs.wankuma.com/jitta/category/488.aspx</link><description>Windows Vista の User Acount Control 関連</description><managingEditor>はなおか じった</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>はなおか じった</dc:creator><title>あれれ？：れれ：マニフェスト ファイルの uiAccess</title><link>http://blogs.wankuma.com/jitta/archive/2008/02/27/125266.aspx</link><pubDate>Wed, 27 Feb 2008 23:07:00 GMT</pubDate><guid>http://blogs.wankuma.com/jitta/archive/2008/02/27/125266.aspx</guid><wfw:comment>http://blogs.wankuma.com/jitta/comments/125266.aspx</wfw:comment><comments>http://blogs.wankuma.com/jitta/archive/2008/02/27/125266.aspx#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://blogs.wankuma.com/jitta/comments/commentRss/125266.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/jitta/services/trackbacks/125266.aspx</trackback:ping><description>&lt;BLOCKQUOTE&gt;
&lt;P class=quoteSource&gt;hikenさんからのメール&lt;/P&gt;
&lt;P&gt;Aアプリは、UACのボタン選択も可能です。しかし、UACの窓が閉じ、システムの復元の窓が開きますと、マウスイベントができなくなります。なぜか、キーボードイベントのAlt+F4は受け付け、むりやりシステムの復元の窓を閉じることはできます。&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P class=p&gt;あれれ？てっきり昇格ダイアログのボタンが押せないだと思っていたら、押せる？！画面が暗くなったり、IME バーが出てきたりするので、UI があるところでしか動かない、別のコンテキストで動いているのだと思っていたのですが、押せてしまうの？！&lt;/P&gt;
&lt;P class=p&gt;それって、まずくないですか？&lt;/P&gt;
&lt;P class=p&gt;hikenさんは、たまたま「システムの復元」を行いました。でも、マルウェアが、自分自身を昇格させることができる、そんな想像をしてしまいましたよ？？&lt;/P&gt;
&lt;P class=p&gt;それで、元々の質問。これに答えてなかった。&lt;/P&gt;
&lt;P class=p&gt;&lt;Q&gt;マニフェストのuiAccess="true"と署名が必要なのでしょうか？&lt;/Q&gt;と言う問いは、「yes」であり、「no」です。社本さんのコメントにあるように、マイクロソフトへの申請が必要です（なのだそうです）。&lt;/P&gt;
&lt;P class=p&gt;社本さんのコメントにある、UIPI（ユーザーインターフェイス特権の分離）について、調べてみてください。私も、&lt;A href="http://blogs.wankuma.com/jitta/archive/2006/06/08/30579.aspx"&gt;この辺&lt;/A&gt;で、少しだけ取り上げています。元にしている文書は、&lt;A class=outerLink title=→microsoft.com href="http://www.microsoft.com/downloads/details.aspx?FamilyID=BA73B169-A648-49AF-BC5E-A2EEBB74C16B&amp;amp;displaylang=en"&gt;ダウンロードセンター&lt;/A&gt;からダウンロードしてください。日本語では、&lt;A class=outerLink title=→http://www.microsoft.com/japan/msdn/windowsvista/general/AppComp.aspx#appcomp_topic21 href="http://www.microsoft.com/japan/msdn/windowsvista/general/AppComp.aspx#appcomp_topic21"&gt;アプリケーション互換性解説書&lt;/A&gt;に、記述があります。確認してください。ダウンロードページが見つからなかったのでリンクは張りませんが、『アプリケーション開発者向け Windows Vista 対応アプリケーションの互換性』（ファイル名 Windows_Vista_application_compatibility_paper.doc）という文書があります。これも、目を通しておかれることを勧めます。&lt;/P&gt;&lt;BR&gt;&lt;BR&gt;
&lt;P class=p&gt;最後に、昇格ダイアログのボタンを押せるというのは重大な脆弱性だと思うので、是非、マイクロソフトに連絡してください。窓口は、&lt;A class=outerLink title=→microsoft.com href="http://www.microsoft.com/japan/technet/security/bulletin/alertus.mspx"&gt;脆弱性に関する情報をお寄せください&lt;/A&gt;のページで良いと思います。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/jitta/aggbug/125266.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>はなおか じった</dc:creator><title>れれ：マニフェスト ファイルの uiAccess</title><link>http://blogs.wankuma.com/jitta/archive/2008/02/26/125050.aspx</link><pubDate>Tue, 26 Feb 2008 22:21:00 GMT</pubDate><guid>http://blogs.wankuma.com/jitta/archive/2008/02/26/125050.aspx</guid><wfw:comment>http://blogs.wankuma.com/jitta/comments/125050.aspx</wfw:comment><comments>http://blogs.wankuma.com/jitta/archive/2008/02/26/125050.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.wankuma.com/jitta/comments/commentRss/125050.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/jitta/services/trackbacks/125050.aspx</trackback:ping><description>&lt;P class=p&gt;&lt;A href="http://blogs.wankuma.com/jitta/archive/2007/05/22/77739.aspx"&gt;マニフェスト ファイルの uiAccess&lt;/A&gt;から、直メールをいただきました。&lt;/P&gt;
&lt;P class=p&gt;申し訳ありませんが、ブログや静的ページに対していただいた質問は、公開させていただきます。これは、ブログにしても静的ページにしても、公開しておくことで誰かの役に立つだろうと考えているからです。各ページへのリファラを見ると、検索サイトからのリファラが多くあります。このことから、実際に役に立っていると考えています。&lt;/P&gt;
&lt;P class=p&gt;hikenさんも、書かれているとおり、探し物していてこのページにたどり着かれたとのことです。ここで私が調べたことを、hikenさんにメールで送ると、hikenさんの役にしか立ちません。しかし、元のページはすずさんからいただいたコメントをもとに社本さんやすずさんの協力もあってなりたっている情報です。お二人にも情報の還元はしなければならないと考えます。&lt;SPAN class=comment&gt;そして、私一人じゃ手に負えないから...&lt;/SPAN&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P class=quoteSource&gt;hikenさんからのメール&lt;/P&gt;
&lt;P&gt;私もUIアクセサビリティ"の為のAというソフトウエアを書いているところです。探しまわってたどり着きました。&lt;/P&gt;
&lt;P&gt;SendInputで、マウスやキーボードのイベントを作っております。&lt;BR&gt;たとえば、システムの復元を選択した場合、UACの窓が開きますね。Aアプリは、UACのボタン選択も可能です。しかし、UACの窓が閉じ、システムの復元の窓が開きますと、マウスイベントができなくなります。なぜか、キーボードイベントのAlt+F4は受け付け、むりやりシステムの復元の窓を閉じることはできます。マウスイベントをどのようにかして実現したいのですが、マニフェストのiAccess="true"と署名が必要なのでしょうか？&lt;/P&gt;
&lt;P&gt;Loginのための登録がわかりませんでした。&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P class=p&gt;私は、このオペレーションを自動化することには反対します。理由は、いくつかあります。&lt;/P&gt;
&lt;P class=p&gt;まず、このオペレーションは、開発者が「この先は昇格が必要」と提示するものです。これは、バグや脆弱性によって、乗っ取りを掛けられる対象となりえます。安全のためには、ここは OS などが「このプロセスは、このようなことをしようとしている。これは、君が意図した動作かい？」と尋ねるようになるべきだと考えています。現在のところ、昇格は runas コマンド（および verb）によってなされています。求められるべき姿となるためには、実行中の部分部分で昇格を求める（あるいは、昇格を学習する）必要があろうかと考えます。&lt;/P&gt;
&lt;P clss="p"&gt;そして、今のところ、ユーザーによるアクションによってしか、このプロンプトは表示されません。これが、うっとうしがられている最大の理由かと思います。しかし、よく考えてみてください。ユーザーによるアクションによってこのプロンプトが表示されるということは、コンピュータが安全に使えている証拠でもあります。勝手にこのプロンプトが出るということは、何らかのプロセスが昇格が必要な何かを起動させようとしている、ということです。&lt;SPAN class=comment&gt;（閑話：なんか、キーボー丼反応が鈍い。←こんな風になる）&lt;/SPAN&gt;過去のエントリに、署名を偽装してマルウェアを起動させる方法を上げています。このように、攻撃可能点が存在しているので、それを広げる方法については（調べておかなくちゃいけないんだけど）調べたくないし、調べたとしても、それを誰かに教えることはしたくありません。&lt;/P&gt;
&lt;p class="p"&gt;そんなわけで、この、「昇格プロンプトの［続行］ボタンをクリックするタスクを自動化すること」について、ご意見を伺いたいと思います。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/jitta/aggbug/125050.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>はなおか じった</dc:creator><title>Vista UAC：GUEST って</title><link>http://blogs.wankuma.com/jitta/archive/2007/11/14/108362.aspx</link><pubDate>Wed, 14 Nov 2007 22:30:00 GMT</pubDate><guid>http://blogs.wankuma.com/jitta/archive/2007/11/14/108362.aspx</guid><wfw:comment>http://blogs.wankuma.com/jitta/comments/108362.aspx</wfw:comment><comments>http://blogs.wankuma.com/jitta/archive/2007/11/14/108362.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.wankuma.com/jitta/comments/commentRss/108362.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/jitta/services/trackbacks/108362.aspx</trackback:ping><description>&lt;p clasS="p"&gt;不具合の問い合わせがきた。&lt;/p&gt;
&lt;p class="p"&gt;「昇格動作の必要な&amp;#215;&amp;#215;ですが、GUEST アカウントで実行すると、画面が暗くなったまま固まってしまいます」&lt;/p&gt;
&lt;br&gt;
&lt;p class="p"&gt;Gusts グループならテストしたよ？ってことで、無効化されている GUEST アカウントを有効にし、やってみる。再現する。&lt;/p&gt;
&lt;p class="p"&gt;でもこれ、昇格プロンプトが表示されずに固まっているから、アプリケーションの問題じゃないのでは？&lt;/p&gt;
&lt;p class="p"&gt;試しにコントロールパネルから、いくつか実行してみる。再現する。うん。アプリケーションは悪くない。&lt;/p&gt;
&lt;br&gt;
&lt;br&gt;
&lt;p class="p"&gt;でもなぁ。納得してくれないだろうなぁ。サポートに問い合わせてみるか？でも、インシデント番号、家に置いてきてるよ。そうだ、コンシェルジェだ。「GUEST アカウントで昇格プロンプトの表示に制限があるという情報の文書の所在」を聞けばいいや。&lt;/p&gt;
&lt;p&gt;・&lt;/p&gt;
&lt;p&gt;・&lt;/p&gt;
&lt;p&gt;・&lt;/p&gt;
&lt;p&gt;・&lt;/p&gt;
&lt;p class="p"&gt;やっぱりなかった。ついでに検索中に見つけた TechNET の DNS ポイズンらしきサイトの報告もしておく。&lt;/p&gt;
&lt;p class="p"&gt;う～ん、どうしよう？バグか、仕様か、判断つかない。やっぱ、使うべか．．．．．．&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/jitta/aggbug/108362.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>はなおか じった</dc:creator><title>VC++ まにふぇすと めも</title><link>http://blogs.wankuma.com/jitta/archive/2007/11/10/107542.aspx</link><pubDate>Sat, 10 Nov 2007 21:09:00 GMT</pubDate><guid>http://blogs.wankuma.com/jitta/archive/2007/11/10/107542.aspx</guid><wfw:comment>http://blogs.wankuma.com/jitta/comments/107542.aspx</wfw:comment><comments>http://blogs.wankuma.com/jitta/archive/2007/11/10/107542.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/jitta/comments/commentRss/107542.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/jitta/services/trackbacks/107542.aspx</trackback:ping><description>&lt;P class=p&gt;この先使うかどうかわからないけど、嵌ったのでメモ。&lt;/P&gt;&lt;BR&gt;
&lt;P class=p&gt;VC++ 7.1 で マネージドでない C++ プロジェクトを作る。これを Vista で動かすことも視野に入れ、manifest ファイルを埋め込みたい。&lt;/P&gt;
&lt;P class=p&gt;ところが、プロジェクト作成時にマニフェストを作る設定にしても、作るだけで埋め込んでくれない。&lt;/P&gt;
&lt;P class=p&gt;以前、「mt.exe で埋め込む」ことを教えていただいたが、このツールは「差し替え」はしてくれるけど、ないところに埋め込むことはできないようだ？ああ！&lt;A class=outerLink title=→microsoft.com href="http://msdn2.microsoft.com/ja-jp/library/ms235591(VS.80).aspx"&gt;方法 : マニフェストを C/C++ アプリケーションに埋め込む&lt;/A&gt;（MSDN ライブラリ）に書いてある。「-outputresource」って奴ですか？なんすか、これ？「mt.exe /?」だと出てこないんですけど？VS.NET 2003 の MSDN にも載っていないのですが？．．．．．やられたorz&lt;/P&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;
&lt;P class=p&gt;ええ、まぁ、そうやってもいい。&lt;A class=outerLink title=→microsoft.com href="http://www.microsoft.com/japan/msdn/windows/windowsxp/xptheming.aspx"&gt;Windows XP ビジュアル スタイルの使用&lt;/A&gt;（MSDN &amp;gt; Windows デベロッパーセンター &amp;gt; Windows 技術資料）のように、リソースにおまじないを書いてインクルードしちゃってもいい。そういうことでした。&lt;/P&gt;
&lt;P class=p&gt;ええ、メモしておこうと、これを書きながら調べ直して判明したことです。なので、投げやり.....&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/jitta/aggbug/107542.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>はなおか じった</dc:creator><title>マニフェスト ファイルの uiAccess</title><link>http://blogs.wankuma.com/jitta/archive/2007/05/22/77739.aspx</link><pubDate>Tue, 22 May 2007 23:22:00 GMT</pubDate><guid>http://blogs.wankuma.com/jitta/archive/2007/05/22/77739.aspx</guid><wfw:comment>http://blogs.wankuma.com/jitta/comments/77739.aspx</wfw:comment><comments>http://blogs.wankuma.com/jitta/archive/2007/05/22/77739.aspx#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://blogs.wankuma.com/jitta/comments/commentRss/77739.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/jitta/services/trackbacks/77739.aspx</trackback:ping><description>&lt;p class="p"&gt;せっかくなので、エントリに昇格。&lt;/p&gt;
&lt;blockquote&gt;&lt;p class="quoteSource"&gt;&lt;A href="http://blogs.wankuma.com/jitta/archive/2006/09/26/39667.aspx#77524"&gt;re: Windows Vista における、マニフェストを使用したアプリケーションのマーキング&lt;/a&gt;：すずさんのコメントより：&lt;/p&gt;
&lt;p&gt;マニフェストは丁度はまっていた部分だったので本記事は大変参考になりました。
ところで、まさに"UIアクセサビリティ"の為のソフトウエアを書いているところなのですが、&lt;br&gt;
uiAccess="true"&lt;br&gt;
とすると「サーバーから紹介が返ってきました」(Err:8235)というエラーになってしまいます。
コードに対する署名が必要とか、そういう理由なのでしょうか。ご存知でしたら教えてください。&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="p"&gt;困りました。全く調べていません。（ぉ&lt;/p&gt;
&lt;p class="p"&gt;こんな時は、検索！！&lt;/p&gt;
&lt;p class="p"&gt;まず、「サーバーから紹介が返ってきました」の、「紹介」が誤変換だと思ったので（失礼しました）、「Err:8235」だけで検索。わからん。&lt;/p&gt;
&lt;p class="p"&gt;じゃぁ、「8235」だけで検索。Win32API のエラー コードっぽい。&lt;/p&gt;
&lt;p class="p"&gt;じゃぁ、「サーバーから紹介が返ってきました」で検索。→Google による&lt;a href="http://www.google.com/search?client=opera&amp;rls=ja&amp;q=%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%8B%E3%82%89%E7%B4%B9%E4%BB%8B%E3%81%8C%E8%BF%94%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F&amp;sourceid=opera&amp;ie=utf-8&amp;oe=utf-8" title="→google.com"&gt;検索結果&lt;/a&gt;&lt;/p&gt;
&lt;p class="p"&gt;先頭2つが support.microsoft.com サイトのものだと思いますが（検索結果は時間によって変わるからね）、これによると、サーバへ何かの識別名を解決する依頼を行ったところ、サーバがエラーを返してきたようです。&lt;/p&gt;
&lt;p class="p"&gt;「&lt;a href="http://support.microsoft.com/kb/319944/ja" title="→microsoft.com"&gt;[XADM] セットアップを実行中、エラー メッセージ "Active Directory スキーマを更新するアクセス許可がない" が表示される&lt;/a&gt;」こちらか、「&lt;a href="http://support.microsoft.com/kb/312577/ja" title="→microsoft.com"&gt;管理者がセット データを生成しようとすると、エラー メッセージ&lt;/a&gt;」こちらの原因と、すずさんの環境を比べ、同じようなことがないか確認してみてください。&lt;/p&gt;
&lt;p class="p"&gt;たとえば、Active Directory 環境で、ドメインに所属するコンピュータに、ローカル アカウントでログオンしていることが考えられます。この場合、現在のアカウントの権限をドメイン サーバへ照会し、サーバに登録されていないため、エラーが返ってくると思います。（その後、ローカル コンピュータをサーバとして問い合わせに行くと思うけど）&lt;/p&gt;
&lt;img src ="http://blogs.wankuma.com/jitta/aggbug/77739.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>はなおか じった</dc:creator><title>ようやく終わるか：自動昇格なんていらない</title><link>http://blogs.wankuma.com/jitta/archive/2007/05/08/75954.aspx</link><pubDate>Tue, 08 May 2007 22:48:00 GMT</pubDate><guid>http://blogs.wankuma.com/jitta/archive/2007/05/08/75954.aspx</guid><wfw:comment>http://blogs.wankuma.com/jitta/comments/75954.aspx</wfw:comment><comments>http://blogs.wankuma.com/jitta/archive/2007/05/08/75954.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.wankuma.com/jitta/comments/commentRss/75954.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/jitta/services/trackbacks/75954.aspx</trackback:ping><description>&lt;P class=p&gt;結局、力関係は「埋め込みマニフェスト ＞ インストーラ判定 ＞ 外付けマニフェスト」ということでした。&lt;/P&gt;
&lt;P class=p&gt;"asInvorker" であれ "requireAdministrator" であれ、埋め込まれていれば、インストーラ判定による自動昇格よりも優先して処理されます。&lt;/P&gt;
&lt;P class=p&gt;そういうわけで、マニフェストを埋め込みましょう。埋め込むマニフェストには、"requestedExecutionLevel" 要素を追加しましょう。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/jitta/aggbug/75954.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>はなおか じった</dc:creator><title>大阪#8 補足</title><link>http://blogs.wankuma.com/jitta/archive/2007/04/30/75072.aspx</link><pubDate>Mon, 30 Apr 2007 20:41:00 GMT</pubDate><guid>http://blogs.wankuma.com/jitta/archive/2007/04/30/75072.aspx</guid><wfw:comment>http://blogs.wankuma.com/jitta/comments/75072.aspx</wfw:comment><comments>http://blogs.wankuma.com/jitta/archive/2007/04/30/75072.aspx#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://blogs.wankuma.com/jitta/comments/commentRss/75072.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/jitta/services/trackbacks/75072.aspx</trackback:ping><description>&lt;P class=p&gt;説明し忘れていたところの補足。&lt;/P&gt;&lt;BR&gt;
&lt;P class=p&gt;まず、デモでグダッたところ。NTFS 上でコンパイルし、NTFS 上のみで行き来した .NET 製実行ファイルは、仮想化されません。SaveFiledialog で、Program Files や、Windows 以下に書き込もうとすると、SaveFileDialog が警告メッセージを出します。ZIP 圧縮したあとに解凍したものも、警告が出ます。&lt;/P&gt;
&lt;P class=p&gt;が、一旦 FAT （USB メモリなど）にコピーすると、そのための情報が落ちる？ここ、検証必要ですね。&lt;/P&gt;
&lt;P class=p&gt;仮想化されると、エクスプローラからは見えません。よって、ログなどをアプリケーションがあるディレクトリに書き込んでいる場合は注意が必要です。.NET アプリであれば昇格しなければ書き込めないし、マニフェストがない（昇格情報がついていない）Win32 アプリの場合は、仮想化されてしまうのでログを見ることが出来ません。&lt;/P&gt;&lt;BR&gt;
&lt;P class=p&gt;昇格するためのコードは、実はエバンジェリストの松崎さんのところにあるコードと同じです（&lt;A href="http://blogs.msdn.com/tsmatsuz/archive/2007/01/25/windows-vista-uac-part-2.aspx"&gt;http://blogs.msdn.com/tsmatsuz/archive/2007/01/25/windows-vista-uac-part-2.aspx&lt;/A&gt;）。松崎さんが、自分自身を昇格して実行しているのに対し、昇格して実行する部分を外に出すことで、昇格が必要な機能だけ実行しています。&lt;/P&gt;&lt;PRE class=code&gt;&lt;CODE&gt;private void DoElevation(string command, string argument) {
    ProcessStartInfo info = new ProcessStartInfo(command, argument);
    info.CreateNoWindow = false;
    info.WorkingDirectory = System.IO.Path.GetDirectoryName(Application.ExecutablePath);
    &lt;B&gt;info.Verb = "runas";&lt;/B&gt; /* ここ */
    try {
        Process.Start(info);
    } catch (Win32Exception ex) {
        if (ex.NativeErrorCode != 1223 /* ユーザによる取り消し */) {
            throw;
        }
    }
}
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P class=p&gt;この様に、verb に runas を指定することで、昇格ダイアログが表示されるようになります。XP で実行すると、「別のユーザとして実行」になります。&lt;/P&gt;
&lt;P class=p&gt;証明書の偽装については、cmd.exe のコマンド ライン オプションを調べてください（コマンド プロンプト上で cmd /?）。&lt;/P&gt;&lt;BR&gt;
&lt;P class=p&gt;「昨日書き換えました」というスライドについて、説明しておきます。&lt;/P&gt;
&lt;P class=p&gt;ここ、最初は「開発者が情報を提供しなければならない」として、「ヘルプやインフォチップで情報を提供する」と書いていました。しかし、よく考えてみると、他人をだまそうと考えている人が正確なことを書くわけがありません。では、どうしよう？ちょっと待てよ？アクセスを禁止できると言うことは、システムは、アプリケーションが何をしようとしているかわかるわけじゃないか。それなら、システム側が「このアプリケーションは、c:/Windows/System32/comctl32.dll を書き換えようとしています。許可しますか？」と聞くことが出来るんじゃないか？・・・そう考えて、書き換えました。&lt;/P&gt;
&lt;P class=p&gt;「この機能は昇格が必要」という、シールドアイコンについては、開発者が追加するとしても、触られるとまずいところを触るのをカットするのは、実はシステムの役目何じゃないか？もっとも、互換性の問題が大きいこと、しょっちゅう昇格ダイアログを表示しなければならなくなることが、そうなっていない原因だとは思いますが。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/jitta/aggbug/75072.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>はなおか じった</dc:creator><title>反応が遅くなりましたが、コード署名について</title><link>http://blogs.wankuma.com/jitta/archive/2007/04/19/72129.aspx</link><pubDate>Thu, 19 Apr 2007 21:35:00 GMT</pubDate><guid>http://blogs.wankuma.com/jitta/archive/2007/04/19/72129.aspx</guid><wfw:comment>http://blogs.wankuma.com/jitta/comments/72129.aspx</wfw:comment><comments>http://blogs.wankuma.com/jitta/archive/2007/04/19/72129.aspx#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://blogs.wankuma.com/jitta/comments/commentRss/72129.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/jitta/services/trackbacks/72129.aspx</trackback:ping><description>&lt;P class=p&gt;以前のエントリで、「昇格には署名が必要になります」ということについて、シャノンさんから&lt;BR&gt;&lt;Q&gt;これはまぢで？&lt;BR&gt;いよいよ強硬策に出てきましたね&amp;#8230;MS。&lt;BR&gt;Authenticode署名なんて個人じゃ取得できねぇってのに。&lt;BR&gt;&lt;/Q&gt;と、コメントをいただいていました。&lt;/P&gt;
&lt;P class=p&gt;&lt;FONT color=#000080 size=4&gt;&lt;STRONG&gt;まぢ&lt;/STRONG&gt;です。&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=p&gt;「昇格する」ということは、「コンピュータの管理に関わる動作をする」ということです。ここで署名が必要なのは、「連絡先が明らかである必要がある」ということです。&lt;/P&gt;
&lt;P class=p&gt;つまり、「オレオレ証明書」であっても、そのアプリケーションが第三者によって改変されていないことが保証でき、作成者に連絡ができる証明書が添付されているなら、ホビー プログラマが配布するアプリケーションが「オレオレ証明書」であってもかまわないのです。&lt;/P&gt;
&lt;P class=p&gt;そういえば、わんくま内で Thawte かどこかの証明ネットワークを作ろうって話があったよね？手を挙げるの忘れてた。ごめん、今挙げる。見てたら連絡ちょうだい（ぉぃ&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/jitta/aggbug/72129.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>はなおか じった</dc:creator><title>邪魔だ！自動昇格</title><link>http://blogs.wankuma.com/jitta/archive/2007/04/19/72128.aspx</link><pubDate>Thu, 19 Apr 2007 21:32:00 GMT</pubDate><guid>http://blogs.wankuma.com/jitta/archive/2007/04/19/72128.aspx</guid><wfw:comment>http://blogs.wankuma.com/jitta/comments/72128.aspx</wfw:comment><comments>http://blogs.wankuma.com/jitta/archive/2007/04/19/72128.aspx#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://blogs.wankuma.com/jitta/comments/commentRss/72128.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/jitta/services/trackbacks/72128.aspx</trackback:ping><description>&lt;P class=p&gt;検証中の自部署製アプリケーションを実行するときに、他部署製のアプリケーションが絡んでくる。その他部署製のアプリケーションのファイル名が "**setup**.exe" だった。そして、Win32 アプリケーション。自動昇格の対象。&lt;/P&gt;
&lt;P class=p align=center&gt;&lt;FONT color=#ff0000 size=6&gt;邪魔だよ、自動昇格。&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=p&gt;他のアプリにマニフェストが付いていなかったから、たぶんこれも付いていないだろう。asInvoker で、外部マニフェストを作成する。&lt;/P&gt;&lt;BR&gt;&lt;BR&gt;
&lt;P align=center&gt;&lt;FONT color=#ffa500 size=5&gt;あんさん何やってんねん。&lt;BR&gt;このアプリ動かすんやったら、管理権限要りまっせ。&lt;/FONT&gt;&lt;/P&gt;&lt;BR&gt;&lt;BR&gt;
&lt;P class=p&gt;な、なんでやねん！！マニフェストでの指定より、インストーラ検出機能の方が強いってか！？&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/jitta/aggbug/72128.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>はなおか じった</dc:creator><title>Vista: 仮想化</title><link>http://blogs.wankuma.com/jitta/archive/2007/04/13/71386.aspx</link><pubDate>Fri, 13 Apr 2007 22:40:00 GMT</pubDate><guid>http://blogs.wankuma.com/jitta/archive/2007/04/13/71386.aspx</guid><wfw:comment>http://blogs.wankuma.com/jitta/comments/71386.aspx</wfw:comment><comments>http://blogs.wankuma.com/jitta/archive/2007/04/13/71386.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.wankuma.com/jitta/comments/commentRss/71386.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/jitta/services/trackbacks/71386.aspx</trackback:ping><description>&lt;P class=p&gt;どうも、仮想化について、えらい思い違いをしていた。&lt;/P&gt;
&lt;P class=p&gt;まず、.NET アプリケーションが出力するものは仮想化されない。CLR の環境がそうするのか、あるいはデフォルトでマニフェストがくっつくのか？&lt;/P&gt;
&lt;P class=p&gt;とにかく、%ProgramFiles% や、%WINDIR% への書き込みはできない。これは、単にファイルが作れないだけでなく、SaveFileDialog で選択できない。この辺、28日にデモでお見せできます。&lt;/P&gt;
&lt;P class=p&gt;しかし、ピュアな Win32 アプリケーションなら、マニフェストが付いていなければ・・・おかしいなぁ？SxS のマニフェストが付いていると思うんだけどなぁ？&lt;/P&gt;
&lt;P class=p&gt;そうだよな。マニフェストじゃなくて、マニフェスト中の昇格情報だろうな。&lt;/P&gt;
&lt;P class=p&gt;とにかく、ピュアな Win32 なら、書き込みができる。&lt;/P&gt;
&lt;P class=p&gt;そして、仮想化される。ここで、.NET なアプリケーションでやろうとしていたのが間違いだった、と。&lt;/P&gt;
&lt;P class=p&gt;もう一つ。&lt;/P&gt;
&lt;P class=p&gt;仮想化されたファイルは、そのアプリケーションを動かしたアカウントなら見れると思っていた。&lt;/P&gt;
&lt;P class=p&gt;ところが、そのアカウントで起動させている explorer にはマニフェストが付いている。したがって、explorer の入出力は仮想化されない。&lt;/P&gt;
&lt;P class=p&gt;つまり、アプリケーションが %ProgramFiles% というか、実行ファイルがあるのと同じディレクトリにログをはいていたとする。そしてこのログは、notepad で見る仕様だったとする。&lt;/P&gt;
&lt;P class=p&gt;そうすると、notepad にもマニフェストが付いているので、こいつでは見られないということになる！！&lt;/P&gt;
&lt;P class=p&gt;当然、.NET アプリケーションからも見えない。&lt;/P&gt;
&lt;P class=p&gt;ピュアな Win32 アプリケーションで、マニフェストが付いていないものなら見える・・・のだろう。&lt;/P&gt;
&lt;P class=p&gt;スクリーンショットを張る。&lt;/P&gt;&lt;A href="http://blogs.wankuma.com/images/blogs_wankuma_com/jitta/1078/o_virtualize.JPG"&gt;&lt;IMG class=picture src="/images/blogs_wankuma_com/jitta/1078/o_virtualize.JPG"&gt;&lt;/a&gt;
&lt;P class=p&gt;右上の保存ファイル選択ダイアログには、「保守情報.csv」というファイルがある。しかし、explorer にはそれがない。&lt;/P&gt;
&lt;P class=p&gt;なお、保存ファイル選択ダイアログから explorer 上の %ProgramFiles% へドラッグすると、同じ名前のファイルがあるというエラーになった。また、notepad へドラッグすると、ファイルにアクセスできないというエラーになった。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/jitta/aggbug/71386.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>