C# C# sistem uygulamalarını listelemeyi engelleme

Bayram Reis

Centipat
Katılım
26 Temmuz 2023
Mesajlar
1.093
Çözümler
23
Yer
İzmir
Daha fazla  
Sistem Özellikleri
3060ti 8gb Ryzen 7 5700X ddr4 3.40 GHz 16+16 gb ram 3200MHz 1tb + 1tb ssd
Cinsiyet
Erkek
Meslek
Yazılımcı/Yayıncı
Merhaba hocalarım. İyi sosyaller! C# ileri seviye yazılımcı olarak sizden destek almak istiyorum. Bir uygulama yazıyorum Windows 10 ve 11 için en kapsamlı performans arttırıcı ancak 2 gündür araştırıp bulamadığım bir konu var aklınıza gelip gelmeyecek bütün arama yöntemlerini yaptım ancak bir türlü bulamadım: Ben foreach döngüsüyle bütün arka planda çalışan uygulamaları listeleyebiliyorum sorun yok fakat bunların arasında sistem uygulamalarını listelemesini engellemek istiyorum çünkü sonra bunları kapatacağım vs vb. eğer bu filtreyi uygulamazsam CRITICAL_PROCESS_DIED hatası alıp mavi ekranla bakışır uygulama kullanıcıları. Sizden isteğim bu filtreyi nasıl yapabilirim bir sürü yöntem var ancak kime sorsam tek tek adlarını yaz ve kontrol et diyor böyle olmamalı kulağa çok saçma geliyor ayrıca illaki daha basit ve optimize yolu vardır. Ekliyorum ve ekliyorum her bilgisayarda aynı processler olmayabilir.
 
Uygulama imzasını Microsoft olmayanları seçecek şekilde yapmayı dene bi. Haricinde manuel kara liste yapmayı dene.
 
Uygulama imzasını Microsoft olmayanları seçecek şekilde yapmayı dene bi. Haricinde manuel kara liste yapmayı dene.
Bu dediğiniz işlem de dediğim gibi hatalı çünkü microsoftun bütün uygulamalarında dijital imza olmayabiliyor ayrıca manuel kara liste oluşturmak istemediğimi sebepleriyle belirttim.
 
SessionID deneyebilirsin. Ayrıca yanlış değilsem SYSTEM processlerine zaten erişim engellendi deyip izin vermiyor kill kullanmana?
 
SessionID deneyebilirsin. Ayrıca yanlış değilsem SYSTEM processlerine zaten erişim engellendi deyip izin vermiyor kill kullanmana?
Bazı processler user mode'da çalışıyor. SYSTEM tarafından yönetilmeyip açık olan gerekli processler de var. İşin garip yani terminate edilebililyorlar.
 
SessionID deneyebilirsin. Ayrıca yanlış değilsem SYSTEM processlerine zaten erişim engellendi deyip izin vermiyor kill kullanmana?
Uygulamamın Girişinde zorunlu yönetici izni istiyorum Kralı bile gelse bana mısın demeden kapatıyor bende ona sinir oldum kaç gündür bulamadım illa tek tek yazın diyo herkeste tektek olmaz anlatamadım kimseye@pottie4r aynen
Elimde daha önceden hazırlamış olduğum kod vardı müsait olduğumda atıyım.
Çok iyi olur müsaitim
 
Çalışan process'in bir Windows alt yordamımı yoksa 3. parti bir process mi olduğunu tespit eden bir API yok, Windows böyle bir şeyi sağlamıyor.
 
Uygulamamın Girişinde zorunlu yönetici izni istiyorum Kralı bile gelse bana mısın demeden kapatıyor bende ona sinir oldum kaç gündür bulamadım illa tek tek yazın diyo herkeste tektek olmaz anlatamadım kimseye@pottie4r aynen

Çok iyi olur müsaitim
Aklıma iki yol geliyor. Biri SessionID kontrol etmek, genelde sistem uygulamalarının SessionID'si 0. Ama her zaman değil. Diğeri process kill işini yönetici olmayan bir subprocesse atmak. Eğer subprocess yönetici ayrıcalıklarına sahip olmazsa exception atıp yoluna devam eder kapatamayacağı için processi.
 
Çalışan process'in bir Windows alt yordamımı yoksa 3. parti bir process mi olduğunu tespit eden bir API yok, Windows böyle bir şeyi sağlamıyor.
Vardır illaki bir yolu Şöyle bir örnek vereyim %sistemin kurulu diski%\windows\system32 konteynırında yoksa kapat dedim ancak yinede birşey değiştirmedi

Aklıma iki yol geliyor. Biri SessionID kontrol etmek, genelde sistem uygulamalarının SessionID'si 0. Ama her zaman değil. Diğeri process kill işini yönetici olmayan bir subprocesse atmak. Eğer subprocess yönetici ayrıcalıklarına sahip olmazsa exception atıp yoluna devam eder kapatamayacağı için processi.
Bu sefer Gameloop gibi yönetici izni istiyen uygulamaları kapatmaz.
 

Geri
Yukarı