Skip to main content

Bypassing vKeyboard using OpenCV

Project description

๐Ÿ–•โŒจ๏ธ fuckvkeypad

Code style: black Lint codecov

๊ธˆ์œต, ์ •๋ถ€ ์›น์‚ฌ์ดํŠธ๋“ฑ์— ๋„๋ฆฌ ์“ฐ์ด๋Š” ๋ณด์•ˆ ํ”„๋กœ๊ทธ๋žจ์ธ ๊ฐ€์ƒํ‚ค๋ณด๋“œ(vKeyboard)๋ฅผ ์šฐํšŒํ•ฉ๋‹ˆ๋‹ค

๋ฏธ๋ฆฌ ์บก์ณ๋œ ์ด๋ฏธ์ง€์™€ ์œ ์‚ฌ๋„๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์šฐํšŒ๊ฐ€ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค

vKeypad1 vKeypad2

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

vKeypad-Studio

์‚ฌ์šฉ ๋ฐฉ๋ฒ• ์˜์ƒ - YouTube

  1. ๊ฐ€์ƒํ‚ค๋ณด๋“œ ์ด๋ฏธ์ง€๋ฅผ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค
  2. Figma์—์„œ ๊ฐ€์ƒ ํ‚ค๋ณด๋“œ ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œ ํ•ฉ๋‹ˆ๋‹ค
  3. Figma์—์„œ ์‚ฌ๊ฐํ˜•์œผ๋กœ ๊ฐ€์ƒ ํ‚ค๋ณด๋“œ ๊ฐ๊ฐ์˜ ํ‚ค๋ฅผ ๋ฎ์–ด์ค๋‹ˆ๋‹ค
  4. Figma์—์„œ svg ํŒŒ์ผ๋กœ Export ํ•ฉ๋‹ˆ๋‹ค
  5. ํ„ฐ๋ฏธ๋„์—์„œ vkeypad-studio [์ด๋ฏธ์ง€ ํŒŒ์ผ] [svg ํŒŒ์ผ] ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค
  6. ์ƒˆ๋กœ ๋œฌ ์ฐฝ์—์„œ, ์ด๋ฏธ์ง€์— ํ•ด๋‹น๋˜๋Š” ํ‚ค๋ณด๋“œ ํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค
  7. assets ํด๋” ์† ์‚ฌ์ง„๋“ค๊ณผ, data.json์„ ๋”ฐ๋กœ ๋ณด๊ด€ ํ•ด๋‘ก๋‹ˆ๋‹ค

fuckvkeypad

์„ค์น˜

pip install fuckvkeypad

์˜ˆ์ œ

assets์˜ ํด๋” ์œ„์น˜์™€, data.json ์œ„์น˜๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋„˜๊ฒจ์ค๋‹ˆ๋‹ค

import cv2
from fuckvkeypad import get_keymap

img = cv2.imread("test_assets/vKeypad.png")
keymap = get_keymap(
    img, asset_path="test_assets/", data_path="test_assets/data.json"
)

print(keymap)

๋ฐ”์šด๋”ฉ ๋ฐ•์Šค์˜ ์ขŒํ‘œ์™€ ํ‚ค์ฝ”๋“œ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค

[
  {"box": [0, 0, 55, 55], "key_code": 49},
  {"box": [58, 0, 113, 55], "key_code": 50},
  {"box": [116, 0, 171, 55], "key_code": 51},
  {"box": [0, 58, 55, 113], "key_code": 52},
  {"box": [58, 58, 113, 113], "key_code": 53},
  {"box": [116, 58, 171, 113], "key_code": 54},
  {"box": [0, 116, 55, 171], "key_code": 55},
  {"box": [58, 116, 113, 171], "key_code": 56},
  {"box": [116, 116, 171, 171], "key_code": 57},
  {"box": [58, 174, 113, 229], "key_code": 48},
]

Special Thanks

์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š”simple_bank_korea์—์„œ ์˜๊ฐ์„ ๋ฐ›์•„ ์ œ์ž‘ํ•˜์˜€์Šต๋‹ˆ๋‹ค

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fuckvkeypad-0.2.0.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

fuckvkeypad-0.2.0-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file fuckvkeypad-0.2.0.tar.gz.

File metadata

  • Download URL: fuckvkeypad-0.2.0.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.2

File hashes

Hashes for fuckvkeypad-0.2.0.tar.gz
Algorithm Hash digest
SHA256 45219b2e168731f7eab976756ab9d31a9f02d148b444d571947245ca4867cebd
MD5 61a470012272100a2c13730af96accc8
BLAKE2b-256 ec1cecb6955a3c96d9a2a1baf64bb3374b6b97edf19131673f6b86b2693c26ba

See more details on using hashes here.

File details

Details for the file fuckvkeypad-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: fuckvkeypad-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.2

File hashes

Hashes for fuckvkeypad-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 607a1032a9ba7c98a57e8b714eecbee4c463efb721baee897e0fd5ecab7f8f00
MD5 85e10d497e1f9b0e5741b4a13c04060e
BLAKE2b-256 a84548a3ea5ab9a3ac472c3ea6a70bd4914846478ab697bae3806b9926032254

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page