Czy można użyć C# do wywołania funkcji wewnątrz innego działającego procesu, który jest napisany w języku C/C++?Jak używać C# do wywoływania funkcji w ramach oddzielnego działającego procesu macierzystego?
Wiem, że można to zrobić za pomocą C++ przez wstrzyknięcie biblioteki DLL, która uruchamia zdalny wątek, nasłuchuje powiązanych naciśnięć klawiszy i wykonuje wywołanie żądanej funkcji, której podpis i adres zostały zdefiniowane.
C++ do C++ tutorialu jest tutaj: http://www.codeproject.com/Articles/29527/Reverse-Engineering-and-Function-Calling-by-Addres#Applying
Jeśli dobrze pamiętam, ja również czytać w przeszłości, że nie można wstrzyknąć zarządzanego DLL (C#) do niezarządzanego procesu (C++). Ale może inny sposób istnieje ...
Powodem, dla którego chciałbym to zrobić, jest inżynieria wsteczna gry na PC i napisanie małych haseł w C#, języku, który znam.
Czy to pomaga? http://stackoverflow.com/questions/20023379/injecting-a-managed-dll-into-a-native-process –
Istnieje inny tutorial tutaj: http: //www.codeproject.com/Articles/607352/Injecting- Net-Assemblies-Into-Unmanaged-Processes – xanatos
@GediminasMasaitis Nie, kod w przykładzie robi wszystko. Mała biblioteka w C/C++ jest wstrzykiwana w proces docelowy, który ładuje host CLR w procesie docelowym, a następnie ładuje desidowaną bibliotekę .NET dll. – xanatos