カンニング48

https://github.com/nicest414/cunning_hackathon

Python

悪いことがしたい!

くろりく

えぬいち

推しアイデア

クリップボード経由でこっそりAIに問題を投げられる キーボードライトでこっそり回答を教えてくれる

作った背景

とにかく悪さをしたかった

推し技術

IOKit/WinAPIを用いたキーボードライトの制御 高周波によるオフライン環境下での通信

プロジェクト詳細

カンニング48は、web試験に対応した、カンニング用のデスクトップアプリケーションです。

主な機能

AI4択回答機能 ・ショートカットキーで画面をキャプチャし、Gemini 3.1 Flashに送信。 ・回答は、キーボードのCaps Lock LEDで確認できます。 ・画面キャプチャはファイルに保存せず、表示しているデータを直接参照に行く。バイト列のままAIに送信して処理を早くしている。

クリップボード置換回答機能 ・四択問題の番号判定だけでなく、記述問題にも対応しています。 ・問題文をコピーするだけで、クリップボード内に返答が返ってくるため、そのまま回答欄に入力できます。

P2P多数決ネットワーク ・UDPブロードキャストを用いたサーバーレスな通信基盤。 ・高周波数を利用した、オフライン環境下でのデータ送受信プロトコル。 ・専門性が高く、AIでは正しい返答を見込めないテストなどで役に立ちます。

緊急謝罪機能 ・もし使用が発覚した時には、謝れます。波風を立てません。 ・画面中央に「ごめんなさい」という趣旨の画像を全画面表示し、誠実さをアピールします。

技術スタック 言語: Python 3.10+

GUI / Overlay: PyQt6(透明ウィンドウ、クリックスルー、各種ダイアログの実装)

AI: Google GenAI SDK (Gemini 3.1 Flash Lite Preview)

OS Hook & Control: ・pynput(グローバルホットキー監視) ・IOKit / WinAPI / ctypes(物理LED直接制御) ・mss(画面キャプチャ)

Networking: ・Standard socket (UDP Broadcast / P2P通信) ・PyAudio (音響通信によるデータ伝送)

Packaging: PyInstaller / create-dmg / Inno Setup(システムプロセスへの偽装を施したスタンドアロン実行ファイルの生成)

今後の展望 ・現在はプレーンテキストのみの対応ですが、今後は「数式(LaTeX)の自動フォーマット」や、「表形式データの構造化置換」への対応を目指します。 ・現状、コマンドラインやGitの知識を必要とする開発者向けの構成となっているため、今後はインストーラーの親切化やUIの洗練を行い、専門知識のない一般ユーザーでも直感的に触れるようにしたい。

くろりく

@kuroriku