← Ana Sayfaya Dön
⌨️

Excalibur RGB Kontrolü

Python • Tersine Mühendislik • Hardware I/O

Proje Amacı

Casper Excalibur dizüstü bilgisayarlarının klavye aydınlatmasını (RGB), cihazın kendi hantal ve sorunlu Control Center yazılımından tamamen bağımsız bir şekilde yönetebilmek. Orijinal yazılımın sunduğu deneyimden tatmin olmadığım için, donanımı doğrudan işletim sistemi seviyesinden yönetecek bir araç geliştirmeye karar verdim.

🔍 Tersine Mühendislik (Reverse Engineering) Süreci

Anakart üzerindeki Embedded Controller (EC) ile iletişim kurmak kolay olmadı. Başlangıçta çeşitli uygulama takip yazılımları indirerek orijinal Control Center'ın donanıma hangi portlar üzerinden müdahale ettiğini bulmaya çalıştım ancak sonuç alamadım.

Çözüm olarak tersine mühendisliğe başvurdum. Control Center uygulamasını decompile (kodlarını geri çevirme) ederek kaynak kodlarını inceledim. Bu sayede uygulamanın 0x62 ve 0x66 I/O port adresleri üzerinden donanımla konuştuğunu keşfettim.

Elde Edilen Kazanımlar ve Ekstra Özellikler

Bu keşiften sonra `inpoutx64.dll` ve Python'ın `ctypes` kütüphanesini kullanarak kendi script'imi yazdım. Orijinal uygulamaya kıyasla şunları başardım:

  • Bağımsızlık: Control Center'ın arka planda çalışmasına gerek kalmadı.
  • Otomasyon & Hata Giderme: Orijinal yazılımda, bilgisayarı kapatıp açtığınızda ayarladığınız renkler klavyeye uygulanmıyor, uygulamayı manuel olarak tekrar açmanız gerekiyordu. Yazdığım sistemle bunu çözdüm; renkler sistem başladığı an otomatik uygulanıyor.
  • Genişletilebilirlik: Orijinal uygulamada olmayan ekstra aydınlatma modları ve özellikler eklemeye devam ediyorum.

Teknolojiler

Python 3, Decompilation / Reverse Engineering, Windows API, `ctypes`, Düşük Seviye Donanım (I/O Port) İletişimi.