Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
delphi ile kernel mode file hooking-yardım
#1
Question 
Delphi ile kernel düzeyinde hook atabilir miyim. 

örneğin hook.exe sa.txt  sa.txt ye erişimi engelleyecek.  işlem bitince de  hook u kaldırmak istiyorum. 

Freelancer da bunun ile ilgili konu da açmıştım. (Teklif verebilirsiniz, delphi ile de olur.)
freelancer konu linki

Lighthook (Link)  ile  yapmaya çalıştım ancak network ip adresini giriyorum.   aşağıdaki hatayı veriyor. 

Installing necessary components...
Failed operation: An error occurred while connecting from the remote machine.
Error: 10061 (ConnectionRefused)
Error message: Hedef makine etkin olarak reddettiğinden bağlantı kurulamadı 192.168.80.1:50005

Wdk ve Sdk lar yüklü. güvenlik duvarını da kapattım. 
gg4k9b2.PNG
Cevapla
#2
Beyin fırtınası olarak kabul edin.

Bu dosyanın projeniz tarafından takip edilmesi zorunlu mudur ?
File Security üzerinden kullanıcı bazlı engel daha kolay olabilir o manada sorma gereği duydum.
Yazılımınız yine seçimlik dosyaların CACL erişim yetkilerine müdahale ederek erişimi sınırlandırıp yeniden serbest bırakabilir diye değerlendiriyorum
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#3
(10-08-2024, Saat: 16:55)mrmarman Adlı Kullanıcıdan Alıntı: Beyin fırtınası olarak kabul edin.

Bu dosyanın projeniz tarafından takip edilmesi zorunlu mudur ?
File Security üzerinden kullanıcı bazlı engel daha kolay olabilir o manada sorma gereği duydum.
Yazılımınız yine seçimlik dosyaların CACL erişim yetkilerine müdahale ederek erişimi sınırlandırıp yeniden serbest bırakabilir diye değerlendiriyorum


Dediğiniz gibi kullanıcı bazlı yapmıştım. 

Biraz daha derin araştırmalar yaptığımda alt katmanda hook atmazsam bazı viruslerin kolayca bypass  edebildiklerini öğrendim.  bunu basit bir antimalware in parçası olarak kullanmak istiyorum

Önerilerinize açığım.
Cevapla
#4
Merak edip google linklerine bakarken bir github linki takıldı. İncelemek isteyebilirsiniz. bu linkten  

En azında Delete / Write / Rename engelini koyarken FileInfo okumak zorunda kalacağından o aşamayı siz araştırıp bulabilirsiniz diye değerlendirdim. 

Benim bilgi seviyemin üzerinde konular bunlar.

Başarılar.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#5
(10-08-2024, Saat: 17:50)mrmarman Adlı Kullanıcıdan Alıntı: Merak edip google linklerine bakarken bir github linki takıldı. İncelemek isteyebilirsiniz. bu linkten  

En azında Delete / Write / Rename engelini koyarken FileInfo okumak zorunda kalacağından o aşamayı siz araştırıp bulabilirsiniz diye değerlendirdim. 

Benim bilgi seviyemin üzerinde konular bunlar.

Başarılar.

teşekkürler My
Cevapla
#6
(10-08-2024, Saat: 17:50)mrmarman Adlı Kullanıcıdan Alıntı: Merak edip google linklerine bakarken bir github linki takıldı. İncelemek isteyebilirsiniz. bu linkten  

En azında Delete / Write / Rename engelini koyarken FileInfo okumak zorunda kalacağından o aşamayı siz araştırıp bulabilirsiniz diye değerlendirdim. 

Benim bilgi seviyemin üzerinde konular bunlar.

Başarılar.

Dediğiniz bu  windows-kernel-file-protector  i biraz düzenlemeyi başardım.  kernel düzeyinde okuma yazma silme gigi tüm işlemleri engelleyebiliyorum. teşekkürler.
Cevapla
#7
Kernel düzeyinde hook atabilmek için kernel düzeyinde çalışabilecek uygulamalar yazmalısın. Örneğin sistem sürücüleri. Bunlar ile Callback'leri dinleyerek araya girebilirsin. Bunu Delphi ile yapabileceğini sanmıyorum. O derece düşük seviye işlemleri C dili ile yapmak daha doğru olur. Kernel dediğiniz için dosya sistemindeki tabloları okumak (bildiimiz tarzda bir tablo diyemeyiz. PLDR_DATA_TABLE gibi.) ve bunlara müdahale etmek ileri seviye işlem gerektirir ki sistemi kararsızlaştırma ihtimaliniz oldukça yüksek. Ayrıca Windows Driver Kit gibi SDK'ları da yüklemek gerekecektir. Ayrıca 64/32 bit olaylarına da dikkat etmek gerekiyor. Windows, Linux'ın aksine, yapısı gereği çekirdeğiyle oynanmasından pek de hoşlanan bir işletim sistemi değil. Yukarıda verilen örneklerdeki gibi bunu UserMode tarafında halletmek sizin için daha uygun olur zannımca.
Cevapla
#8
(23-08-2024, Saat: 16:38)Syntax Adlı Kullanıcıdan Alıntı: Kernel düzeyinde hook atabilmek için kernel düzeyinde çalışabilecek uygulamalar yazmalısın. Örneğin sistem sürücüleri. Bunlar ile Callback'leri dinleyerek araya girebilirsin. Bunu Delphi ile yapabileceğini sanmıyorum. O derece düşük seviye işlemleri C dili ile yapmak daha doğru olur. Kernel dediğiniz için dosya sistemindeki tabloları okumak (bildiimiz tarzda bir tablo diyemeyiz. PLDR_DATA_TABLE gibi.) ve bunlara müdahale etmek ileri seviye işlem gerektirir ki sistemi kararsızlaştırma ihtimaliniz oldukça yüksek. Ayrıca Windows Driver Kit gibi SDK'ları da yüklemek gerekecektir. Ayrıca 64/32 bit olaylarına da dikkat etmek gerekiyor. Windows, Linux'ın aksine, yapısı gereği çekirdeğiyle oynanmasından pek de hoşlanan bir işletim sistemi değil. Yukarıda verilen örneklerdeki gibi bunu UserMode tarafında halletmek sizin için daha uygun olur zannımca.

Cevabınız için teşekkürler. 
@mrmarman  bey sağolsun bir yol gösterdi, önerdiği örnek çalışmayı biraz düzenlemeyi başardım.   kernel düzeyinde hook atabiliyorum şuan. 
2 gündür test ediyorum kararlı bir şekilde çalışıyor.  daha hiç mavi ekran vermedi. 
Test modunda wdk test sertifikası kullanıyorum ancak ücretli bir sertifika kullanmam gerekecek.  bu konuda hesaplı bir platform var mı bildiğiniz.  

pzvz4s6.jfif
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  yapay zeka delphi kl007 9 623 26-02-2026, Saat: 09:12
Son Yorum: mrmarman
  Win 11 ve Delphi 7 Minimize sorunu. enigma 7 495 11-02-2026, Saat: 10:27
Son Yorum: RAD Coder
Question Delphi formunu nasıl otomatik tam ekran yapabilirim ? erdemklt0 2 321 23-01-2026, Saat: 10:02
Son Yorum: csunguray
  Delphi SLL kullanım sorunu Bay_Y 12 1.317 22-12-2025, Saat: 18:11
Son Yorum: Bay_Y
  Delphi ile SQL server bağlantı hatası yakalama Under 20 1.976 21-11-2025, Saat: 15:24
Son Yorum: mrmarman



Konuyu Okuyanlar: