CLR çalışma zamanı (CLR çalışma zamanı konak yeri) ev sahipliği yapmaktadır. NET bu süreç içinde yürütülebilir. /Sonra, bir yerli süreç içindeki CLR Runtime başlatmak başka yük benim .NET DLL arama bazı kodları kullanıyorum
şöyle Ben yansıma kullanıyorum diğer NET yürütülebilir yüklemek için:Assembly.Load(file).EntryPoint.Invoke(null, null);
Şimdi, çalışma zamanını başlatan bir C++ dll enjekte o zaman Meclis kullandığı .NET dll çağırır. Belleğe başka bir .NET yürütülebilir dosyasını yüklemek ve yürütmek için yükleyin.
dll arayarak, benim .NET yürütülebilir yükler kez
:System.Reflection.Assembly.GetExecutingAssembly().Location;
hatta
Process.GetCurrentProcess().MainModule.FileName;
Bu, elbette, hatta başka içeride onun koşma olsa yürütülebilir kendisinin konumunu döndürür ev sahibi işlem. Bu ev sahibi işlemin adını ele geçirmenin bir yolu var mı? Ben o kısmı düzgün çalıştığını biliyorum böylece Süreç kaşif konak işlem içinde çalışan olarak gösterir. Ben o zaman doğru işlem adını gösterecek ilk yüklendi NET DLL içinde bu komutları çalıştırmak olsaydı Tabii
.
Teşekkürler.
DÜZENLEME: Ben de GetEntryAssembly()
ve GetCallingAssembly()
çalıştılar
.
Üzgünüz Per Lundberg, ancak StackOverflow erişilebilirlik hatalarını düzeltmeyeceği için size düzenleme yapamıyorum. – Joshua