アイデアを形にしたもの(一部アイデアのみ) === ## 特許: ログイン状況のハードウェア・ソフトウェアマッピングと商用ログインの判定 ![](Img/port_mapping.PNG) 特開2016-208236 言語: C, Linux ShellScript, Python ## JVM: IPv6のプロトコル脆弱性 ![](Img/port_ra.PNG) FreeBSDのソースコード読んでいたら、リンクドリスト見つけたので、これはDoSできると思い、全OSをrebootさせた。結果、各OS・製品に影響。 言語: C (Kernel + libnet) [JVNDB](https://jvndb.jvn.jp/ja/contents/2009/JVNDB-2009-000068.html) ## 全加算器をアナログ回路・リレー回路・ロジック回路の3つで組んだ ![](Img/port_addr.PNG) 詳細は記事参照。 [Qiita](https://qiita.com/recuraki/items/2431d44499c81485326b) ## 画面をOCRしてIPアドレスを抜き出しAS番号とAS名を抜き出す ![](Img/port_asnum.jpg) 通称、NW エスパープログラム。画面にAS番号を重ね合わせる。 - 1. 静止画を読み込み、pyocrというOCR wrapperで、OCRソフトのTesseractが呼ばれる - 2. Tesseractは複数の文で構成される画像として文を列挙する - 3. 全ての文からIPv4アドレスとして認識可能なものを抜き出す。同時このIPアドレスの画像上の位置(x,y)を取得する - 4. OCRしたIPアドレスをcymruにDNSクエリとして与え、AS番号とAS名を得る - 5. opencvでそのx,y座標に丸をうち、文字を描画する 言語: Python [Facebook](https://www.facebook.com/recuraki/posts/3597653453624807) ## モーターを指で回すことで、機械学習を用いて、回した個人を推定する工作 ![](Img/port_yubi1.jpg) ![](Img/port_yubi2.jpg) - RasPIでAD変換して、回転をFFTして、 - それを機械学習させて、学習済みデータをRasPIにおいて - 適当に推定させる 言語: Python + ShellScript [Facebook](https://www.facebook.com/recuraki/posts/2863105233746303) ## M5Stack(EPS32)とAVR でライフゲーム ![](Img/port_lifegame.PNG) EPS32でCとC++で書いた。 図の右はAVRとドットマトリックスでついてにつくったやつ。 言語: C, C++ [Facebook](https://www.facebook.com/recuraki/posts/3102245273165630) ## VFD管で時計 ![](Img/port_vfd.PNG) RaspiをI2Cマスタにして、AVRでI2CスレーブにしてVFDをトランジスタアレイ叩く 言語: C, Python [Facebook](https://www.facebook.com/recuraki/posts/4024984440891704) ## RasPi + E-Inkディスプレイでクラウド百葉箱 ![](Img/port_eink.PNG) NETATOMの情報をE-inkに。RasPI zeroで制御。WaveShareのデバイスを叩く 言語: C [Facebook](https://www.facebook.com/recuraki/posts/3372746736115481) ## Slackのreaction応答ボット(SPAM判定の利用) ![](Img/port_slackreaction.PNG) - 字句解析型のスパム判定ソフトを用いて学習させ、reactionを自動でつけるbot 言語: Python ## 迷路を解くプログラム ![](Img/port_maze1.PNG) - 1. 画像を取り込み -> 2. 白黒化 -> 3. ブロックとして解釈する -> 4. データにする -> 5手動でスタート位置の確定 - 1はopencvの生の機能。2は閾値を指定して白黒化。3は10x10のピクセルに含まれる黒のセル数によってブロックの色を確定。4は単にそれを配列で。5はスタートとゴールの自動が超難しいので手動で設定。 言語:Python ## 迷路を解くプログラム(可視化) ![](Img/port_maze2.PNG) - HTML5 Canvas/WebSocketでサーバが迷路をといてくれるやつ。 [Facebook](https://www.facebook.com/recuraki/posts/2264148803641952) ## OpenCVでのWebCam ![](Img/port_opencv.PNG) 前のWeb会議でRGBの特定のカラーチャネルだけ遅れて描画されていた気がしたので、再現するコード 言語: C# + OpenCV [Facebook](https://www.facebook.com/recuraki/posts/2168505536539613) ## Ciscoのbefore/afterを与えると差分configが自動でできる ![](Img/port_cisco.PNG) 言語: C# [Facebook](https://www.facebook.com/recuraki/posts/1247499638640212) ## 100V制御回路 ![](Img/port_100v.PNG) 言語: Python [Facebook](https://www.facebook.com/100001405642492/videos/1118317011558476/) ## リアルタイムBlockDiag 編集ツール ![](Img/port_block.PNG) BlockDiag(seqdiagなど含む)の編集サポートソフト。テキストを反映すると瞬時に図が描画される。 言語: C# [Facebook](https://www.facebook.com/recuraki/videos/1047988488591329/) ## PCのいらないネットワーク遅延装置をつくる。 ![](Img/port_delay.PNG) PCがなくても動くRaspberryPIを用いた遅延・ロス発生器(ネットワークエミュレータ)を作った。 付属のキーパッドとLCDディスプレイだけで操作できる。 言語: Linux + Python [Facebook](https://www.facebook.com/recuraki/videos/950287508361428/) ## 暗くなるとLEDがつくランプ ![](Img/port_dark.PNG) (フルアナログ工作) ## DC 5V -> 200V昇圧回路(チョッパ) ![](Img/port_200v.PNG) NE555でMOFETを叩き、昇圧する。ニキシー管の工作に利用