つまり、サンドボックス環境で動作する Windows Metro アプリケーションであり、DLL インジェクションは実行できません。
Nektraの言葉を見てみましょう 。
ご覧のとおり、Komodia と Nektra は相反する情報を述べています。私の質問は、Windows 8 での DLL インジェクションの背後にある本当のことは何ですか?
つまり、サンドボックス環境で動作する Windows Metro アプリケーションであり、DLL インジェクションは実行できません。
Nektraの言葉を見てみましょう 。
ご覧のとおり、Komodia と Nektra は相反する情報を述べています。私の質問は、Windows 8 での DLL インジェクションの背後にある本当のことは何ですか?
私は Nektra の記事の著者です。この調査は、Windows 8 に付属する制限付きの Metro Mail アプリケーションにさらに機能を追加したいと考えたときに始まりました。
通常、メトロ アプリは中断されているため、プロセスはデスクトップ アプリケーションとまったく同じではありませんでしたが、最初の DCOM サービスをフックしました。
DCOM サービスが Metro Mail アプリケーションを起動すると、その時点でよく知られているメソッド CreateRemoteThread/LoadLibrary 呼び出しを使用して dll を挿入します。
最初のテストでは、同じフォルダーにある dll を挿入しようとしましたが、テストが見つかったところ、dll が system32 にある場合は正常に読み込まれることがわかりました。
後でさらに調査を行い、system32 フォルダーにない場合に dll が読み込まれなかった理由を確認します。
winsock のフックについてはテストしていませんが、少なくともデスクトップ コンピューターでは、metro の背後には一般的に知られている dll (kernel32、user32 など) があり、いくつかの API を問題なくフックしたため、可能なはずだと思います。
私は Komodia の記事の著者であり、私たちの記事は Nektra と競合しません。Metro アプリまたは Metro アプリを実行するサンドボックスをフックすることは可能ですが、フックのためではなく、localhost に接続できません。これは、localhost 接続に対する Metro の制限のためです。最初のテストでは、Win7 WFP (ネットワーク ドライバー) を使用し、パケットの IP を localhost に変更しましたが、これは Metro アプリでは機能しませんでした。NDIS は同じようには機能しません。これを行う唯一の方法は、Microsoft のWFP プロキシ リダイレクト。
おそらく誰かが最終的にローカルホストへの直接接続を可能にするハックを見つけるか、すでに見つけているでしょうが、他のハッキングと同様に、考慮すべきリスクがあります。承認された方法が必要な場合は、WFP プロキシ リダイレクトが唯一の方法です。
最初のテストでは、同じフォルダーにある dll を挿入しようとしましたが、テストが見つかったところ、dll が system32 にある場合は正常に読み込まれることがわかりました。
はい、System32 はMetro (Windows ストア) アプリケーションの検索順序に含まれているためです。それに魔法はありません。
同様に、テストのフォルダーがアプリの DLL 検索順序 (System32、アプリのパッケージ依存関係グラフなど) にない可能性が高いため、ローダーはアプリの DLL を見つけられません。