とりあえず日記

VIM→秀丸エディタ→VIM→秀丸エディタ→VIM→秀丸エディタ→VIM→秀丸エディタ→VIM→秀丸エディタ→VIM→秀丸エディタ(いまここ🍄)

C++上でC#を動かす(その2)

はじめに

カプコンがゲームで本当に.NET Runtimeを利用しているのか疑問に思い軽く調査しました。

 

調査対象:BIOHAZARD VILLAGE(Steam版)

発売日:2021年5月8日

調査ファイル:re8.exe

ファイルサイズ:約500MB

 

調査結果

実行ファイルや実行時のメモリ内容から、以下の怪しい文字列を見付けました

 

  • CLRから参照可能なオブジェクトの基本クラス

  • この型は、viacore側にも.cs版が実装されていることを明示します C++ <-> C#のマーシャルは単なるメモリコピーによって実現されます

  • csharpスタイルフォーマットのインターフェイス

  • D:\RELauncher\engines\0\bin\Master\Steam_x64\runtime_il2cpp.pdb

  • CLRから参照可能なオブジェクトの基本クラス

  • /IL2CPP:True

  • Module:%hs Method:%hs ILCode:%04x

 

まとめ

.NET Runtimeを組み込んでいそうな雰囲気はあるが、Unity固有(?)の/IL2CPP:Trueが気になりすぎる・・・

 

以上