ASI ファイル形式とは?
.asi は、Windows ベースの PC ゲームにカスタムコードを注入するために使用されるゲームプラグインファイルです。拡張子は異なりますが、.asi ファイルは技術的には標準の .DLL(Windows Portable Executable (PE) 形式でコンパイルされたネイティブバイナリ)であり、モッディングの慣習として拡張子が .dll から .asi に変更されたものです。
.asi ファイルは単体では機能しません。通常、dinput8.dll、version.dll、または vorbisFile.dll などのシステムライブラリに偽装してゲームディレクトリに配置された専用の ASI Loader を必要とします。ゲームの起動時に、ローダーはフォルダ内で見つかったすべての .asi に対して LoadLibrary() を呼び出し、各プラグインのコードを実行中のゲームプロセスに直接注入します。
この慣習は、2000年代半ばの Rockstar の Grand Theft Auto シリーズ(GTA III、Vice City、San Andreas)周辺のモッディングシーンで始まり、その後多くの他の PC タイトルに広がりました。広く使用されているローダーには、Ultimate ASI Loader や Silent's ASI Loader があります。
.asi プラグインは、メモリやシステム API へのフルアクセス権を持つ任意のネイティブコードをゲームプロセス内で実行するため、信頼できるソースからのファイルのみをインストールする必要があります。ファイルはオフセット 0 に標準の MZ マジックバイト(4D 5A)があり、さらに奥に PE\0\0 シグネチャがあります。これはあらゆる .dll や .EXE と同一です。CFF Explorer などの PE ツールで検査できますが、実際に実行するにはターゲットとなるゲームと ASI Loader が必要です。
セキュリティと安全性
リスク: HIGH.asi は、ユーザー権限でゲーム内で実行されるネイティブ実行コード(DLL)であるため、不明な DLL をインストールするのと同様のリスクがあります。悪意のある .asi は、あなたのアカウントができることなら何でも実行可能です。ゲームの「トレーナー」、「チート」、および海賊版 MOD の .asi ファイルは、よく知られたマルウェアや PUP(不審なプログラム)の感染経路です。.asi プラグインは、信頼できるソース(確立されたモッディングコミュニティ、GitHub のリリース、MOD 制作者の公式サイト)からのみインストールし、オープンソースのローダー(Ultimate ASI Loader)を優先し、不明なファイルはスキャンし、確信が持てない場合は PE ビューアーで .asi のインポートを検査してください。機密データのあるアカウントでゲーム MOD を実行しないでください。また、アドウェアが同梱された「無料 .asi」ダウンロードポータルは避けてください。
形式の詳細
概要- アセンブリインクルード / ソースファイル (Alpha Software, MASM スタイル) - 一部のアセンブラや IDE ツールチェーンでは、アセンブリの「インクルード」またはヘッダーソースファイルに .asi を使用します(このサイトのデータベースに記録されている「Alpha Software」の意味)。これはプレーンテキストであり、実行ファイルではありません。
- Velvet Studio / トラッカーサンプル・インストゥルメント - 古いミュージックトラッカーツールでは、インストゥルメントまたはサンプルファイルに .asi を使用していました。そのトラッカーでのみ開くことができます。
ASI ファイルを開くプログラム
技術的詳細
詳細仕様| ファイル構造 | Windows Portable Executable (PE) - 拡張子を .asi に変更した標準の DLL |
| マジックバイト | オフセット 0 に 4D 5A («MZ»)、MZ ヘッダーに格納されたオフセットに PE シグネチャ 50 45 00 00 |
| PE バリアント | ターゲットゲームのアーキテクチャに応じて PE32 (32ビット / x86) または PE32+ (64ビット / x64) |
| エンコーディング | バイナリ - コンパイルされたネイティブマシンコード(通常は C または C++) |
| バイト順序 | リトルエンディアン (PE 形式から継承された Intel x86/x64 の慣習) |
| 一般的なファイルサイズ | 数十 KB から数 MB (コンパイルされたネイティブプラグイン) |
| 圧縮 | デフォルトでは PE ラッパーに圧縮はありません。個別のセクションが作成者によってパックされている場合があります |
| コード署名 | オプションの Authenticode 署名。コミュニティ製の .asi プラグインの多くは未署名です |
| MIME タイプ | application/x-msdownload (.dll および .exe と同じ) |
| ロードの仕組み | ASI Loader (dinput8.dll, version.dll, vorbisFile.dll 等として配布) が起動時にゲームフォルダ内の各 .asi に対して LoadLibrary() を呼び出す |
| 実行コンテキスト | ホストゲームプロセス内の DLL として実行され、ゲームメモリ、スレッド、および Windows API へのフルアクセス権を持つ |
| エントリポイント | 標準の DLL エントリポイント (DllMain)。特別な ASI 固有のエクスポートは不要 |
| ロード順序 | ASI Loader は通常、ゲームディレクトリからアルファベット順に .asi ファイルを注入する |
| 関連 OS | Windows (PE 形式は Windows 固有) |
| セキュリティリスクレベル | 高 - プロセスの全権限で任意のネイティブコードを実行するため、信頼できるソースからのみインストールすること |
| リリース日 | Early-mid 2000s modding scene (GTA III/Vice City/San Andreas era ASI loaders) |
| 最新バージョン | Tied to the Windows PE/DLL format; Ultimate ASI Loader actively maintained (2020s) |
| 仕様書 | github.com |