16 คะแนน โดย soulee 2023-04-11 | 5 ความคิดเห็น | แชร์ทาง WhatsApp

vKeyboard ซึ่งถูกใช้อย่างแพร่หลายในฐานะโปรแกรมความปลอดภัยบนเว็บไซต์การเงิน เว็บไซต์ภาครัฐ และอื่น ๆ เป็นหนึ่งในปัจจัยสำคัญที่ทำให้งานครอว์ลิงทำได้ยากขึ้น เพื่อรับมือกับเรื่องนี้ ขอนำเสนอไลบรารี Python ที่มีวิธีการสำหรับหลบเลี่ยง vKeyboard

การหลบเลี่ยง vKeyboard ทำงานด้วยวิธีวิเคราะห์ความคล้ายคลึงกับภาพที่แคปเจอร์ไว้ล่วงหน้า สำหรับสิ่งนี้ ก่อนอื่นให้ใช้ vKeypad-Studio เพื่อเตรียมภาพและข้อมูลของคีย์บอร์ดเสมือน

วิธีใช้งาน vKeypad-Studio

  1. เตรียมภาพของคีย์บอร์ดเสมือน
  2. อัปโหลดภาพคีย์บอร์ดเสมือนไปยัง Figma
  3. ใช้เครื่องมือสี่เหลี่ยมใน Figma เพื่อครอบแต่ละปุ่มของคีย์บอร์ดเสมือน
  4. ส่งออกงานที่ทำใน Figma เป็นไฟล์ SVG
  5. พิมพ์คำสั่ง vkeypad-studio [이미지 파일] [SVG 파일] ในเทอร์มินัล
  6. ในหน้าต่างใหม่ที่เปิดขึ้น ให้กดปุ่มคีย์บอร์ดที่ตรงกับภาพ
  7. เก็บไฟล์ภาพและไฟล์ data.json ในโฟลเดอร์ assets ที่ถูกสร้างขึ้นไว้แยกต่างหาก

ตอนนี้คุณสามารถใช้ไลบรารี Python เพื่อทำการหลบเลี่ยง vKeyboard ด้วยข้อมูลที่เตรียมไว้ได้แล้ว ซึ่งช่วยให้สามารถหลบเลี่ยง vKeyboard ของเว็บไซต์ภาครัฐหรือเว็บไซต์การเงิน และดำเนินงานครอว์ลิงได้อย่างราบรื่นยิ่งขึ้น

5 ความคิดเห็น

 
roxie 2023-04-12

กรณีที่การจัดเรียงปุ่มเปลี่ยนไปเรื่อย ๆ จะใช้ไม่ได้ใช่ไหม?

 
soulee 2023-04-12

โดยพื้นฐานแล้วไลบรารีนี้ถูกสร้างขึ้นโดยสมมติกรณีที่การจัดเรียงปุ่มเปลี่ยนไปเรื่อย ๆ
หากสร้างภาพไว้ล่วงหน้าด้วย vkeypad-studio ก็จะสามารถจดจำได้แม้ว่าการจัดเรียงปุ่มจะเปลี่ยนไป โดยวิเคราะห์ความคล้ายคลึงกับภาพนั้น

 
roxie 2023-04-12

อ้อ เข้าใจแล้วครับ... แค่อ่าน README กับดูวิดีโออย่างเดียวค่อนข้างเข้าใจวิธีการทำงานได้ยากครับ และก็ดูเหมือนไม่ได้จำเป็นต้องเป็น Figma เสมอไป แต่กลับระบุถึง Figma อย่างชัดเจนเลยทำให้สับสนด้วย ยังไงเดี๋ยวไว้จะลองใช้ดูทีหลังนะครับ ขอบคุณครับ

 
soulee 2023-04-12

ขออธิบายเพิ่มเติมคือ โดยพื้นฐานแล้วระบบจะระบุได้ว่าปุ่มใดอยู่ตำแหน่งไหนผ่านการวิเคราะห์ความคล้ายคลึงของภาพ

สำหรับการวิเคราะห์ความคล้ายคลึงของภาพ จำเป็นต้องมีภาพของแต่ละปุ่ม และเครื่องมือที่สร้างขึ้นเพื่อทำให้ขั้นตอนนี้เป็นอัตโนมัติคือ vkeypad-studio
หากวางสี่เหลี่ยมซ้อนบนภาพคีย์บอร์ดผ่าน Figma ก็จะมีเลเยอร์ซ้อนกันอยู่ในไฟล์ SVG จากนั้นจะดึงพิกัดของเลเยอร์เหล่านี้ออกมาเพื่อตัดภาพ บันทึกพิกัดและ keycode
และด้วยภาพที่บันทึกไว้เช่นนี้ รวมถึงพิกัด ก็จะสามารถวิเคราะห์ปุ่มได้

จริง ๆ แล้วที่ให้ใช้ Figma ก็เพียงเพื่อความสะดวกของผู้ใช้เป็นหลักเท่านั้น คีย์บอร์ดเสมือนส่วนใหญ่มีความกว้างคงที่ และ auto-align ที่ Figma มีให้ก็ดีมาก จึงคิดว่าสามารถจัด flow แบบนี้ได้ แต่ดูเหมือนว่าอาจทำให้รู้สึกว่ายากกว่าเดิมก็ได้ครับ

 
soulee 2023-04-12

เป็นความผิดพลาดของผมเองที่อธิบายใน readme ได้ไม่ชัดเจนพอ.. ผมจะลองปรับแก้ readme ให้ชัดเจนยิ่งขึ้นอีกครั้งตามความคิดเห็นที่ทุกท่านบอกมา