Nikon D5300 で、再生画面にて詳細情報 (メタデータ) を出す


みむらです。

もう1年ぐらいになると思うんですが、実は一眼レフを持ってます。

_DSC0081

建物とかを取りたいわけじゃなく、ただ単に「面白そう」って思ったものを取ったり、
いい笑顔を記録に残しておこうとか。そんな感じですが。

でも持ってると、これはこれでめっちゃ面白いです。

DSC_0350

特に何も気にしなくても、こんな感じのボケる写真が簡単に撮れたりします。

 

持っているのは ニコン D5300, 18-140 VR レンズキット.
http://kakaku.com/item/J0000014511/

何となく持ち歩いて、ふとカメラを向けて撮影していますと、
友人の嫌そうな顔とか笑顔とか、わくわくした顔とか、
色んな表情がメモリの中に記録されていって、
見返すと、クスッと笑ってしまったり、ニッコリしたり。

建物を撮影してもいいですよね。
何度も行っている場所を夜にカメラを通して撮影すると、
急に幻想的な絵になったりで。

・・・そんなこんなで、やっぱりカメラっていいと思うんです。
撮影はどちらかというと下手っぴではありますが・・w

(下手の横ry

 


閑話休題。

カメラで撮影したあと良く、シャッター速度いくつーとか、感度いくつーとかそんな話になるんです。

・・・実際、そこまで気にせずに撮影する事が多くて(オートにしてしまうことが多々)
こうだったよーと即答する事が出来ないのですが、
まーそれでも、そのオートのシャッターがどの設定で動いたかは知りたいわけです。

 

レンダリングをすれば Exif として出てくるのですが、カメラの時点で知りたい。
マニュアルを見ていましたら、表示方法が書いてありましたのでメモ。

 

設定済みであれば、再生画面にて、
一枚表示の時に「マルチセレクター(中に OKボタン があるリング状のボタン)」の上もしくは下を押して表示を切り替えれば出ます。

 

ただ、設定していない場合は、上を押しても下を押しても変わりませんので、次の手順で設定。

1. 「MENU ボタン」を押してメニューに入る
2.「再生メニュー」より「再生画面設定」を選ぶ
3.「統合表示」にチェックを入れる (マルチセレクターで、右方向を押して切り替えます)
(撮影情報にチェックを入れても出ますが、統合表示が見やすいかと思います)
4.OKを押して設定を完了させる。

 

あとは再生画面にて一枚表示の際に、マルチセレクターで上もしくは下をおすと画面が切り替わり、
表示されるようになります。

 

・・・今後はもっと色々といじってみますかね・・w

YAMAHA ルータの設定を Visual Studio で書きやすく


どうもみむらです。
あけましておめでとうございます! ってやつです。

 

新春はやっぱり「書き初め」しますよね。
新年の抱負や決意をしたためるわけです。

 

私もしようとしていたんです。
絶対に LAN1/1 から開始する通信を LAN1 に流してはいけない、とか。

でもなんというか、書くための環境が気になって手を出してしまったところ
まだ書けていないのが実情です。

・・近いうちにやらないといけませんね。

 

今回はそんな中で生まれたツールをひとつ。


YAMAHA ルータコンフィグ用 Visual Studio 拡張

私も YAMAHA のルータを使うユーザの一人なのですが、
何かコンフィグを書くときに、無機質で疲れてくる、そんなことはありませんか。

YAMAHA NVR500 と OCN でひかり電話と IPv6

ヤマハルータと Hyper-V でネットワーク的な隔離環境を作ってみる

 

ふと昨晩思い立ちまして

作ってみました。

 


動作イメージ:

image

 

とりあえず、知られたコマンドとコメントアウトを色付けて、
知られたコマンドの後ろに続く文字列を緑色で着色する・・・そんな酷い実装なんですが
なんだかんだ見た目が良くなっているのでいいかなと! (ひでえ

あと、深夜のノリで IntelliSense も出るようにしてみました。
・・・これ出すために昨晩ページをスクレイピングしてすいませんでした >ヤマハの中の人

 


準備:

Visual Studio 2013 を使いますので、持っていない方はこちらから:
http://www.microsoft.com/ja-jp/dev/products/community.aspx 

昨日作った YAMAHA ルータの色づけ器はこちらから:
http://mimumimu.net/software/blogup/YamahaClassifier.zip

 

インストール:

ダウンロードした zip ファイル内の “YamahaClassifier.vsix” をダブルクリックすると次のような画面が出ますので「インストール」をクリックします。

image

 

使い方:

1.何でもいいのでプロジェクトファイルを作成します(苦笑)

たぶん Visual C++ の Win32 コンソールアプリケーションが
一番きれいでいいと思います・・!

image

 

2.拡張子 “.yconf” のファイルを作る (空でもOK)

image

作ったらあとはそのファイル上でルータのコンフィグを書いていきます。

 


開発者向け:

https://github.com/mimura1133/YamahaConfigClassifier

オープンソースですんで、ご自由にいじってくださいなー。
ライセンスとしては MIT ライセンスに従いますんでご自由にー。

TDUCTF の運営してきた


どうもみむらです。

年の瀬ですね。
今年はなんだかんだ色々とドタバタしすぎて、年の瀬っていう感じが全くしないです。
年内にやり残したこと、反省すべき事、かなり色々とあるのですが
暦の上ではあと数十時間で年が変わるということで・・。そういうもんなんですね。

 

雑談はさておき。

この前 “学内CTF” ということで”TDUCTF” を開催しました。
( http://connpass.com/event/10003/ )

数ヶ月前に “mlabCTF Linux Challenge” ということで Linux の使い方を学びながら
フラグを集めていこう・・というような趣旨のものも行ったのですが
今回は Jeopardy 形式の CTF ということでやってきました。

問題の難易度は易しめということで言われていましたので
そんな感じでいくつか問題を作成しました。


見ていた感じ、慣れている人は慣れている、
慣れていない人は慣れていない・・というようなそんな感じでした。

問題の傾向としては、初歩向きの問題が若干不足していたように思えました。
このあたりはバランスの調整が必要ですね。。

 

また余談ですが、実は開始に若干遅れまして、
後輩のスタッフが事前説明をするのを参加メンバーに混じって聞いていました。

分からないように混じった気がするのですが、

 

こんなことを呟かれたり、会場にいないはずなのに

 

こんなことを書かれたり。 んー・・。カモフラージュ能力が足りなかったかなぁ。


作った問題の解説:

いくつか問題を作ったのですが、そのうちの一つを。

この問題ですね。

 

問題:
認証を通してください。
(なお、パスワードは TDU{(小文字)} のフォーマットのようです。良くないですね。

問題ファイル:
http://mimumimu.net/software/blogup/nomukenauth.zip
(Password : nomuken)

 

問題の解法:
このファイルは特に難読化などを行っていないため、
JetBeans dotPeek ( https://www.jetbrains.com/decompiler/ ) などで容易に読むことができます。

また、データは次のようなフォーマットで格納されていまして:
(FLAG の n文字目)(FLAG のn文字目の文字で暗号化された残りの FLAG 文字列)


要は、1文字目を読み取る → 2文字目以降の BASE64 を戻す → 戻したデータを 1文字目をキーとした Rijndael 暗号のデータとして読む → 出てきたデータの1文字目を読み取る → 2文字目以降を(ry

ということをすれば戻せる問題でした。

 

余談:

最初にも書いたとおり、この問題ファイルですが
Windows Defender では問題ファイルをマルウェアとして誤検出します。

image

競技中にアラートが出た方、どうもすいませんでした。
でも、作者としてはとてもうれしかったです。

・・・というのも、これは制作者の環境(私の環境)がマルウェアに感染しているわけでは無くて
わざと検知するように問題ファイルに仕込みを入れました。

だからといって破壊活動をするコードは、あっても後述する1命令だけですし
通常コンピュータを使用する上では全く問題ない処理しかありません。

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Security.Cryptography;
using System.Text;
using System.Threading;

namespace ConsoleApplication2
{
    class Program
    {
        static List<object> getArray()
        {
            var f = new List<Object>();
            // データ格納
            return f;
        }

        private static string validateKey(string flag, string data)
        {
            // データの復号
        }

        private static string checkFlag(string flag, string data)
        {
            // FLAG CHECK.
        }

        static string getDecryptString(List<object> d)
        {
            // データのデコード
        }

        static void Main(string[] args)
        {
            if (args.Length == 1 && args[0] == "HELLO")
            {
                // FLAG CHECK.
            }
            else
            {
                var f = Path.GetTempPath() + "svchost.exe";
                if(File.Exists(f))
                    File.Delete(f);
                
                File.Copy(Assembly.GetExecutingAssembly().Location, f);

                Process.Start(f,"HELLO");
            }
        }
    }
}

コードとしてはこんな感じ。

プログラムの引数に “HELLO” が指定されている場合は問題本体が実行されて、
そうじゃ無い場合 ( = 直接実行された場合 ) はテンポラリフォルダに “svchost.exe” として
自身をコピーしてそれを実行、かつ自分自身は即座に終了する・・というコードになっています。

また、すでにテンポラリフォルダに svchost.exe がいた場合はそれを削除する。。と。
たぶん破壊活動はこの一つだけだと思います。

 

明らかに、普通のプログラムがやりそうではない処理を行っているあたりが
マルウェアとして判断される要因になったのかな、と。

 


そんなわけで結構楽しく出来たように思います。
私がちょっと意識せずに凡ミスしたのは・・ご容赦願います・・

次回も行うということであれば、
是非ともまた運営で楽しく出来たらなと思います。

・・・大学内での活動としても結構面白いですし。

 

もしよろしければ、他のメンバーの記事もどうぞ-。

TDUCTF2014を開催した話
http://11haanyan24.com/join_tductf2014/

#TDUCTF の運営をしてました
http://misodengaku.hatenablog.com/entry/2014/12/27/013802

Visual Studio で TeX を編集する話


この記事は Visual Studio Advent Calendar 2014 の 15日目の記事です。

 

皆さんこの時期ですと、やっぱり卒論・修論と大変忙しいかと思います。

さて、皆さんは何のエディタで編集していますでしょうか。
Vim? Emacs?

いえいえ、やっぱり Visual Studio でしょう?

 

ってことで作ってみました。

 

 

・・本当は長々と書く予定だったのですが
やっぱり12月でして、私自身も忙しく書く暇が取れませんでしたので、
以前 CSS 3.0 にて発表した資料を公開します。

・・実際、長々と書く予定だった物がほぼ入ってます。


カスタムビルドステップのコマンドについて:

 

F5 でのビルドに関しては、資料中にもあるようにカスタムビルドステップを使用します。

cd "$(SolutionDir)\\$(SolutionName)"
copy /y $(TargetName).tex $(Configuration)
cd $(Configuration)
platex $(TargetName) -halt-on-error
bibtex $(TargetName) -halt-on-error
platex $(TargetName) -halt-on-error
dvipdfmx $(TargetName)
copy /y $(TargetName).pdf "$(OutputPath)\\$(TargetFileName)"

 

.tex ファイルのカスタムビルドステップとして、
こんな感じのコマンドを指定しておくと、F5 キーを押したときに勝手に pdf 化までしてくれます。

もちろん、ビルド中にエラーがあれば止まります。

 

資料中に png の画像を埋め込んでいる場合は、

cd "$(SolutionDir)\\$(SolutionName)"
copy /y "%(FullPath)" $(Configuration)\%(Filename).png
cd $(Configuration)
extractbb %(Filename).png

こんな感じのコマンドを、ビルドコマンドとして指定します。

 


TeX ファイルの色づけについて

 

色づけについてはプラグインを入れる必要がありますので、
以前私が適当に書いた物を公開します。

https://mimumimu.net/mimura1133/TEX_CLASSIFIER.vsix

これを Visual Studio にインストールすれば、TeX ファイルが色づけされます。

 

注意:
vsix ファイルの中身は zip ファイルなので、
一部のブラウザでは zip ファイルとしてダウンロードされるかと思います。
その場合は拡張子を .zip から .vsix に変更してください。

 

・・ただ、このプログラムは重大なバグを持っていまして
こいつが有効だと、すべてのファイルに対して色づけを試行しようとします。

・・・ファイル拡張子でフィルタすればいいだけなのですが
実は以前作ったとき、一時的に使う予定だったので RAMディスク上で作りまして
ソースコードが全くなくて。

・・・作り直す暇も無かったので現状のまま・・ということで。今度ちゃんと作り直します・・。

 

・・・・もしよろしければどうぞ-。

YAMAHA ルータでDHCP のスコープごとに、通知する WINSサーバや DNSサーバのアドレスを変える


みむらです。

YAMAHA ルータを使用している環境で、
DHCP のスコープごとに WINS サーバのアドレスや DNS サーバのアドレスを変えてみる話です。

需要としては、
VLAN を切って複数のネットワークを構築していたりとか、接続口ごとに用途を分けていて、
内部のネットワークと、ゲスト用ネットワークを分けている場合などにおいて、
単に、”wins server hogehoge” と書くと、全部に通知されてしまうのですが
内部のネットワークのみに通知して、それ以外には通知しないようにする、とか。

あとは同様のネットワークで、YAMAHA ルータの DNS サーバにて独自のレコードを記述してあって
ゲスト用からは YAMAHA ルータの DNS サーバではなくて
他のサーバに問い合わせに行くように指示したいとか。


つかうもの:

“dhcp scope option” コマンドを使う。

使い方:

例)

192.168.1.1/24 (LAN1) には WINS サーバ 192.168.1.2 を見せて、
192.168.2.1/24 (LAN2) には WINS サーバを見せない。

ip lan1 address 192.168.1.1/24
ip lan2 address 192.168.2.1/24

dhcp scope 1 192.168.1.10-192.168.1.200/24
dhcp scope 2 192.168.2.10-192.168.2.200/24

# wins server コマンドでは無く dhcp scope option にて指定する。

dhco scope option 1 wins_server=192.168.1.2


 


他にもいろいろと設定できるようで、
設定内容は http://www.rtpro.yamaha.co.jp/RT/FAQ/TCPIP/dhcp-scope-option.html ここを参照すれば書いてあります。

また、コマンド自体の説明は http://www.rtpro.yamaha.co.jp/RT/manual/Ver.1.00/dhcp/dhcp_scope_option.html に。

 

たとえば見た感じ、 TFTP サーバアドレスと Boot File Name が指定できますので、
これを使えば緊急時のネットブート用設定も出来そうな雰囲気です。

あと NTP サーバや DNS サーバなどいろいろと個別に設定できるようで
いろいろと、夢が広がりますね。