15. hack 1.2. 相手プレイヤーのメソッドの入れ替え - 動的な unsafe アセンブリの生成
- その2 コンパイル済みのアセンブリを動的に読み込み
const string "KojimaLib"
static string $" .dll"
// Base64でエンコードされたアセンブリ
const string "TVqQAAMAAAAEAA...A="
var
using var new
using var new
var
if null
return
// リフレクションでメソッドを呼ぶ…
15
16. public unsafe static void
unsafe
if
int int
int int
else
long long
long long
hack 1. 相手プレイヤーのメソッドの入れ替え
.NET Core だと
うまくいかない!
16
25. static int
var
for var
return
static int ListをCountを変数にしてからforする(List<Foo> foos)
{
var sum = 0;
var count = foos.Count;
for (var index = 0; index < count; index++)
sum += foos[index].Value;
return sum;
}
static int Listをforeachする(List<Foo> foos)
{
var sum = 0;
foreach (var foo in foos)
sum += foo.Value;
return sum;
}
hack 3. まじめに高速化 - for ループの高速化
25