C# で作成された実行可能ファイルがあります。そのソース コードはありませんが、IDA で逆アセンブルし、多くのオブジェクト指向アセンブリを作成しました。
.dll を別の .exe に挿入する .exe ファイルを作成し、この新しい C++ DLL を C# .exe に挿入しましたが、問題なく、DLLMain が呼び出され、...
しかし、この DLL を C++ で作成された通常の .exe ファイルに挿入すると、IDA で取得できるメモリ アドレスを使用して .exe 内の関数を呼び出すことができます。
問題は、関数名が逆アセンブルされていても、オブジェクト指向アセンブリにはその関数にアドレスがないことです。
では、C# .exe ファイルに挿入された DLL でこの関数を呼び出す方法はありますか?
可能であれば、C# .exe ファイルで宣言された名前空間とそのすべての関数と変数を、プライベートであっても使用できる方法はありますか?
サンプルの逆アセンブル コード:
.namespace MyCSharpApp
{
.class public auto ansi Test extends [mscorlib]System.Object
{
.field public value class [Microsoft.Xna.Framework]Microsoft.Xna.Framework.Vector2 pos
.field public int32 foo
....