ไลบรารี Python ที่ช่วยหลบเลี่ยง vKeyboard
(github.com/soulee-dev)vKeyboard ซึ่งถูกใช้อย่างแพร่หลายในฐานะโปรแกรมความปลอดภัยบนเว็บไซต์การเงิน เว็บไซต์ภาครัฐ และอื่น ๆ เป็นหนึ่งในปัจจัยสำคัญที่ทำให้งานครอว์ลิงทำได้ยากขึ้น เพื่อรับมือกับเรื่องนี้ ขอนำเสนอไลบรารี Python ที่มีวิธีการสำหรับหลบเลี่ยง vKeyboard
การหลบเลี่ยง vKeyboard ทำงานด้วยวิธีวิเคราะห์ความคล้ายคลึงกับภาพที่แคปเจอร์ไว้ล่วงหน้า สำหรับสิ่งนี้ ก่อนอื่นให้ใช้ vKeypad-Studio เพื่อเตรียมภาพและข้อมูลของคีย์บอร์ดเสมือน
วิธีใช้งาน vKeypad-Studio
- เตรียมภาพของคีย์บอร์ดเสมือน
- อัปโหลดภาพคีย์บอร์ดเสมือนไปยัง Figma
- ใช้เครื่องมือสี่เหลี่ยมใน Figma เพื่อครอบแต่ละปุ่มของคีย์บอร์ดเสมือน
- ส่งออกงานที่ทำใน Figma เป็นไฟล์ SVG
- พิมพ์คำสั่ง
vkeypad-studio [이미지 파일] [SVG 파일]ในเทอร์มินัล - ในหน้าต่างใหม่ที่เปิดขึ้น ให้กดปุ่มคีย์บอร์ดที่ตรงกับภาพ
- เก็บไฟล์ภาพและไฟล์
data.jsonในโฟลเดอร์ assets ที่ถูกสร้างขึ้นไว้แยกต่างหาก
ตอนนี้คุณสามารถใช้ไลบรารี Python เพื่อทำการหลบเลี่ยง vKeyboard ด้วยข้อมูลที่เตรียมไว้ได้แล้ว ซึ่งช่วยให้สามารถหลบเลี่ยง vKeyboard ของเว็บไซต์ภาครัฐหรือเว็บไซต์การเงิน และดำเนินงานครอว์ลิงได้อย่างราบรื่นยิ่งขึ้น
5 ความคิดเห็น
กรณีที่การจัดเรียงปุ่มเปลี่ยนไปเรื่อย ๆ จะใช้ไม่ได้ใช่ไหม?
โดยพื้นฐานแล้วไลบรารีนี้ถูกสร้างขึ้นโดยสมมติกรณีที่การจัดเรียงปุ่มเปลี่ยนไปเรื่อย ๆ
หากสร้างภาพไว้ล่วงหน้าด้วย vkeypad-studio ก็จะสามารถจดจำได้แม้ว่าการจัดเรียงปุ่มจะเปลี่ยนไป โดยวิเคราะห์ความคล้ายคลึงกับภาพนั้น
อ้อ เข้าใจแล้วครับ... แค่อ่าน README กับดูวิดีโออย่างเดียวค่อนข้างเข้าใจวิธีการทำงานได้ยากครับ และก็ดูเหมือนไม่ได้จำเป็นต้องเป็น Figma เสมอไป แต่กลับระบุถึง Figma อย่างชัดเจนเลยทำให้สับสนด้วย ยังไงเดี๋ยวไว้จะลองใช้ดูทีหลังนะครับ ขอบคุณครับ
ขออธิบายเพิ่มเติมคือ โดยพื้นฐานแล้วระบบจะระบุได้ว่าปุ่มใดอยู่ตำแหน่งไหนผ่านการวิเคราะห์ความคล้ายคลึงของภาพ
สำหรับการวิเคราะห์ความคล้ายคลึงของภาพ จำเป็นต้องมีภาพของแต่ละปุ่ม และเครื่องมือที่สร้างขึ้นเพื่อทำให้ขั้นตอนนี้เป็นอัตโนมัติคือ vkeypad-studio
หากวางสี่เหลี่ยมซ้อนบนภาพคีย์บอร์ดผ่าน Figma ก็จะมีเลเยอร์ซ้อนกันอยู่ในไฟล์ SVG จากนั้นจะดึงพิกัดของเลเยอร์เหล่านี้ออกมาเพื่อตัดภาพ บันทึกพิกัดและ keycode
และด้วยภาพที่บันทึกไว้เช่นนี้ รวมถึงพิกัด ก็จะสามารถวิเคราะห์ปุ่มได้
จริง ๆ แล้วที่ให้ใช้ Figma ก็เพียงเพื่อความสะดวกของผู้ใช้เป็นหลักเท่านั้น คีย์บอร์ดเสมือนส่วนใหญ่มีความกว้างคงที่ และ auto-align ที่ Figma มีให้ก็ดีมาก จึงคิดว่าสามารถจัด flow แบบนี้ได้ แต่ดูเหมือนว่าอาจทำให้รู้สึกว่ายากกว่าเดิมก็ได้ครับ
เป็นความผิดพลาดของผมเองที่อธิบายใน readme ได้ไม่ชัดเจนพอ.. ผมจะลองปรับแก้ readme ให้ชัดเจนยิ่งขึ้นอีกครั้งตามความคิดเห็นที่ทุกท่านบอกมา