Bu içeriğimizde, ATtiny85 Mouse oynatıcı HID V-USB yapımına göz atıyoruz. Kilitli bir bilgisayarda analiz veya test çalışmaları gerçekleştirmek, aktif durumdaki bir bilgisayara kıyasla çok daha zordur.
Sızma testi uzmanları, beyaz şapkalı hackerlar, siber güvenlik uzmanları ve adli bilişim (dijital adli tıp) çalışanları için bu durum operasyonun gidişatını doğrudan etkileyebilir. Bu zorluğu aşmanın en pratik ve etkili yolu, hedef bilgisayarın ilk etapta uyku moduna geçmesini ve otomatik olarak kilitlenmesini engellemektir. İşte tam bu noktada, ATtiny85 tabanlı bir fare oynatıcı (mouse jiggler) devreye girerek siber güvenlik ekipleri için hayat kurtarıcı bir çözüm sunuyor.
Bir dizüstü veya masaüstü bilgisayarın ekran kilidini aktif tutarak uykuya dalmasını engellemenin en yaygın yöntemlerinden biri fiziksel veya yazılımsal fare oynatıcılarıdır. Bu taktik, özellikle dijital kanıt toplama operasyonlarında kolluk kuvvetleri ve adli bilişim uzmanları tarafından sıklıkla tercih edilir. Baskın veya arama sırasında hazırlıksız yakalanan bir şüphelinin bilgisayarı aktif durumdaysa, bilgisayara hızlı bir şekilde yerleştirilecek bir USB fare oynatıcı, oturumun açık kalmasını sağlayarak şifre çözme veya kimlik bilgilerini edinme zorunluluğunu tamamen ortadan kaldırır.
Bu rehberimizde, donanımın çalıştığını fiziksel olarak gözlemleyebilmek amacıyla fare imlecinin hareket ettiğinin açıkça görülebildiği modifiye edilmiş bir komut dosyası (sketch) kullanacağız. Projeyi daha eğlenceli hale getirmek için farenin rastgele zaman aralıklarında hareket etmesini de sağlayabilirsiniz; böylece hedef bilgisayarı kullanan kişi imlecin neden düzensiz hareket ettiğini anlamaya çalışırken keyifli anlar yaşayabilirsiniz. Bu yönüyle proje, arkadaşlarınız veya iş arkadaşlarınız için zararsız ve eğlenceli bir şaka aracına da dönüştürülebilir.
Fare oynatıcı (mouse jiggler) aygıtı, USB HID standartlarını kullanarak işletim sistemine periyodik olarak fare hareket sinyalleri gönderir ve sistemi sürekli aktif durumda tutar.
ATtiny85 Mouse Oynatıcı İçin Arduino IDE’nin Hazırlanması
Digispark geliştirme kartının kurulum adımları ve bilgisayara tanıtılması hakkında daha ayrıntılı bilgi edinmek için daha önce hazırladığımız ATtiny85 programlama rehberimize göz atabilirsiniz.
Arduino IDE üzerinden Digispark geliştirme kartına kod yükleyebilmek için öncelikle kart tanımlarını entegre etmemiz gerekir. Arduino IDE uygulamasını açın ve “Tercihler” (Preferences) menüsüne gidin. Ardından, “Ek Devre Kartları Yöneticisi URL’leri” (Additional Boards Manager URLs) alanının yanındaki pencere butonuna tıklayarak aşağıdaki JSON satırlarını ekleyin:
https://digistump.com/package_digistump_index.json
https://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json
Yukarıda paylaşılan JSON bağlantılarından birini yeni bir satıra eklemeniz yeterlidir (ilki doğrudan resmi sunucuya, ikincisi ise yedek GitHub deposuna yönlendirir). Değişiklikleri kaydetmek için “Tamam” butonuna basarak pencereleri kapatın. Bu işlem, Arduino IDE’nin Digispark kart varyasyonlarına ait port ve sürücü tanımlarını indirmesini sağlayacaktır.

Ardından, üst menüden Araçlar > Kart > Kart Yöneticisi yolunu takip edin. Arama çubuğuna “digistump” yazarak çıkan “Digistump AVR Boards” kütüphanesini yükleyin. Eğer daha önceden yüklediyseniz ve yeni bir güncelleme varsa, buradan en güncel sürüme yükseltebilirsiniz. Yükleme tamamlandıktan sonra pencereyi kapatabilirsiniz.

Kart kurulum işleminin ardından ayarların geçerli olması için Arduino IDE’yi kapatıp yeniden açın. Araçlar > Kart menüsünden “Digispark (Default – 16.5mhz)” kartını seçin. Son olarak programlayıcı ayarını yapmak için Araçlar > Programlayıcı altından “USBasp” seçeneğinin işaretli olduğundan emin olun.

Yazılımsal ve donanımsal hazırlıklarımız tamamlandığına göre kod yükleme aşamasına geçebiliriz. Ancak bu işlem, standart Arduino veya diğer mikroişlemciler ile yaptığımız klasik yöntemlerden biraz farklıdır.
Önemli Detay: Kodu yükleme butonuna basmadan önce ATtiny85 kartınızı bilgisayarın USB portuna kesinlikle takmayın. Kart takılı değilken Arduino IDE üzerindeki “Yükle” (Upload) butonuna basın. IDE, derleme işlemini bitirdikten sonra sizden kartı takmanızı isteyecektir:

” Running Digispark Uploader…
Plug in device now… (will timeout in 60 seconds) “
Konsolda yukarıdaki uyarı mesajını gördükten sonra ATtiny85 kartınızı bilgisayarın boş bir USB portuna takın. Kartınız saniyeler içerisinde algılanacak ve yükleme işlemi otomatik olarak başlayacaktır. Yükleme başarıyla bittiğinde aşağıdaki gibi bir bildirim alacaksınız:

ATtiny85 Mouse Oynatıcı Program Kodu
Aşağıda yer alan kod, Digispark kartını bilgisayara takıldığında standart bir USB fare olarak tanıtan ve mikro hareketler yaptırarak sistemin uyanık kalmasını sağlayan yazılımdır. Aygıtı yükledikten sonra, fare imlecinizin hareket ettiğini gözle fark edemezsiniz; çünkü kod, insan gözüyle ayırt edilmesi imkansız olan 1 piksellik kare hareketler gerçekleştirerek bilgisayarın uykuya dalmasını engeller.
Hazırladığımız kodda yer alan LowerCycleTime ve UpperCycleTime değişkenleri, fare hareketleri arasındaki rastgele bekleme süresini milisaniye cinsinden belirler. Varsayılan olarak 10 ila 30 saniye aralığında dinamik geçişler atanmıştır. Bu sayede işletim sisteminin hareketleri yapay bir yazılım olarak algılayıp engellemesinin önüne geçilir.
Kodun döngü kısmında yer alan DigiMouse.moveY ve DigiMouse.moveX fonksiyonları sırasıyla dikey ve yatay eksende 1 piksellik küçük kaymalar oluşturur. İşlemler sırasıyla uygulandığında imleç orijinal koordinatını kaybetmeden minik bir kare çizer ve bu sayede bilgisayarın ekran kilidi veya uyku modu devre dışı kalır.
ATtiny85 ile gerçekleştirdiğimiz diğer gömülü sistem ve programlama projelerine ATtiny projeleri kategorimizden ulaşarak kendinizi geliştirebilirsiniz.
Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.
