Also, ich habe eine ausführbare Datei, die mit C# gemacht wurde, ich habe nicht den Quellcode, aber ich habe es mit IDA disassembliert, und es gab mir eine Menge von objektorientierten Assembly.
Ich habe eine Exe-Datei, die eine DLL in eine andere Exe injiziert gemacht, und ich habe diese neue C++-DLL in die C#-Exe injiziert, ohne Probleme, die DLLMain aufgerufen wird und so...
Aber wenn ich diese DLL in eine normale, mit C++ erstellte .exe-Datei einfüge, kann ich eine Funktion in der .exe mit ihrer Speicheradresse aufrufen, die ich in IDA übernehmen kann.
Das Problem ist, dass objektorientierte Assemblies keine Adressen für ihre Funktionen haben, selbst wenn die Funktionsnamen disassembliert werden.
Also, gibt es eine Möglichkeit, die ich diese Funktion mit meiner injizierten DLL auf die C#-Exe-Datei aufrufen kann?
Wenn möglich, gibt es eine Möglichkeit, wie ich den in der C#.exe-Datei deklarierten Namespace und alle seine Funktionen und Variablen verwenden kann, auch wenn sie privat sind?
Beispiel für disassemblierten Code:
.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
....