Sanal klavye (vKeyboard) aşmaya yardımcı olan Python kütüphanesi
(github.com/soulee-dev)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
- Sanal klavye görselini hazırlayın.
- Figma'da sanal klavye görselini yükleyin.
- Figma'da dikdörtgen aracını kullanarak sanal klavyedeki her tuşun üstünü kaplayın.
- Figma'daki çalışmayı SVG dosyası olarak dışa aktarın.
- Terminalde
vkeypad-studio [이미지 파일] [SVG 파일]komutunu girin. - Açılan yeni pencerede görsele karşılık gelen klavye tuşlarına basın.
- Oluşturulan
assetsklasöründeki görsel dosyaları iledata.jsondosyası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
Tuş diziliminin sürekli değiştiği durumlarda uygulanamıyor mu?
Temel olarak, tuş diziliminin sürekli değiştiği durumlar varsayılarak hazırlandı.
vkeypad-studiokullanı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.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.
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.
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.