THT DUYURU

Bilgisayar Güvenliği Bilgisayar Güvenlik Sistemleri makaleleri, virüs korumasından, güvenlik duvarlarına kadar her şeyin nasıl çalıştığı hakkında bilgilere buradan ulaşabilirsiniz.

chat
Seçenekler

=>[DEV MAKALE]DLL Sorunları ve Çözümleri<=

VITALLION - ait Kullanıcı Resmi (Avatar)
Özel Üye
Üyelik tarihi:
04/2013
Yaş:
22
Mesajlar:
11.063
Konular:
1203
Teşekkür (Etti):
4417
Teşekkür (Aldı):
5572
Ticaret:
(0) %
05-10-2014 20:05
#1
=>[DEV MAKALE]DLL Sorunları ve Çözümleri<=
Merhaba arkadaşlar ben Solid.Bugün sizlere oyunlarda da sıkça karşımıza çıkan DLL hatalarının nedenlerini ve çözümlerini anlatacağım.

Öncelikle DLL herhangi bir programın veya Windows'un düzgün çalışması için gerekli olan özellikleri içerir.Bir DLL dosyasının programın çalışmasını kontrol edebileceği gibi kendi başına çalışabileceğini de unutmamak lazımdır.

DLL programların kütüphanesidir.Yani programlar çalışmadan önce, çalışırken, kapatıldıktan sonra gerekli DLL'lere başvururlar ve bunlar doğrultusunda programlandıkları gibi çalışırlar.

Bir programın çalışması sadece .exe uzantılı programlara bağlı değildir.Herhangi bir hata durumunda işlemin devam edebilmesi için DLL içine yazılan komutların uygulanması gerekir.
Bunu farklı bir şekilde yapabilen bir diğer dosya da .inf dosyasıdır.
.inf uzantılı dosyalar kesinlikle DLL görevi görmez.Ancak çalışma stilleri birbirine benzemektedir.

Örneğin, Autorun.inf dosyası bir "Önceden çalıştırma" dosyasıdır.Windows'un deyişiyle Kurulum bilgilerinin barındırıldığı depodur.
Autorun.inf herhangi bir diskin veya programın başlatılmasını sağlar.Programın ikonunu ismini konumunu belirler.Ancak DLL gibi kapatıldıktan sonra bile devam etmez.


DLL ise bundan farklı olarak programın tamamı için gereklidir.Örneğin .exe'si 500MB olan bir programın sadece 2KB'lık bir DLL'si eksik olursa o program çalışmaz.Çünkü o 2KB dediğimiz DLL içinde programın algoritması mevcuttur ve programın çalışırken sisteme zarar vermemesi için bu DLL gereklidir.
Exe uzantılı programın içinde yapılan kodlamalar da DLL bulunamazsa programın kapatılmasını sağlar.Bu kodlamaları değiştirip kullanmak çok büyük bir risktir.Örneğin bir temizleme programı indirdiniz.Bu programın sistem dosyalarını dahi silme yetkisi vardır.Programdaki bir DLL ise bu dosyaların silinmemesi gerektiğini, sadece belirtilen temizleme konumlarının silinmesi gerektiğini programa işler.İşte eğer kodlamayı değiştirip açarsak sistem dosyalarımız zarar görebilir.

Bunun yanı sıra genellikle DLL hataları 32 bit kullanıcıları için System32'de 64 bit kullanıcıları için SysWow64'te gerçekleşmektedir.Bunlar sistem bitine göre ayarlanmış klasörlerdir.Eğer 64 bit bilgisayardaki Program Files (x86) klasörüne bir program kurulmuşsa bu program System32 içindeki DLL'lerden yararlanır.


Ayrıca programların kendi dosya konumlarında da DLL'ler mevcuttur.Örneğin Outlast veya GTA IV oyunlarının DLL hataları genelde sık sık olmaktadır.

Dinamik Bağlantı Kitaplığı hatasını çoğumuz duymuşuzdur.Bu hata genelde bozuk Crack'Den veya eksik DLL'den gerçekleşmektedir.Bunun yanı sıra uyumlu olmayan DLL de bu soruna yol açabilir.
İndirdiğimiz bir DLL sadece(!) 32 bit destekliyorsa biz bunu 64 bit bilgisayarda çalıştıramayız.Program Files (x86)'ya kurulsa bile.

DLL hatalarını çözmenin basit bir yolu da hata veren programın Dosya konumuna gerekli DLL'yi atmaktır.Ancak dikkat edin bazen attığınız bu DLL virüs içeriyor olabilir.
Bunun yanı sıra DLL içinde olan bazı zararsız kodlamalar antivirüsler tarafından virüs olarak algılanmaktadır.Bunun zararlı olup olmadığını anlamak için ise sanal PC oluşturarak denemek gerekir.

Virüslü DLL'lerden birisi Windows'un ana veritabanında yer alıyor olsa ne yapardınız?
ComboFix mi? Format mı??
Hayır!
Bu DLL'ler Güvenli Modda durdurulup yerine orijinal Microsoft DLL'si ile değiştirilmelidir.

İndirdiğiniz bir DLL'yi programın klasörüne attınız ve çalışmadı.Bu durumda System32'ye atmalı ve bir kez daha denemelisiniz.Yine olmazsa SysWow64'e atmalısınız.
DİKKAT!!
Ancak DLL'yi tek bir klasöre atmalısınız.System32'de olan bir DLL SysWow64'te olmamalı.
Bu gibi durumlarda arama kutusundan DLL'yi bulup silmek gerekir
.


Makale bu kadar arkadaşlar.Okuduğunuz için teşekkürler.Umarım yararlı olmuştur.

Değerli yorumlarınızı bekliyorum...
---------------------




ƬHΣ GHΘЅƬLΨ , ƁLΔCƘ ΔΓΜΘƱΓΣD CΣƬƱΓIΘ




- SolidStar -
Konu SolidStar tarafından (05-10-2014 20:08 Saat 20:08 ) değiştirilmiştir.
Elmar2001 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
07/2014
Nereden:
127.0.0.1
Mesajlar:
914
Konular:
54
Teşekkür (Etti):
124
Teşekkür (Aldı):
157
Ticaret:
(0) %
05-10-2014 21:18
#2
Klavyene ve ellerine sağlık 😀
VITALLION - ait Kullanıcı Resmi (Avatar)
Özel Üye
Üyelik tarihi:
04/2013
Yaş:
22
Mesajlar:
11.063
Konular:
1203
Teşekkür (Etti):
4417
Teşekkür (Aldı):
5572
Ticaret:
(0) %
05-10-2014 21:19
#3
Alıntı:
Elmar2001´isimli üyeden Alıntı Mesajı göster
Klavyene ve ellerine sağlık 😀
Rica ederim ..
---------------------




ƬHΣ GHΘЅƬLΨ , ƁLΔCƘ ΔΓΜΘƱΓΣD CΣƬƱΓIΘ




- SolidStar -

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler