Bu yazıda herhangi bir Visual Basic kodu yer alamasada oldukça kullanışlı bir fonksiyon olduğundan geliştirdiğiniz programlarda kullanmak isteyebileceğinizi düşünerek yazıyorum..
Ancak yazıya başlamadan önce bu yazıda anlatılan konunun ve konuyla ilgili verilen bilgilerin hatalı kullanımı halinde Windowsun çalışmayabileceğini, registrynizde ne yaptığından emin olmadığınız hiçbir değişikliği kesinlikle yapmamanız gerektiği, yaptığınız tüm değişikliklerden sadece kendinizin sorumlu olduğu konusunda sizi uyarmak isterim. Bu değişikliklerin ne yaptığını biliyorsanız söylememe gerek kalmadan Reigstrynin (complete) yedeğini alırsınız zaten. Yazmama gerek yok o zaman..
Yazılım geliştiriciler bazen sistemde hangi programların çalıştığını görmek isterler, bunu yapmanın pek çok yolu olduğu gibi gayet te kolay bir işlemdir çalışmakta olan programların listelenmesi. Peki herhangi bir nedenle sadece kullanımına izin verilen programların çalıştırılmasını isterseniz bunu nasıl yaparsınız? Sürekli çalışan ve izin verdiklerinizden başka bir programın çalıştırılması halinde o programı kapatan bir program yapılabilir. Oldukça kolay bir çözüm. Firewall yazılımlarındaki Internet Access Policiy e benzer bir mantık. Ancak daha kolayı var. Registry de yapacağınız küçük bir değişiklik ile aynı işi yapabilir, hemde uzun uzun kod yazmak zorunda kalmazsınız.
İlk olarak Registry e yeni bir değer ekliyoruz. Böylece sistemimize izni olmayan programların çalıştırılamamasını istediğimizi (daha iyi bir anlatım olabilirdi evet ama bkz: 1. paragraf) bildiriyoruz. Eh birde hangi programların çalıştırılabileceğini söylersek Registry e o da bizi kırmaz.
İlk olarak Registry e Adres Olarak HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Policies\Explorer\RestrictRun Veri Türü Olarak DWORD (set value of 0x00000001)
değerlerini ekleyelim.
String Değeri (Value) Name "1" Value "mspaint.exe"
Bu değerler sisteme mspaint.exe adlı programın çalıştırılabileceğini bildiriyor.
String Değeri (Value) Name "2" Value "iexplore.exe" Bu değerler ise sisteme iexplore.exe adlı programın çalıştırılabileceğini bildiriyor.
Name "3", Name "4" şeklinde devam ederek sisteminizin ihtiyaç duyduğu ve kullanılmasına izin verdiğiniz tüm programları ekleyebilirsiniz.
Gelelim bu yöntemin açıklarına.. Genelde u tür yazılarda verilen örneklerin, anlatılan yöntemlerin sadece olumlu yanları öne çıkarılır, zayıf noktaları pek dile getirilmez. Farklı birşeyler yapalım.. bu yöntemin zayıf yanlarını görelim..
İlk olarak Windows'un çalışmak için çalışmasına ihtiyaç duyduğu programlardan çalışmak için gerekli izni kendilerine sağlayamayanlar çalışmazsa doğal olarak Windows çalışmayabilir veya hatalı yüklenebilir. Bu, bu yöntemin en zayıf yanı.
Bir diğer zayıf yanı ise çalışma izni olan programların exe adlarını (örnek olarak "iexplore.exe") bilen bir kullanıcı mirc32.exe adlı bir programı "iexplore.exe" şeklinde yeniden adlandırarak kullanabilir. Çalışması gerekirken deli gibi chat yapabilir.
Aynı zamanda Windows konusunda bilgili bir kullanıcı Name "X" Value "mirc32.exe" şeklinde bir ekleme yaparak yine chat için kendisine gerekli izni sağlayabilir ki bu yola başvuran kullanıcı dayaklıktır.
Çözümlerde kolaya kaçmanın doğal sonucu olarak "uyanık" sınıfına giren kullanıcılar birkaç tuşa basarak koruma önleminizin fonksiyonelliğini sona erdirebilirler.
Peki kullanıcının benim izin vermediğim hiçbir programı çalıştıramamasını nasıl sağlarım? Başta verdiğim örneğin hatırlatyalım. Programımızın veritabanında çalışma izni olan programların bir listesi yer alıyor ve bu programların çalıştırılması halinde programımız o programı kapatıyordu. Bunu biraz geliştirerek; Veri tabanına yeni bir program eklenirken o programın dizini, boyutu, oluşturulma tarihi gibi bazı bilgileride ekleyerek aynı isme fakat farklı özelliklere sahip bir programında çalıştırılması halinde çalıştırılan programın kapatılmasını sağlayabilirsiniz. Böylece "Mirc32.exe" yi "iexplore.exe" adında çalıştırmasını önleyebilirsiniz. Aynı şekilde bir programın aynı anda kaç kopyasının çalışabileceğinide belirleyebilirsiniz. Elbette orta seviye bir kullanıcı bu tip önlemleride atlatmakta zorlanmayacaktır.
Ancak yazıya başlamadan önce bu yazıda anlatılan konunun ve konuyla ilgili verilen bilgilerin hatalı kullanımı halinde Windowsun çalışmayabileceğini, registrynizde ne yaptığından emin olmadığınız hiçbir değişikliği kesinlikle yapmamanız gerektiği, yaptığınız tüm değişikliklerden sadece kendinizin sorumlu olduğu konusunda sizi uyarmak isterim. Bu değişikliklerin ne yaptığını biliyorsanız söylememe gerek kalmadan Reigstrynin (complete) yedeğini alırsınız zaten. Yazmama gerek yok o zaman..
Yazılım geliştiriciler bazen sistemde hangi programların çalıştığını görmek isterler, bunu yapmanın pek çok yolu olduğu gibi gayet te kolay bir işlemdir çalışmakta olan programların listelenmesi. Peki herhangi bir nedenle sadece kullanımına izin verilen programların çalıştırılmasını isterseniz bunu nasıl yaparsınız? Sürekli çalışan ve izin verdiklerinizden başka bir programın çalıştırılması halinde o programı kapatan bir program yapılabilir. Oldukça kolay bir çözüm. Firewall yazılımlarındaki Internet Access Policiy e benzer bir mantık. Ancak daha kolayı var. Registry de yapacağınız küçük bir değişiklik ile aynı işi yapabilir, hemde uzun uzun kod yazmak zorunda kalmazsınız.
İlk olarak Registry e yeni bir değer ekliyoruz. Böylece sistemimize izni olmayan programların çalıştırılamamasını istediğimizi (daha iyi bir anlatım olabilirdi evet ama bkz: 1. paragraf) bildiriyoruz. Eh birde hangi programların çalıştırılabileceğini söylersek Registry e o da bizi kırmaz.
İlk olarak Registry e Adres Olarak HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Policies\Explorer\RestrictRun Veri Türü Olarak DWORD (set value of 0x00000001)
değerlerini ekleyelim.
String Değeri (Value) Name "1" Value "mspaint.exe"
Bu değerler sisteme mspaint.exe adlı programın çalıştırılabileceğini bildiriyor.
String Değeri (Value) Name "2" Value "iexplore.exe" Bu değerler ise sisteme iexplore.exe adlı programın çalıştırılabileceğini bildiriyor.
Name "3", Name "4" şeklinde devam ederek sisteminizin ihtiyaç duyduğu ve kullanılmasına izin verdiğiniz tüm programları ekleyebilirsiniz.
Gelelim bu yöntemin açıklarına.. Genelde u tür yazılarda verilen örneklerin, anlatılan yöntemlerin sadece olumlu yanları öne çıkarılır, zayıf noktaları pek dile getirilmez. Farklı birşeyler yapalım.. bu yöntemin zayıf yanlarını görelim..
İlk olarak Windows'un çalışmak için çalışmasına ihtiyaç duyduğu programlardan çalışmak için gerekli izni kendilerine sağlayamayanlar çalışmazsa doğal olarak Windows çalışmayabilir veya hatalı yüklenebilir. Bu, bu yöntemin en zayıf yanı.
Bir diğer zayıf yanı ise çalışma izni olan programların exe adlarını (örnek olarak "iexplore.exe") bilen bir kullanıcı mirc32.exe adlı bir programı "iexplore.exe" şeklinde yeniden adlandırarak kullanabilir. Çalışması gerekirken deli gibi chat yapabilir.
Aynı zamanda Windows konusunda bilgili bir kullanıcı Name "X" Value "mirc32.exe" şeklinde bir ekleme yaparak yine chat için kendisine gerekli izni sağlayabilir ki bu yola başvuran kullanıcı dayaklıktır.
Çözümlerde kolaya kaçmanın doğal sonucu olarak "uyanık" sınıfına giren kullanıcılar birkaç tuşa basarak koruma önleminizin fonksiyonelliğini sona erdirebilirler.
Peki kullanıcının benim izin vermediğim hiçbir programı çalıştıramamasını nasıl sağlarım? Başta verdiğim örneğin hatırlatyalım. Programımızın veritabanında çalışma izni olan programların bir listesi yer alıyor ve bu programların çalıştırılması halinde programımız o programı kapatıyordu. Bunu biraz geliştirerek; Veri tabanına yeni bir program eklenirken o programın dizini, boyutu, oluşturulma tarihi gibi bazı bilgileride ekleyerek aynı isme fakat farklı özelliklere sahip bir programında çalıştırılması halinde çalıştırılan programın kapatılmasını sağlayabilirsiniz. Böylece "Mirc32.exe" yi "iexplore.exe" adında çalıştırmasını önleyebilirsiniz. Aynı şekilde bir programın aynı anda kaç kopyasının çalışabileceğinide belirleyebilirsiniz. Elbette orta seviye bir kullanıcı bu tip önlemleride atlatmakta zorlanmayacaktır.

