ATtiny85 Mouse Oynatıcı HID V-USB Kullanımı
Her ne kadar açık olsa da, kilitli bir bilgisayarda çalışma yapmak, kilitli olmayan bir bilgisayarda çalışma yapmaktan çok daha zordur. ATtiny85 mouse ile beyaz şapkalı bir hacker, pentester, siber güvenlik uzmanı ya da dijital adli tıp alanında çalışanlara özel, kolay bir çözüm var: bilgisayarın ilk etapta uykuya dalmamasını ve otomatik olarak kilitlenmemesini sağlamak.
Bir dizüstü ya da masaüstü bilgisayarın uykuya geçerek kilitlenmesini engellemenin bir yolu da fare oynatıcı kullanmaktır. Bu, daha sonra verileri kanıt olarak incelerken hesap için şifre almak zorunda kalmamak için kolluk kuvvetleri tarafından sıklıkla kullanılan bir taktiktir. Şüpheli muhtemelen kimlik bilgilerini vermeyecektir, ancak şüpheli bir baskın sırasında hazırlıksız yakalandıysa, bilgisayarın uyumadığından emin olmak için bir fare oynatıcısı hızlı bir şekilde yerleştirilebilir ve şifre ihtiyacını tamamen ortadan kaldırabilir.
Burada, gösteri amaçlı olarak farenin hareket ettiğinin çok açık olduğu, biraz değiştirilmiş bir komut dosyası kullanacağız. Hatta bununla gerçekten eğlenebilir, farenin rastgele aralıklarla hareket etmesini sağlayabilirsiniz, böylece bilgisayarı kullanan kişi fare işaretçisinin neden ekranda atlayıp durduğunu ve düzensiz hareket ettiğini merak edecektir. Bir arkadaşınıza ya da iş arkadaşınıza yapabileceğiniz eğlenceli bir şaka olabilir.
Bir fare oynatıcısı, fare işaretçisini veya imleci, işletim sistemini aktif durumda tutmaya yetecek kadar hareket ettirir.
ATtiny85 Mouse Oynatıcı İçin Arduino IDE’nin Hazırlanması
Daha detaylı kurulum adımları içim daha önce yayınladığımız içeriğimize bakabilirsiniz.
Digispark’a bağlanmak için, onu Arduino IDE’deki kart yöneticimize eklememiz gerekecek. İlk olarak, Arduino IDE’de “Tercihler” menüsünü açın. Ardından, genişletmek için “Additional Boards Manager URLs” alanının yanındaki pencere düğmesine tıklayın.
https://digistump.com/package_digistump_index.json
https://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json
Şimdi, yukarıdaki bağlantılardan birini yeni bir satıra yapıştırın (ikisine birden ihtiyacınız yok, ilki sadece ikincisine yönlendirir). Kaydetmek için “Tamam “a ve ardından tekrar “Tamam “a tıklayın. JSON bağlantısı temel olarak çeşitli Digispark varyasyonları için tüm port tanımlarını sağlar.
Ardından, “Araçlar “a gidin, “Kart “a ve ardından “Kart Yöneticisi “ne tıklayın. Burada “digistump” araması yapınca Digistump AVR Kartlarını “Yükleyeceksiniz”. Eğer zaten varsa, bir güncelleme mevcutsa buradan da güncelleyebilirsiniz. “Kapat “a basın ve her şey hazır.
URL işlemi bittikten sonra “Tamam” butonu ile kaydedip, Arduino IDE sini kapatıp tekrar açıyoruz.
ATtiny85 için gerekli kartların gelip gelmediğini kontrol ediyoruz ve programlayıcıyı “USBasp” seçtiğimizden emin oluyoruzArduino IDE > Araçlar > Kart > Digispark (Default – 16.5mhz) ve Programlayıcı: “USBasp”
Buraya kadar bütün hazırlıklarımız tamam, artık kodumuzu yüklemeye başlayabiliriz fakat Arduino veya diğer mikroişlemcilerden alıştığımız bir yöntemle değil!
Dikkat etmeniz gereken nokta şu; Kodumuzu ATtiny85’e yüklerken kartımız bilgisayara takılı olmaması gerekiyor “yükle” tuşuna kart takılı değilken bastığımızda bize kartımızı takmamızı isteyecek;
” Running Digispark Uploader…
Plug in device now… (will timeout in 60 seconds) “
Bu yazıyı gördükten sonra ATtiny85’i bilgisayarın USB portuna takıyoruz ve otomatik programlanıyor devamında ise şöyle bir geri dönüşle işlemin tamamlandığını anlıyoruz;
ATtiny85 Mouse Oynatıcı Program Kodu
Orijinal kodun nasıl çalıştığını görmek istiyorsanız, GitHub’daki orjinal kodu alabilir veya aşağıdaki kodu kullanabilirsiniz. Ardından, Digispark’ın fişini çekin, “Yükle “ye basın ve orijinal taslağı yüklemek için tekrar takın. Yüklendikten sonra, fare imlecinizin hareket ettiğini hiç görmemelisiniz ve asla görmeyeceksiniz, çünkü fark edilmesi imkansız olan ancak bilgisayarı sonsuza kadar açık tutacak mikro hareketleri yapacaktır.
// Digispark Mouse Jiggler
// Written by James Franklin for Air-Gap in 2019
// www.air-gap.com.au
#include <DigiMouse.h>
unsigned int LowerCycleTime = 10000; //Minimum Time in milli-seconds between each mouse action Default: 10000 (10 Seconds), Max 65535ms
unsigned int UpperCycleTime = 30000; //Maximum Time in milli-seconds between each mouse action Default: 30000 (30 Seconds), Max 65535ms
//Random Function will randomly execute a mouse move between these two values
void setup() {
randomSeed(analogRead(0)); //Random Seed off background noise on analog pin
pinMode(1, OUTPUT);
DigiMouse.begin(); //start
}
void loop() {
//Moves mouse 1 pixel in a direction (up/down/left/right) in a square
digitalWrite(1, HIGH);
DigiMouse.moveY(1);
DigiMouse.delay(50);
digitalWrite(1, LOW);
DigiMouse.delay(random(LowerCycleTime, UpperCycleTime));
digitalWrite(1, HIGH);
DigiMouse.moveX(1); //
DigiMouse.delay(50);
digitalWrite(1, LOW);
DigiMouse.delay(random(LowerCycleTime, UpperCycleTime));
digitalWrite(1, HIGH);
DigiMouse.moveY(-1);
DigiMouse.delay(50);
digitalWrite(1, LOW);
DigiMouse.delay(random(LowerCycleTime, UpperCycleTime));
digitalWrite(1, HIGH);
DigiMouse.moveX(-1);
DigiMouse.delay(50);
digitalWrite(1, LOW);
DigiMouse.delay(random(LowerCycleTime, UpperCycleTime));
}
Başlangıçta, 0,5 ve 1 saniye için milisaniye olan 500’lük bir LowerCycleTime ve 1.000’lik bir UpperCycleTime vardır. İlki rastgele fare hareketleri arasındaki en kısa süreyi ayarlarken, ikincisi rastgele fare hareketleri arasındaki en uzun süreyi ayarlar.
İkinci fark, ilk DigiMouse.moveY ve DigiMouse.moveX talimatları için 1.000.000 seçtik, ardından son ikisi için -1.000.000’a indirdik. Bu, fare işaretçisinin konumunun bir kare şeklinde yukarı, sola, aşağı, sağa hareket etmesini sağlayacaktır.
Ayrıca diğer ATtiny85 içeriklerimize buradaki bağlantıdan ulaşabilirsiniz.
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.