2018
10
18

Application Compatibility (Shim)とは

Application Compatibility (Shim)とは
Windowsシステム上で実行されるプログラムの互換性に関する問題を解消するための仕組みです。Application Compatibility (Shim)の存在によって、例えばWindows XPでしかサポートされていないプログラムをWindows 7 で動かすことができます。

通常、アプリケーションはWindowsと直接やりとりを行います。Application Compatibility (Shim)はアプリケーションとWindowsの間に入り、両者のやりとりを仲介することによって、プログラムの互換性に関する様々な問題を解消します。

例えば、Windows XPでしかサポートされていないアプリケーションをWindows 7で実行したとします。アプリケーションはまず、実行環境を確認するためWindowsのバージョンを尋ねるAPIコールを送ります。通常ならばこのAPIコールはWindowsに直接送られ、それに対してWindowsは「バージョンはWindows 7です」と回答するでしょう。その時点でアプリケーションはそれ以上処理を進めずに終了してしまいます。
Application Compatibility (Shim)を活用すれば、アプリケーションから送られたバージョン確認のAPIコールはWindowsではなくApplication Compatibility (Shim)によって処理されます。ここで、Application Compatibility (Shim)が「バージョンはWindows XPです ( 本当はWindows 7だけど :P )」と回答すると、それを受けてアプリケーションは実行を継続します。

上記はあくまで一例です。ユーザーは任意のShim database (sdb) ファイルを作成することによって様々な動作を定義することができます。
便利な仕組みですが悪用されることもあります。例えば、ブラウザ・アプリケーションに不正なDLLを読み込ませるようなShim databaseを作成することも可能なのです。
Application Compatibility (Shim)の概要についてはここが詳しいです。

以上。

参考URL
https://docs.microsoft.com/en-us/windows/desktop/DevNotes/application-compatibility-database
https://www.fireeye.com/blog/threat-research/2015/06/caching_out_the_val.html
https://www.fireeye.com/blog/threat-research/2015/10/shim_shady_live_inv/shim-shady-part-2.html
https://www.fireeye.com/content/dam/fireeye-www/services/freeware/shimcache-whitepaper.pdf
Comment



Only the blog author may view the comment.


Trackback
Trackback URL

«  | HOME |  »

奇妙な風景 Unique Scene
<< >>

プロフィール


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


スポンサード リンク


FC2カウンター


検索フォーム


RSSリンクの表示


リンク


ブロとも申請フォーム


QRコード