SMB2探検記

以下の内容は、SMB2の調査をしていた時のメモです。 --- SMB1/CIFSはほぼ制覇したと思っているので、そろそろSMB2についての調査を開始する。盗聴は、macosxとSamba間の通信に対して行った。 まずは、ネゴシエートがどう変わっているか、調査開始。例によって、Wiresharkを使って盗聴した結果を見ていく。macosxが最初に何を送っているかというと、なんとSMB1/CIFSのパケットだった。指定ダイアレクトとし…

続きを読む →

Chrome OSに仮想ファイルシステムを提供するためのAPIのリファレンスを和訳してみました

最近Chromebookを買いました。Dell Chromebook 11 です。ちゃちい作りかと思ってたのですが、かなりしっかりした作りで、かなり気に入りました。ただし、macbook airを持ってるので、もちろん普段はChromebookを使う機会は少ないです。ただし、僕にはどうしても作ってみたいものがあり、その動作検証のため、そして僕が作ったものによって、僕がChromebookを利用する機会が増えるように、と購入を決意していま…

続きを読む →

HTML5 FileSystem APIを使って上書き処理をする方法

HTML5 FileSystem APIを使うと、ユーザのローカルファイルシステムにファイルを書いたりすることができます。もちろん自由にファイルを読み込めるわけではなく、Chrome Webブラウザが持っているサンドボックス内に通常は限定されます(Chromeアプリの場合はその限りではないですが)。オフライン対応アプリケーションを開発する場合には、非常に魅力的なAPIです。 僕の場合はChromeアプリ内でFileSystem API…

続きを読む →

2014年を振り返って

早いものでもう2014年の大晦日です。今年の自分を振り返ってみようと思います。 娘が1歳に 10月に娘がめでたく1歳の誕生日を迎えました。 ![OLYMPUS DIGITAL CAMERA](https://www.eisbahn.jp/yoichiro/images/2014/12/PA163200.jpg) 妻には子育てを任せっきりでとても申し訳ないですが、すくすくと成長し、すでに体重は10キロを超えています。抱っこすると…

続きを読む →

NaClモジュールをgdbでステップ実行や変数値を覗くための手順

Chromeは、NativeClientと呼ばれる「OSが直接理解できるコンパイル済みコードを(サーバ側ではなく)Chromeブラウザ側で実行する仕組み」が備わっています。 [最近はGo言語でもNaClが書ける](https://github.com/golang/go/wiki/NativeClient)みたいですが、基本的にはCやC++でNaClモジュールを書くことになります。もうそれだけで「うわ、難しそう」と思ってしまうことでしょ…

続きを読む →

NaCl、nacl_ioやるときにハマったこと

Chrome MySQL Adminで「SSH Tunnelingできないから星1つ」とか頭にくるフィードバックする人が結構いて、それができないからって全否定かよ!としばらく怒っていました。その怒りを力に変えて、NaClでlibssh2使ってSSH2 Port forwardingできるように機能追加をしました。 [https://github.com/yoichiro/chromemysqladmin](https://github…

続きを読む →

AngularJSのDirectiveにAPIを追加するための方法

AngularJSには、自分独自のHTML要素を作り出すためのDirectiveという仕組みがあります。これを使うと、一般的に「div地獄」となるような動的Webアプリケーションの作り方ではなく、論理的で直感的な、やりたいこと実現したいことを端的に表すタグを記述するだけで、Webアプリケーションを構成していくことが可能になります。現在Web Componentsの仕様策定や実装、さらにそれを推し進めるためのPolymerの開発が進んでき…

続きを読む →

jCanvasによる楽々グラフィック描画

最近はずっとChrome MySQL Adminの機能追加にいそしんでいる毎日です。データベースと言ったら、何を連想しますか?SQL?Oracle?いろいろと出てくると思いますが、きっと10位以内に入ってるキーワードとして、必ず「ER図」はあると思います。ER図は書くのが面倒なので、もし手元にある実際のデータベースからER図を自動的に書いてくれたら、こんなに楽なことはないですよね?はい、作ってみました。 ![cma9small](ht…

続きを読む →

PNaClでOpenSSLの機能を利用するChrome appsの作り方

ここのところ、PNaClについていろいろと調べてきました。なんで調べていたかというと、自分で作ってるChrome appsの中で、JavaScriptで書くのは非常にしんどい処理を既存のNative codeを呼び出すことで利用して楽したい、というのがあります。特に暗号系の処理は、扱う値の桁数も非常に大きく、もしOpenSSLにある関数で事足りるのであれば、それを利用したいところですよね。こういったことが、PNaClで可能なはず。それを…

続きを読む →