「雑記」カテゴリーアーカイブ

Windows と Linux の和暦対応

どうも、みむらです。
しばらく記事を書かない間に、新暦が発表され、
そして私も会社が変わってしまいました。
 
最近はアプリ診断員にジョブチェンジしました。
IDA さんが友達です。

特に最近は iOS アプリを見ているので、
フォレンジックネタとか iOS に関するセキュリティ診断ネタであれば、
凄く話に乗れると思います。

それ以外には、Unity のアプリとか (lib2cpp の読み解きとか)
Windows ならユーザランドからカーネルランドまで。お話まってます。


閑話休題。

新暦と言えば、やはり新暦対応でしょう。
私も新暦が発表された直後から「なんとしても対応しよう」と遊んでました。

画像
(from : https://twitter.com/mimura1133/status/1112566297135480838/ )

などなど。
 
今回は、もし「令和じゃない元号にします」と発表があった際に
素早く手持ちの環境を自己責任において対応させられるように
(要出典)
Windows と Linux の対応の仕組みを見ておこう
、とそういうテーマです。

 


Windows 側での対応

Windows の場合はレジストリキーを追加します。

(注:本修正を実施した事によりご利用中のプログラムに不具合が発生しても本サイトは責任を負いかねますと共に、くれぐれもプログラムの製造元へ連絡されませんようお願い致します)

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras 以下に
年号情報が詰まっていますので

REG_SZ 型にて
キー名:”<開始年> <開始月> <開始日>”
値:”<フル読み>_<代表する一文字>_<英語表記>_<英語短縮表記>”

のフォーマットにてキーを生成すれば OK のようです。

 

この値を設定すると、
この値を参照しているプログラムの処理系であれば
基本的に新年号に対応出来るようになります。

画像

 


Linux (glibc) での対応

Linux の場合は locale ファイルを修正します。

(注:本修正を実施した事によりご利用中のプログラムに不具合が発生しても本サイトは責任を負いかねますと共に、くれぐれもプログラムの製造元へ連絡されませんようお願い致します)
 

locales ファイルは下記のパスに保存されています。
(Arch Linux, CentOS 7 にて確認)

/usr/share/i18n/locales/ja_JP

 
修正するのは、”era” の部分。

「○○元年」(+1 で始まるレコード)と「○○年」(+2 で始まるレコード)
を用いて年号の変換を行います。

そして年号は UTF-16BE の順番で書いていきます。

リトルエンディアンでの「令和」のバイト列

できあがった例は次の通り

新しい年号に対応させた ja_JP ファイル.

1つめの “+:1:2019//05//01:2019//12//31:<U4EE4><U548C>:%EC<U5143><U5E74> は
2019年5月1日~2019年12月31日までを「令和(<4EE4><548C>) 元年(<5143><5E74>)」
と
表記するというもの。

2つめの “+:1:2020//01//01:+*:<U4EE4><U548C>:%EC%Ey<U5E74> は
2020年1月1日以降を「令和(<4EE4><548C>) %Ey(+2)年(<5E74>)」
と
表記するというものになります。

ですので上記のような ja_JP ファイルを作成し、locale-gen をすると
下記のように新暦に対応することができます。

新暦対応後の図

 


最後に。

Windows や Linux のシステムがかなり柔軟に新暦対応させられる作りになっていることはおわかりいただけたかと思います。
 
ただ、これは一人のソフトウェア作者としてのコメントではありますが
全てのプラットフォームが上記で挙げたような簡単な方法で
すぐ対応出来るようになっているわけではありません。

 
また、上記のようなレジストリキーやファイルを参照するものであっても
(平成)31年から(令和)1年へ変わるわけですので
エラーが発生するシステムも十二分に考えられます。
 
ですので上記の方法で対応ができ、
ご利用のソフトウェアで問題なく稼働した場合でも
これは運が良かったという程度にお考えいただき、
ベンダーの正式対応を基本的にはお待ちいただくようにしてください。
 
上記のリスクにご理解いただけるかたで、新しいものに楽しみを感じるかたは
ぜひ自己責任において新暦対応を一足お先にお試しくださいませ。
なお、それによりデータ破損等が発生しても当方では責任を負いかねます。

・・というわけで。であであー。

#ssmjp 2018/05 に参加してきた。

20180524_100644896_iOS

 

気がついたら一番前の演題の前に「blog枠」という席が用意されていて
そこに座っていました。

 

どうも、みむらです。

 

前回参加した際に、  
知り合いに「実は5月は喋るんですよ!」と前回参加時に教えてもらいまして
その時から、これは行かねばならぬ、と使命感的なものを感じておりました。

 

うそです。前回が楽しかったから参加してます。
もちろん、知り合いの発表もわくてかですよ。

 

冗談はさておいて、#ssmjp です。 

 


 

#ssmjp の勉強会について。

 

アウトプットしないのは知的な便秘

 

「インフラ/運用」がテーマの勉強会。
でも「面白ければ別に IT じゃなくても何でもいいんじゃない?」というポリシー。

@tigerszk 先生のクソコラが見られるのは ssmjp だけ!

 

大人数の前で喋ることの練習の場として利用するのも OK.
気軽な気持ちで参加をすればよい、とのこと。

喋りたい方はサイトを確認してくださいとのことですので、
チャレンジしてみてはいかがでしょうか。
http://ssm.pkan.org/

 


 

“KYT” の話

Speaker : @actanx93 さん

 

KYT とは?

危険予知訓練 (Kiken Yochi Training) のこと。
労働安全衛生法の中でも実施する事が述べられている。

ある事象に対して「危険の例」と「対策の例」を考えていく。
ex.) http://jafmate.jp/jmp/prediction_of_risks/

 

実際の IT のケースに適用してみる

たとえば「バックアップ」をするために下記のオペレーションを実施することを考える。
どのような危険があるか?

cd ~ftp
mkdir etc
cd etc
cp /etc/group /etc/passwd .

考えられること:

どこで読み書きしてる?
cp コマンドの末尾の “.” を忘れると、 /etc/group で /etc/passwd で上書きする危険性がある
  ..などなど…

では、どうすべきか?
→ 「作業用のディレクトリにまるっとコピーしてから」「全部フルパスで」 etc…

他にも色々と考えられる。
→ “tar cvzf backup.tar.gz *.html” と打とうとして “tar cvzf *.html” と打ってファイルを破壊する
→ “kill –9” と打とうとして “kill 9” と打って PID:9 のプロセスを殺してしまう..

 

危険予知トレーニングの実施の意義

はじめて実施する作業に対して適用し「危険工程」を見つける(嗅覚を磨く)ことで
オペミスやトラブルを少しでも未然に防げるようにする。

「暗黙知」をトレーニングを通して「形式知」に変換し、「共有知」に持って行くことができる。
→ 同時に “手順書” “ドキュメント化” の課程における手助けになる。

「ビギナー」や「若手」に KYT を適用するのも凄く有用。

 


 

続・広く知って欲しい DNS のこと
~DNSの運用をちょっとずつよくしていく話~

Speaker : 中島さん  (DNSOPS.JP)

 

前回までのあらすじ

前回はこちら : https://www.slideshare.net/nakatomoorg/ssmjpdnssecurity

 

今回の内容

DNS やドメインにまつわるちょっと耳寄りの話を通じて、
DNS の運用品質がちょっと良くなる、トラブルを未然に防止できる。

 

DNS とは?

ネットワーク上で名前解決を行うためのプロトコル
SSL 証明書や送信ドメイン認証など、認証の目的としても使われている。

ネームサーバ
ゾーン情報の公開。権威 DNS サーバのこと。  

フルリゾルバ
ネームサーバで公開されている情報をルートからたどって参照できるリゾルバ。
再起問い合わせとキャッシュの機能を持つ。  

スタブリゾルバ
再起問い合わせ機能を持たない。単に名前解決をしたいだけ。
よくあるクライアントOSのDNS設定はこのスタブリゾルバの設定。

レジストラント
登録者(使いたい人)  

レジストラ
登録取次事業者 (レジストラント <—[WEBUI など]—> レジストラント)  

レジストリ
登録管理機関 (レジストラ <—[EPPなど]—> レジストリ)

 

ドメインハイジャックなどの危険から守る技術

・・・ドメインの情報を書き換えられたら、ビジネスにもかなりの影響が出る。
そのため、各種保護する機構が存在する。

「レジストリロック」
→ WHOIS の登録情報変更を制限する。

「レジストラロック」
→ ドメインの移転や削除を制限する機能。

また、各社において多要素認証なども始まっている。

 

ドメインが利用不可になることも。

example)
serverHold (Expire) : ドメイン有効期限切れ。
clientHold : 登録情報不備。無効なメールアドレスをずっと設定し続けた場合など。

ほかにも「ネガティブキャッシュ」という存在があり、ちゃんと見ていないとサービスが止まる可能性がある。
→ 「その名前が存在しないこと」をキャッシュするキャッシュ
 JP ccTLD なら 900.  gTLD なら 86400. が TTL として設定されている。

 

DNS は自前で運用する必要ありますか?

熊本地震の際に、ある自治体のウェブサイトが参照不可になった。
→ 権威 DNS サーバ2台が同一サブネット上にあり、2台とも到達出来なくなっていたことがある。
(ref : https://dnsops.jp/event/20160624/h28_kumamoto_earthquake.pdf)

 

DNSSEC, RPKI はできればしっかりと設定したほうがいい。

MyEtherWallet.com の事例は、これらで防げた。

なぜ? : 経路ハイジャックと不正な DNS 応答の合わせ技だったため。
→ どちらか一方だけでも「攻撃成功の難易度」が格段に高まる。

 

余談

「ヒト」「モノ」「カネ」のバランスは重要。
深圳が特に回っている例。

GDPR対応
→ “GDPR Legal Analysis” 参照.

Registration Data Access Protocol (RDAP)
→ Whois に変わるドメイン登録者データへアクセスするプロトコル。
→ GDPR の対応に際し、こちらへの移行が後押しされている。

 


 

DNS トンネリングの手法

Speaker : shutingrzさん

 

DNS トンネリング?

DNS通信に別の目的を持った情報を含めること
偽装通信の一つ。

暗号通信
「どのようなデータが流れているか」を分からないようにする。
データが流れていることに関しては把握されてもよい。

偽装通信
「意味あるデータを送信していることを知られないようにする」こと

 

マルウェアの通信にもよく使われる。

マルウェアは Malicious Ware の通信。
悪意あるソフトの通信、ということで狭義のウイルスということになる。

普通は HTTP が使われる。ほとんどのPCで喋れて、なんだかんだ外に出られるから。
一方、DNS もまた、ほとんどの PC で喋れて、なんだかんだクライアントの通信が外に出られる。
→ HTTP と同じような属性を持っている一方で
 HTTP 程ちゃんと見ていないことが多いために悪用されてしまう。

 

もちろん、正規の目的として VPN の手法としても使われる。

ソフトイーサ社の VPN で利用されているのが有名。

 

実際にどうやって通信するのか検討してみる。

1. まずは Basic に “TXT” レコード, “QNAME” を用いて通信してみる。
→ 行きは “QNAME” (雑に書けば 「ドメイン名」)
→ 帰りは “TXT” に直接や “A” に符号化した上で入れてみる。

2. EDNS0 や RRSIG といった、DNS クエリのあまり知られてなさそうなとこに押し込んでみる。
→ 「フルリゾルバ」を経由する場合は使えない。でも直接通信できるなら強力。
→ EDNS0 なら仕様に “PADDING” などもあるので隠せる。

 

ではこれを鑑みて、どう対策する?

直接通信させないようにフィルタを掛けるのが第一歩。
なぜ?:フルリゾルバを経由させると下記の利点があるから:

・同じ “qname” と “RR” は TTL秒キャッシュされるのでリアルタイム通信に適さなくなる。
  (DNS の仕様からすると普通ではありますが・・。)

・再起問い合わせに不要なデータは削除される。

上記の理由から “QNAME” をガシガシ変えて頑張るパターンが鉄板となってくる。

また 「人間は何らかの既知の用語を使って名前を付けることが多い」 ことから
辞書との単語距離を取ることで、機械的に生成されたドメイン名を発見できる可能性がある。
(ex. http://blog.trendmicro.co.jp/archives/3799 )

 


 

宣言型デプロイツールの「正しい」考え方

Speaker : tcsh さん

 

やりたいこと「運用自動化」

 

よくある風景

管理職「現場に任せた」
実装者「ノリノリ」「おれすげー」
メンバー「なんとなくすごそう」

そして、実装者が居なくなってしまい、メンバーが気合いでリバースして調べたり・・。

 

宣言型デプロイツールでよくある光景

「宣言型デプロイツール、いいね!」 → 実装者の10割。
「他人から引き続いたけど、宣言型デプロイツールいいね!」という人を見たことがない。

そして、Chef で書いていたものを引継担当者が Ansible で書き直したり・・。

 

こういう人は2つのことを目指すことに陥りがち

「再現性」
→ 「手を動かしたら負け。再現性!再現性!! 全部自動化してやるぜ!!」

「汎用性」
→ 「みんなこのツール使おうぜ!!」

・・・・メンテできない標準ツール、工数掛けた割に汎用性もイマイチ
新規案件で使うのにも手間が掛かる・・・そんなものに2~3年後になっていることが多い。

 

さてどうするか。

もちろんまずは引き継げるように
何をやっているか、どういうモノなのかはちゃんとドキュメント化する

その上で「再現性」「汎用性」のどちらを取る?
→ 「汎用性」は多くの場合「幻」となる。

・範疇が不明な「汎用性」は未定義と同義
・「汎用性の定義」は上手くいかない。
・「汎用性の確保」は上手くいかない。

→ 「再現性は意外と確保できる」 (何かを「捨てる」ことで実現できる再現性)

・汎用性を捨てると再現性が高くなる
・多機能を諦めると再現性が高くなる
・変更や追加をやめると再現性が高くなる

 

宣言型デプロイツールのメリット

・再現性を追求して設計すること。
→ シンプルに、小さく。

→ デザインできない場合 UNIX コマンドの設計思想を考えるとイメージ化出来るかも。

 


 

巻末に

今回もとても面白かったです。
次回も同じ会場とのこと。 さて、申し込みますかねぇ・・!

DC-HC4FSPEC が繋がっている状態で Windows 10 のアップグレードを成功させる。

どうもみむらです。

変なカードだったり、なんかきらびやかに光るカードだったり
お店で何かと目に付くカードって買ってきちゃいますよね。

DC-HC4FSPEC もそんなカードの一つ。

ただこのカード、色々と不具合連絡も出ていまして
特に Windows 10 の大型アップデートの際には
アップデート中でフリーズしてしまうとか。

私もそのフリーズしてしまった環境を持つ一人。

カードを抜けば治るんでしょうけれど
怠け癖が付いていると、そんなことをしたくなく、ソフトでなんとかしたくなる。

というわけで、とりあえず問題なく進められる方法を見つけたので
メモ程度に書いておきます。


1.Windows 10 のインストールメディアを作る。
→ あとでここから起動して、レジストリ操作を行えるものであれば OK です。

2.Windows 10 のアップグレード (Windows Update) を開始する。
→ 私の場合は Windows Insider なので、頻繁にビルド更新がやってきます。

3. フリーズするまで待つ。
→ セットアップをしていると途中でフリーズします。
フリーズしたら、「1」で作成したメディアを挿入し、そこから起動します。

4.インストールメディアから起動してレジストリ編集を行う。
→ “C:\Windows\System32\config\SYSTEM” のハイブを読み込みます。

5. VEN_11AA から始まるキーを削除。
image
→ DRECAP DC-HC4FSPEC に関するデバイス情報を削除します。

6.再起動

7.セットアップを完了させる。


以上となります。

セットアップがフリーズするタイミングは、
デバイスに対してドライバをインストールしていくタイミングのようなので、
今回のこれでは「デバイスがまだ認識されていない」状態にして回避しようというもの。

もちろん、セットアップ語にドライバだけ入れ直せば正常に動作します。

・・・・というわけで、もしお困りの方でレジストリ編集が行えるかたでしたら
試してみてはいかがでしょうか。

みむら

#ssmjp 2018/04 に参加してきた

どうもみむらです。

ブログ書くなんて何年ぶりだ、そんな雰囲気がしますが、
調べてみると去年書いていたらしいです。

気分的にはもう10年ぐらい書いていない勢いなんですけどね。

気づけば友人がブログを定期的に書き始めていましたので
自分も定期的とは言わなくても書かねば、と。

ということで、「ブログ書きたい枠」があったので
タイミングもいいやとチャレンジしてみることにしました。


前説

あっ、とがくしさん!とがくしさんの説明だ!
レアだレア!!

この勉強会は「運用」がテーマらしいです。
また「かなりゆるふわ」で「喋る敷居はとても低い」とのこと。

喋りたい方はサイトを確認してくださいとのことですので、
チャレンジしてみてはいかがでしょうか。
http://ssm.pkan.org/

私もこんな記事を過去に貼り付けたことがあります:


タイムマシンインテリジェンス

スピーカー : @moton さん

さて・・情報収集はどうやっていますか?

1. 専門家なので寝ずに情報収集している
2. 業務中も業務外も頻繁にチェックしている
3. 情報収集が仕事だ
4. JPCERT のメールで十分だ
5. 収集しなくても良い

→ 普通の人は「常時情報収集は難しい」ので
「タイムマシン・インテリジェンス」で効率よく情報を収集しよう。

タイムマシン・インテリジェンス?

→ 時差を理解してセキュリティ情報を収集するメソッド

・海外の情報が日本で話題になるまでに先取りする
→ 朝一に海外情報をチェックできれば、日本で話題になる前に情報を知ることが出来る。
How? : RSS リーダーに海外ニュースサイトを登録して、毎朝スマホでチェックする。

・日本で話題になったネタは「まとめ」で取りこぼさない
→ twitter セキュリティまとめ etc… を用いて追いかける。

Appendix (Source):

MS, Adobe, Oracle, ICS(BIND), McAfee, Symantec, Trend Micro, Malwarebytes, Skybox, EndGame etc..


ペネトレーションテスターの資格

スピーカー : @gr4vit0n さん

資格を取る意義

→ 「強い技術者になるために勉強しなければならないことを知る」
・「資格を持っている割には」と言われないようにする。
・「資格取得のための勉強がすべてではない」(自己研鑽が重要)

ペネトレーションテスター向けの資格?

EC-Council, Certified Ethical Hacker (略称 : CEH)
2年以上の実務経験または公式トレーニング受講
択一式選択で 70% 以上
費用は 30 ~ 60 万円.

→ 「アメリカの法律」や「攻撃ツールの基本的な使い方」などの基礎的な問題が多い。
→ (Src: Twitter) 「環境とツールの豊富さがいい。ツールを動かしながら学べる」
https://twitter.com/enigma63/status/989099449321308161

GIAC のペネトレーションテスター向け認定
基本は SANS トレーニングのあとに受講。
四択式で基準点を満たす(各認定によって基準点が異なる)
費用は 80万円ぐらい

→ 教科書の持ち込みが出来るが、知識を組み合わせて解く問題が多い。(深い知識が求められる)
→ 実務的でとても品質が良い。

Offensive Security (OSCE, OSCP, OSWP の3つがオンラインで受講できる)
Kali Linux 開発元の Offensive Security が運営するペネトレーションテスター向けの資格。
各認定に対応したトレーニングを受講し、試験環境を攻撃してレポーティングする内容。
費用は 10 ~ 20 万円。

→ 海外のペネトレーションテスターが目標とする「難関」の資格。
→ トレーニング環境は「マテリアルを渡すので、勝手にやってみてください」という構成。
→ Lab 環境で 30ホスト以上攻略できるようになってから挑戦するのがオススメ

例) OSCP 試験
<実技(23時間45分)>
5つのホストに侵入して、それぞれ権限昇格する
<報告(24時間)>
実技の内容を報告書に纏めて提出する。

認定条件:ホスト攻撃により得られる得点 + 報告書の点数 で 70点を超える.
ボーナス : テキストの演習を全て纏め、Lab 環境の制圧手段を報告書に纏めて提出すると追加点

FAQ

Offensive Security の試験のレポートの形式は?
→ テンプレートは公開されている。
( https://www.offensive-security.com/reports/sample-penetration-testing-report.pdf )


VyOS で挑む IPv4 over IPv6 IPsec

スピーカー : @genta さん
Sub-keyword? : 「雰囲気で VyOS をやろう。バグを直そう。貢献しよう。」

経歴

・VyOS Helium (安定版) のフルビルドを試した
・脆弱性対応のために「Linux 本家から取り込まれたパッチに漏れがあった」ことに気づく
→ 「コントリビュータ」として語れるように。

なお、下記の技術があれば「コントリビュータ」になれる!
「ドヤ顔」ができる!

・パズルを解く能力
(git log –p を読む,   grep –ril ‘keyword’ する, try-and-error をする)

How to become a Contributor without technology skills:

1. 二分探索でコードのエラー行を発見する。(コードを消したり戻したりしてみつける)
2. エラーコードをググる。
3. 治す。

開発の人たちは怖くない。

ドンドンコミュニケーションをしていこう。
無料で英語が使える環境を触ることも出来るよ?

こういう経験、よくありますよね?

・IPsec を張りたくなった。 IPhone で L2TP/IPSec とかしたい。
・実家と BGP 張りたい。親が病気でどうしても張らなければいけない。

→ これを 素の Linux で見たそうとするのはとても大変。 VyOS ならサクッと出来る。

VyOS とは?

→ Linux と 各種 OSS と設定スクリプト(シェル環境) が一緒にまとまったもの。
→ JUNOS と似たコマンド体系!
→ ただ 安定版の Kernel はとても古い (Debian : squeeze)

IPv4 over IPv6 IPSec をやってみた。

→ IPv6 網を経由すると早くなるらしい? (理由は分からないけれど)
→ でも各拠点は IPv4..  なら 「IPv4 over IPv6 すればいいじゃない!」

ダメだった。

なぜダメだったの?

→ カーネルが古い。 OSS も古い。 vti6 対応してない。
→ なら Linux の git から cherry-pick してくればいいじゃない?

・・そんな4月頃。「 VyOS 1.2.0 Current 」が更新される

→ iproute2 が更新される。
→ カーネルも更新され、最初から対応されている。 cherry-pick いらない・・。
→ CLI に関しては IPv4 ベースで使えない。←  頑張ってここを修正する必要がある。

VyOS 現状のまとめ

これは VyOS ではない。 Debian だ。
さすれば道は開かれん。
(意訳:コンフィグを手で書けば動く)

→ みなさんでここのところ、頑張って治していきましょう・・!


なぜSphinxで手順書を作るのか

スピーカ : @tcsh さん

SPHINX で手順書を生成しよう。

なぜなら Include できるから。 (CSV, ソースコード, ドキュメントのパーツ etc..)
→ 画像やコードを純粋に挿入出来る (イメージとしては TeX っぽい。)
→ 定数置換が出来る。
→ シェルスクリプトを貼り付けて、それを実行させることができる(!)

手順書は「ドキュメント」だけ・・?

→ SPHINX を使うと、運用で使える「シェルスクリプト」を一発生成できる。
→ また「索引」が自動生成されたりしてとっても良い感じ。
(個人的には Sandcastle と似たような感じのイメージ・・)

よく使われる例

→ API や環境、演算結果等はスクリプトで生成し、
人間が書かねばならないところ(設計意図など)だけを手で書いて
常に最新のドキュメントを簡単に生成できるようにする。自動化する。


まとめ

久しぶりの参加で面白かったです。

ただちょっと、雨上がりだったことを完全に忘れていてか
最後の方ちょっと気分が悪かったです。。体力回復してこう・・。

Visual Studio での TeX 編集を頑張ってみる。

どうもみむらです。絶賛修論作成期間です。

修論書きたくない?なら書くな。いやいや。
こう、楽しく書きたいんですよね。修論。

そんなわけで、こっそりですが Visual Studio の TeX 対応拡張を
修論の現実逃避目的で開発を開始しました。

こうすると、TeX を書くのは「デバッグ」の一環になるのでとても楽しいです。


現状はこんなところ:

2016-01-18 (4)

2016-01-18 (5)

 

以前、色づけとビルドの部分のみを取り出して、

 

こういう感じで作ったことがありましたが、
今回はこのレベルではなくてカッチリと作り込む感じです。

例えば、画像ファイルはビルド時に自動的に extractbb されるとか。
あとは tex ファイルを eps 化して、プレビュー画面を付けてみようかなぁ・・とか。

もちろん、エラー欄にビルドエラーとかの表示は出しますけどね!

 

本来の修士論文の方をあくまでも優先するのと、
修士論文が仕上がってしまったら開発を投げてしまう可能性があるので、
そうしたら・・いえ、なんでもないです。

 

もし気になる方が居れば、こちらにてソースコードを公開しています。
https://github.com/mimura1133/vstex

基本的に、私が書いた部分に関してのライセンスは MIT ライセンスで。

であであー。