16 puan yazan soulee 2023-04-11 | 5 yorum | WhatsApp'ta paylaş

Finans ve devlet siteleri gibi yerlerde güvenlik yazılımı olarak yaygın biçimde kullanılan sanal klavye (vKeyboard), crawling çalışmalarını zorlaştıran başlıca etkenlerden biridir. Buna karşılık, sanal klavyeyi aşma yöntemi sunan bir Python kütüphanesini tanıtıyoruz.

Sanal klavye aşma işlemi, önceden yakalanmış görüntülerle benzerlik analizi yapma yöntemiyle gerçekleştirilir. Bunun için önce vKeypad-Studio kullanılarak sanal klavye görselleri ve verileri hazırlanır.

vKeypad-Studio kullanım yöntemi

  1. Sanal klavye görselini hazırlayın.
  2. Figma'da sanal klavye görselini yükleyin.
  3. Figma'da dikdörtgen aracını kullanarak sanal klavyedeki her tuşun üstünü kaplayın.
  4. Figma'daki çalışmayı SVG dosyası olarak dışa aktarın.
  5. Terminalde vkeypad-studio [이미지 파일] [SVG 파일] komutunu girin.
  6. Açılan yeni pencerede görsele karşılık gelen klavye tuşlarına basın.
  7. Oluşturulan assets klasöründeki görsel dosyaları ile data.json dosyasını ayrı olarak saklayın.

Artık hazırlanan verileri kullanarak sanal klavye aşmayı gerçekleştirebilen Python kütüphanesini kullanabilirsiniz. Bu sayede devlet veya finans sitelerindeki sanal klavyeleri aşarak crawling çalışmalarını daha sorunsuz şekilde yürütebilirsiniz.

5 yorum

 
roxie 2023-04-12

Tuş diziliminin sürekli değiştiği durumlarda uygulanamıyor mu?

 
soulee 2023-04-12

Temel olarak, tuş diziliminin sürekli değiştiği durumlar varsayılarak hazırlandı.
vkeypad-studio kullanılarak görüntüler önceden oluşturulursa, bu görüntülerle benzerlik analizi yapılarak tuş dizilimi değişse bile tanıma mümkün olur.

 
roxie 2023-04-12

Anladım... README ve videoyla birlikte bile çalışma şeklini anlamak zordu. Bunun özellikle Figma olmak zorunda olduğu da pek görünmüyordu ama açıkça Figma’yı işaret etmesi de kafa karıştırıcıydı. Neyse, daha sonra deneyeceğim, teşekkürler.

 
soulee 2023-04-12

Ek açıklama yapmak gerekirse, temel olarak görüntü benzerliği analiziyle hangi konumda hangi tuşun bulunduğu tespit ediliyor.

Görüntü benzerliği analizi için her tuşa ait görseller gerekiyor; bunu otomatikleştirmek için oluşturulmuş araç vkeypad-studiodur.
Figma üzerinden klavye görselinin üzerine dikdörtgenler yerleştirildiğinde, SVG içinde katmanlar oluşuyor. Bu katmanların koordinatları çıkarılarak görüntü crop ediliyor ve koordinatlar ile keycode kaydediliyor.
Ardından bu şekilde kaydedilmiş görseller ve koordinatlar üzerinden tuşlar analiz edilebiliyor.

Aslında Figma kullanma şartını koymamın tek nedeni kullanıcı kolaylığıydı. Sanal klavyelerin çoğu sabit genişlikli ve Figma'nın sunduğu auto-align da oldukça başarılı olduğu için akışı bu şekilde sunmanın uygun olacağını düşünmüştüm, ama bunun aksine daha zor hissettirebileceği de anlaşılıyor.

 
soulee 2023-04-12

README’de konuyu yeterince iyi açıklayamadığım için benim hatam.. Belirttiğiniz görüşler doğrultusunda README’yi yeniden daha net görülebilecek şekilde düzenlemeye çalışacağım.