Python
下記の動画でArduinoCLIの使い方が分かったのでまとめる。www.youtube.com Latest releases: Release 0.11.0-rc1 · arduino/arduino-cli · GitHub ①~⑥の手順で書き込むを行える。 ①接続されているボードを確認。 > arduino-cli board list Port Type Board …
Youtube Data APIを使えば、Youtube動画の様々な情報を得られる。タイトルや概要欄などが分かる。Youtube Data APIについては以下の記事にまとめた。 chindafalldesu.hatenablog.com 上記のほかにコメント欄のコメントを取得することも可能である。 動画をそ…
東海オンエアの"臭い"動画をYoutube Data API と辞書を使って探してみた。流れは以下の通りである。 ①Youtube Data APIを使って、東海オンエアのチャンネルの動画タイトルを取得する ↓ ②動画タイトルを単語ごとに分割する ↓ ③辞書を使って動画タイトルを分析…
まずは既存の辞書を使って、文章の分類を行い、その後自前の辞書を使って分類を行う。 辞書を使う前に文章を単語ごとに分割する必要がある。そのやり方は以下の記事にまとめた。 ①極性判定を行う Open Resources/Japanese Sentiment Polarity Dictionary - …
MeCab: Yet Another Part-of-Speech and Morphological Analyzer Mecabを使えば形態素解析を行えるので、それを使って文章を単語ごとに分割する ①文章を単語ごとに分割する (ソースコード) import MeCab document="【りょうやん】みんなの「お前おかしいよ…
Youtube Data APIを使って、世界各国のトレンドを見てみる。 Youtube Data APIの使い方は以下の記事にまとめてある。 chindafalldesu.hatenablog.com ・方針 https://www.googleapis.com/youtube/v3/videos? に続けて、欲しい動画に合わせてパラメータを指定…
東海オンエアの動画から虫眼鏡さん編集の動画だけを集めたかったので、PythonとYoutube Data APIを使ってその動画を探し出してみた。 Youtube Data APIの使い方は下記の記事にまとめてある。 chindafalldesu.hatenablog.com 直近150作品から探した。 チャン…
YouTube Data API の概要 | Google Developers Youtube Data APIを使えば、Youtubeから様々な情報を取得できる。 以下にその例を示した。 ①Youtubeの動画のidを使って、その動画のタイトルを得る。 (ソースコード) import requests id='z9WHIkedhz8' apike…
paramikoモジュールを使ってpythonでsshサーバを立ててみる。 (1)sshサーバを立てる (適宜分割して示す) import socket import threading import paramiko host_key = paramiko.RSAKey(filename='test_rsa.key') 簡単のため配布されているデモファイル 'test…
telnetとsshのどちらもほかのコンピュータと接続するための仕組みであるが、telnetは通信を暗号化しないためその内容を覗き見られる危険性がある。 サーバを自分で作って、wiresharkで通信を覗いてみる。 (1)telnetで通信を行う ・サーバ import socket impo…
前回、pythonでHTTPリクエストメッセージを作り、HTTPレスポンスメッセージを表示させた。 これを用いて、ksnctfの問9を解いてみる。 ksnctf - 9 Digest is secure! 認証を行ってflag.htmlにアクセスすればいいことまではわかっている。 Authorizationヘッダ…
HTTP通信をpythonで行う方法を学び、それを使って次回ksnctfの問9を解く。 ksnctf - 9 Digest is secure! ①HTTPリクエストメッセージをPythonで作る ・下記はksnctfの問8のHTTPリクエストメッセージ GET /~q8/ HTTP/1.1 Host: ctfq.sweetduet.info:10080 Con…
今回は前回までのコードを再び改良し、コマンドを実行できるようにする。 準備 コマンドの実行にはsubprocessモジュールを用いる。 下記のようにして、コマンドを実行できる。 import subprocess com=subprocess.run("dir", stdout=subprocess.PIPE,stderr=s…
今回は前回作ったコードを改良して、テキストファイルを送信できるようにする。ソースコード ・サーバ側 import socket bind_host="0.0.0.0" bind_port=50000 server=socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind((bind_host, bind_port)…
サーバとクライアント間でお互いにデータを送りあえることを確認する。 これを通して、ソケット通信について学ぶ。 まずパソコン間で一文ずつ送りあえるアプリケーションを作った。 ソースコード ・サーバ側 import socket bind_host="0.0.0.0" bind_port=50…
前回に引き続き、プロセスの監視を行う。 今回はメモ帳のプロセスの監視を行い、メモ帳が開かれたときにほかの自分が用意したファイルと入れ替え、そのファイルに内容が保存されるようにする。 こうすればpythonからメモ帳の保存を操作でき、ファイルの整理…
Windowsが提供するWMIを使ってプロセスの監視を行ってみる。 下記のドキュメントを参考にした。 wmi Tutorial — WMI v1.4.9 documentation WMIモジュールをpipでインストールする。 pip install wmi プロセスの作成と終了を監視してみる。 ・ソースコード im…
今度はpyHookを使わずにWindowsAPIだけを使ってキーロガーを作れないか試してみる。WindowsAPIのGetAsyncKeyState()という関数を使ってみる。 GetAsyncKeyState function (winuser.h) - Win32 apps | Microsoft Docs 得られる仮想コードからどのキーが押され…
これまでの知識を使って、今度はpyHookでマウスをフックしてみる。マウスを左クリックしたときにクリックした座標を出力させる。 ・ソースコード from ctypes import * import pythoncom import pyHook import sys import time def Lclick(event): print("Lc…
前回に引き続き、下記のpyHookのリファレンスを見て、コードの意味を探る。 API Documentation hkm.HookKeyboard() 上記のコードの意味を調べる。 def HookKeyboard(self): cpyHook.cSetHook(HookConstants.WH_KEYBOARD_LL, self.KeyboardSwitch) self.keybo…
今回は下記のpyHookのリファレンスを見て、コードの意味を探る。 API Documentation # フックマネージャーの作成とコールバック関数の登録を行う hkm=pyHook.HookManager() hkm.KeyDown=Press 上記のコードの意味を調べる。 ① hkm=pyHook.HookManager() でHo…
キーロガーを作るためにpythonのライブラリであるPyHookを用いる。 PyHookはネイティブWindowsAPIのSetWindowsHookExを使っている。 まずPyHookをpipでインストールしようと思ったがうまくいかなかった。 > pip install pyhook ERROR: Could not find a vers…
①pyautoguiでハイライト部分(選択箇所)をクリップボードに送る ②win32clipboardでクリップボードの中身を取り出す chindafalldesu.hatenablog.com ③winsoundでwavファイルを再生する chindafalldesu.hatenablog.com この手順で a という文字をハイライトし…
Windowsではwinsoundモジュールを使えば、wavファイルを再生することができる。 PlaySound()メソッドで音声ファイルを再生できる。 winsound.PlaySound(sound, flags)soundにファイル名を格納する。 flagにwinsound.SND_FILENAMEを格納しsoundパラメータがwa…
pyautoguiライブラリのhotkey()メソッドを使えば、コピー機能を実現できる。 import pyautogui pyautogui.hotkey('copy', 'c') これに加えてクリップボードの監視を行えばハイライト部分を監視することができる。 ・ソースコード import pyautogui import wi…
PyAutoGUIを使えば、キーボードやマウスの自動操作を行える。まずは以下のようにインストールする。 pip install pyautogui①マウスをある地点まで移動させる ・ソースコード import pyautogui pyautogui.moveTo(10,10,1) ・実行結果 マウスカーソルがx=10, y…
timeモジュールを使えば、一定時間おきに処理をする、といったことができる。 import time time.sleep(1) こうすれば1秒おきに処理することができる。これとwin32clipboardモジュールを使って、クリップボードを監視する。 ・ソースコード import win32clipb…
win32clipboardモジュールを使ってクリップボードを扱う。 win32clipboardはpywin32パッケージに含まれているのでpipでpywin32をインストールする。 pip install pywin32・サンプルコード import win32clipboard win32clipboard.OpenClipboard() contents=wi…