初めてのPWN作り

10月27日はSECCON CTFオンライン予選! 手作りのPWN問題を職場の同僚や友達に送って,日ごろの感謝の気持ちを伝えてみませんか? 材料 ★Docker 1つ xinetd 1つ ★git 適量 ★gcc 1つ ★Python2 1つ ★pwntools 1つ ★vim 3つ ★お好みのテキストエディタ 少々…

InceptionV3を蒸留してMovidiusで動かす

公開できるレベルではないくらいの雑さ もっときれいにしたらgithubにアップする予定 テキトーなCNNに蒸留してみる テキトーなCNN 入力 : 299 x 299 x 3 出力 : caltech101 conv2d(299,299,3) conv2d(,,32) conv2d(, , 64) conv2d(, , 128) dense(625) dropo…

Fine-Tuning InceptionV3

ImageNetで学習済みのInceptionV3をCaltech101にFine-Tuningする。 サイトに従ってFine-Tuning 参考 http://ronny.rest/blog/post_2017_10_13_tf_transfer_learning/ やってみる。 Inception V3の学習済みモデルはいつも通り https://github.com/tensorflow/…

TensorFlow Slim (TF-Slim)で書いたモデルをMovidiusで動かす & 蒸留もどき

TF-Slimとは TensorFlow Low Layerのマクロみたいなもの 。 比較的簡単に書けるようになる。 変数の定義 weights = slim.model_variable('weights', shape=[10, 10, 3 , 3]) my_var = slim.variable('my_var', shape=[20, 1], initializer=tf.zeros_initiali…

TensorFlow Model Zooにある学習済みモデルをMovidiusで動かす( Inception-V3とMobileNet V1)

方法 ここに書いてある。 https://movidius.github.io/ncsdk/tf_modelzoo.html ソースを落としてくる。 git clone https://github.com/tensorflow/tensorflow.git git clone https://github.com/tensorflow/models.git 学習済みのチェックポイントを落として…

TensorFlowのモデルをIntelのMovidius Neural Compute Stickを使ってRaspberryPiで動作させるメモ

概要 Raspberry PiでTensorFlow使って画像認識してしたい! でもRaspberry PiのCPUでTensorFlow動かしても死ぬほど遅い そこでIntelのMovidiusをRPIにぶっさすことで,超高速に推論ができるというものです. これを動かすのにとても苦労したので,メモとして…

KOSEN Security Contest 2018 Write-Up

CTFを始めた友人のために英語でWrite-Upを書いてみます.英語は得意ではないのでいろいろとご了承くださいませ. KOSEN Security Contest 2018 was held from September 1st to 2nd. It's a CTF for Kosen students. I enter the contest with my Laboratory…

ZYBOの追加のUART0をpeta linuxから使う

はじめに ZYBOのUART1はUSB側につながっていて、パソコンと接続すれば簡単にシリアル通信ができるようになっています。しかし、パソコンではなく外部の機器とシリアル通信をしたかったため、使われていないUART0を有効にしました。 試行錯誤した結果を残して…

KOSENセキュリティコンテスト2017 Write-Up

2017/10/21から10/22までのKOSENセキュリティコンテスト2017に即席チーム074m4K053nで参加してきました。 チームは経験者2人+未経験者2人のつもりだったですが、前者の1人が休日開講の必合格科目に出るために3人になってしまいました。 結果は2600点で全体7…

RaspberryPiで作る自作ドライブレコーダ

Raspberry Pi 3 とPi Cameraを使ってドライブレコーダを作ったのでその記録です。 こちらのサイトをほぼそのままやりました。 大まかな流れとしては下記のとおりです。 OSにはArchLinuxを使う raspivid(yaourtで入ったハズ)で画像の取り込みからデータの出…

BeagleBoneBlack(ArchLinux)の起動 目的 今回はBeagleBoneBlackについてです。 前回作成したArchLinuxのSDカードを使ってBeagleBoneBlackを起動していきます。 起動したあと、便利に使うための説明などをしていきたいと思います。 方法 では、ここからはBeag…

ArchLinuxでwi-fiアクセスポイント作成 目的 ArchLinuxをインストールしたRaspberryPi・BeagleBoneBlackをwi-fiのアクセスポイントにして、他の機器を接続させます。 準備 まずは下記のものを用意してください BeagleBoneBlack or RaspberryPi 無線LAN USBア…

BeagleBoneBlack(ArchLinux)の設定 BeagleBoneBlack(ArchLinux)の起動の続きです。 方法 では、ここからはBeagleBoneBlackの設定を行っていきます。 アップデート まずはOSのアップデートを行います。pacmanを実行してください。 $ pacman -Syu :: Proceed w…

2台のパソコンでROSを実行 目的 ROSでは、ノードとノードを分離させて別のパソコンで動作させることができます。 この方法を使えば、ロボット側のパソコンでroscoreや制御用ノードを実行して、ワークステーションでrvizを実行し指示を出すことができます。 …

hector_slamとmove_baseを用いた自律移動 目的 前回に続いて、Daiki Maekawsさんのサイトを参考にしながら、move_baseの動作を確認してみます。 Roombaがないため、自分で持って移動します。 準備 まずは下記のものを用意してください ROSがインストールされ…

hector_slamを用いた地図作成 目的 ROSは、機能ごとにモジュールが分かれていて他の人が作ったモジュールを自分のプログラムに組み込むことが容易にできます。 今回は公開されているhector_slamというパッケージとレーザーレンジファインダを使って地図を作…

DebianをBeagleBoneへインストール 目的 今回は、BeagleBoneBlackにDebian Wheezyをインストールします。 組み込み用途のため、lxde版ではなくconsole版をインストールします。 準備 まずは下記のものを用意してください BeagleBoneBlack Rev C mincro SDカ…

ArchLinuxをBeagleBoneBlackへインストール2 ArchLinuxをBeagleBoneBlackへインストールの続きです。 方法 ブートローダーのインストール マウント 作業のために適当なディレクトリにマウントします。 すでにマウントしている場合は必要ありません。 今回は~…

ArchLinuxをBeagleBoneBlackへインストール 目的 今回はBeagleBoneBlackについてです。 BeagleBoneBlackもRaspberryPi同様小さなマイコンボードですが、Debianの派生OSをGUIで動かせてしまうほどの力を持っています。 今回は、そのBeagleBoneBlackへ軽量でパ…

ArchLinuxをBeagleBoneBlackへインストール ver.old 目的 最新のBeagleBoneBlackにArchLinuxをインストールする方法ではうまく起動しない場合があるため、古い方法でインストールしてみます。 パッケージの再配布はできるかどうかわからないため、パッケージ…

ReconJetの開発環境の構築 目的 ReconJetの開発環境の構築の構築を行います。 方法 準備 まずは下記のものを用意してください Linux マシン(説明ではArchLinuxを使用) ソフトウェアのインストール ReconJetはAndroidベースのReconOSが搭載されています。 …

ReconJetの起動 目的 ReconJetの起動・初期設定についてです。 ReconJetはスポーツ用のメガネ型ウェアラブルデバイスです。 Microsoft社のHoloLensなどとは違い、現実空間へのホログラム投影ではなく、右下固定で情報を表示することができます。 方法 では、…

ROSチュートリアル3 目的 前回に続きwikiのチュートリアルをやっていきます。 今回はメッセージについてです。ROSではトピックとサービスを使った通信方法があります。 このトピックのデータ型をメッセージと呼びます。 messageを使う メッセージファイルはR…

ROSチュートリアル2 目的 前回に続きwikiのチュートリアルをやっていきます。 roslaunch roslaunchを使用すると、lanchファイルで定義したノードを一度に起動することができます。 $ source ~/catkin_ws/devel/setup.bash $ roscd beginner_tutorials $ mkdi…

ROSチュートリアル 目的 wikiのチュートリアル を行います。 方法 準備 まずは下記のものを用意してください 前回作成したマシン ファイルシステム まずは、setup.bashを読み込みます。 bashの場合(標準) $ source /opt/ros/indigo/setup.bash zshの場合(…

ROS 目的 ロボット開発に便利なツールなどを提供してくれるROSのインストールを行います。 方法 準備 まずは下記のものを用意してください Linux マシン ソフトウェアのインストール まず、makepkgで使用するbase-develをインストールします。 $ sudo pacman…

ROSのインストール(Ubuntu・ArchLinux) 目的 Robot Operating SystemをUbuntuにインストールします。 2015/8/7 追記 ArchLinuxでのインストール方法を追記しました。 準備 まずは下記のものを用意してください Ubuntu14.04マシン or ArchLinuxマシン インタ…

Makefileの書き方2 目的 Makefileの書き方に続いて、もっと簡単なMakefileを書きます。 準備 まずは下記のものを用意してください Linuxマシン make Makefile CC = gcc CCFLAGS = -Wall -Wextra -O2 -g SOURCES := $(wildcard *.c) TARGET = $(SOURCES:.c=.…

Makefileの書き方 目的 C++やCなどコンパイラ型言語を使ってプログラミングをするときは、何度も何度もコンパイルを繰り返します。 ここで、今RaspberryPi(ARM Linuxボード)を使ってプログラムを作成しているとします。 プログラムをホストマシンで組み、ク…

Wiresharkを用いたWi-fiスキャン 目的 パケットキャプチャツールであるWiresharkを用いて、無線LANを流れるパケットをキャプチャします。 準備 まずは下記のものを用意してください 無線LANに接続可能なLinuxマシン インストール Ubuntu $ sudo apt-get inst…