2009-01-01から1年間の記事一覧

Windowsのプリフェッチフォルダのハッシュ値を計算するツールを書いた

指定したファイルの、Windowsプリフェッチのpfファイル用のハッシュ値を計算するツール prehash を書きました。 hasegawayosuke's prehash at master - GitHub このあたりなどを参考にして書いたのですが、マルチバイト文字を含む場合は正しくハッシュ値が求…

キャラバン東京 - セキュリティ&プログラミングキャンプキャラバン2009

セキュリティ&プログラミングキャンプ キャラバン東京 が2009年12月23日に日本電子専門学校で開催されます。プログラミングコース、セキュリティコースどちらに興味ある方でも楽しんで頂けるような内容ということで、id:TAKESAKOさんと二人で「脆弱性、指摘…

レジストリのタイムスタンプを表示するためのツールを書いた

指定したレジストリキーのタイムスタンプを表示するツールを書きました。 hasegawayosuke's regtime at master - GitHub バイナリもそのうちどこかに置くかも。

コマンドラインから起動されたときはコマンドラインアプリケーションとして動作させたい

CMD.EXEから起動したときにはそのアプリケーションをコマンドラインアプリケーションとして、それ以外の例えばExplorerなどから起動した場合にはGUIアプリケーションとして動作するようなものを組みたいと思っていろいろ調べたのですが、あまりうまい方法が…

はてなの画像は俺のもの。俺の画像は俺のもの。

先日IRCでOyaji-pun guyの人と話してて、f.hatena.ne.jp の画像が見れないときに少し不満があるという話をしてた。 ざっと上げると いろんな理由で f.hatena.ne.jp 以下の画像が取得できないことがある。 その場合にブックマークレットを使ってrescue901.app…

「IT 勉強会カレンダー検索」を修正した

id:hanazukin さんから、ここ数日IT 勉強会カレンダー検索がきちんと検索できていないのでさっさと治さないとおやつあげないわよ!という指摘を受けたので修正しました。 よくわからないけど、日本語を含む検索文字列を与えたときに Google DATA APIがおかし…

nopっていうメモ帳ラッパー作った

よく JScript とかで、 C:\>copy con|CScript //E:JScript alert( "テストコードを色々..." ); ... ^Zとかやってテストしたくなるけど、CScriptは標準入力をソースとして受け付けてくれないのと、コード書き間違えちゃったりした時に編集できなくてめんどい…

JavaScriptでアセンブラ書いた

JavaScriptでAjax風味な8086用のアセンブラを書きました。先日のまっちゃ139勉強会でLTが急きょ決まったので、発表直前まで書いていたのですがなんとか間に合いました。 Symbolic assembler demo <http://utf-8.jp/public/sas/> JavaScriptだけで書いていますので、ダウンロードさえす</http://utf-8.jp/public/sas/>…

AVTOKYO 2009 スピーカー決定

"no drink, no hack." を合言葉に世界征服をたくらむ秘密イベント、AVTOKYO 2009 のスピーカーが決定したようです。 http://ja.avtokyo.org/avtokyo2009/speakers 私も、竹迫さんとともに、「頭文字$ コード最速伝説 (青海遠征編)」というテーマで、斜め向き…

JavaScriptで、複数の正規表現のどのパターンにマッチするかを switch で書く

JavaScriptで switch( s.match( ... ) ){ case /abcd/ : break; case /defg/ : break; } みたいに、文字列 s が複数の正規表現のどのパターンと一致するのかを switch 文でわかりやすく書く方法を考えていて、一致したパターンの見た目の分かりやすさも考え…

Using setInterval / setTimeout on WSH

さらに昨日の続き。いろいろ試してみると、昨日みたいに複雑なことをしなくても、window.setInterval などを呼び出すラッパ関数を作ってやれば、普通に setInterval や setTimeout も呼び出せました。というわけで、以下のような偽 window、偽 document を準…

Using jQuery.ajax on WSH with async:true

(2009-09-30追記: ↓こんな複雑なことしなくても、もっと簡単にできました。) 昨日の続き。WSH 上の JScript から jQuery.ajax を使えるようになったのはいいけれど、async : false でなければいけないのはやっぱりちょっと悔しいので、適当にごまかしてWSH上…

Using jQuery on WSH

jQueryを使うと、ajax 経由で取得した XML ドキュメントのような、ブラウザ(window,document)と切り離された対象でも簡単に操作することができます。例えば、リモートから取得したRSSであれば、以下のようなコードで各項目(item)のタイトル(title)やリンク先…

はてブでコミュニケーション

id:mattn が全力疾走しててWassrやIRCでは連絡取りにくいので、example.com/mattn へのはてブでもうちょっと楽にコミュニケーションとれるようにしてみた。 http://utf-8.jp/joke/mattner/mattn.html をローカルにダウンロードして(ダウンロードしないで utf…

jQuery.ajax でリクエストをキャッシュさせない方法

jQuery.ajax を使ってGETでリソースにアクセスした場合、IEでは2回目以降のリクエストが実際には発行されずにキャッシュされた結果が使われてしまいます。これを防ぐには $.ajax( { url : "http://example.com/", cache : false, data : { a : "abcd" }, ...…

PHP専門家でも間違える!HTMLフラグメント識別子は難しいのか?

「セキュリティ専門家でも間違える!文字エンコーディング問題は難しいのか?」のHTMLソースより。 <base href="http://blog.ohgaki.net/skins/evopress.yohgaki/" /> ... <p>です。(<a href="#0">※0</a>)</p> というわけで、この ※0 の URL は http://blog.ohgaki.net/skins/evopress.yohgaki/#0 になるわけですけど、これは 403。 で、元記事内の ht</base>…

all your base32 are belong to us

com2sym is a base32 encoder for any MS-DOS com file. C:\tmp>[]dir[] eicar.com Volume in drive C has no label. Volume Serial Number []is DEAD[]-BEEF Directory of C:\tmp> 2009/09/15 17:00 68 eicar.com 1 File(s) 68 bytes 0 []Dir[](s) 12,345,6…

言わずとしれた超有名弁士竹迫氏に学ぶプレゼン技法。

挙手の要求 聴衆の気を引くための古典的手段だけど、手を挙げた結果は以降の流れにはまったく役に立たない。 PlayStationとWii「どちらがWeb2.0的か」 予約語だけのソース見せて「これは何をするプログラムでしょう?」 Perlが好きな人!きらいな人!挙手 <img src=1.gif src=2.gif> ど…

セキュリティ&プログラミングキャンプ5日目

キャンプ最終日はセキュリティコース、プログラミングコースそれぞれの成果発表です。私がほとんどの時間を過ごしていたプログラミングコースのOS自作組では、各グループが自分たちの作り上げたOS、学んだ内容について熱く発表してくれました。もちろん、「O…

セキュリティ&プログラミングキャンプ4日目

4日目は実習や講義の実質的な最終日で、OS自作組では発表に向けて最後の追い込みとして、機能の実装や学生同士でのコードのマージ、発表の流れの検討やプレゼン作成などを行いました。 夕方からは id:naoya さんと大橋検事による特別講義、その後は講師およ…

セキュリティ&プログラミングキャンプ3日目

キャンプ3日目の午前中は企業見学会でした。昨年は行けなかったLACのJSOCへ今年はお邪魔しました。地球防衛軍からの帰り道、バスの車窓から地球連邦軍も見えたのでちょっと嬉しかったです。 午後は昨日に引き続き、プログラミングコース・OS自作組の補助講師…

セキュリティ&プログラミングキャンプ2日目

2日目は午前中から国分さんのHTTP入門に引き続き、私自身のブラウザに依存した脆弱性の話をしました。 時間がおしていたこともあり、デモをかなり省いた座学主体になってしまったので少し眠くなってしまいました(去年も同じこと言ったような)。来年があれば…

セキュリティ&プログラミングキャンプ1日目

いよいよキャンプが始まりました。今年は、参加者の緊張をほぐして気分を盛り上げるという趣旨のもと、開講式前に講師2名、チューター1名と参加者4-5名程度の小グループに分かれて昼食を一緒に取る「ランチミーティング」を実施しました。私はokdtさんと同じ…

セキュリティ&プログラミングキャンプ2009で「ブラウザに依存したWebアプリケーションセキュリティ」について話します

このところ、MySQL と Perl 関連のエントリをいろいろ書いていますが、それは、スケールアウト可能で、かつ、管理が容易なウェブアプリケーションを、誰かに簡単に書いて欲しい、という理由があるからです。 ただ、Apache for Win32 だとどうしてもありきた…

JSでthisをそのまま返す関数を作っておくと便利?

DOM操作では以下のように setAttribute してすぐメソッドを呼べない elm.setAttribute( "name", "value" ).getAttribute( "name" ); なので、引数の関数を実行してthisを返す関数を作ってやると Object.prototype.expr = function( method ){var args = Arra…

Black Hat USA 2009

tessyさんところで書かれてるとおり、すでにBlack Hat USA 2009の資料が公開されてますね。 Black Hat ® Technical Security Conference: USA 2009 // Archives kenjiaikoさんも書かれてるように、なんか私の名前でてるらしいですヽ(´ー`)ノ Our Favorite X…

TAKESAKOさんのやつ

TAKESAKO @ Yet another Cybozu Labs: 記号でPolyglotプログラミング♪(RejectKaigi2009) のコードのJavaScriptの解読。もとのコード "#{",$/*"}";%#=();$^_^='?``;">)~${`&&@`{;:+`[[',$^_^='/?")-=^{(=!".=.!,!)&&>',$^_^ ='`-+|{!?``*.((-+({:^(_^',$^_=…

第1回北陸ITPro勉強会 に行ってきました

2009年07月11日に開催された 第1回北陸ITPro勉強会 -「開発者のためのセキュリティ勉強会」 ‎(北陸ITPro勉強会)‎ に行ってきました。 いつもより少しだけ丁寧に話したつもりなのですが、やはり文字コードに馴染みがないのか「難しかった」という声が多かった…

The JUI 2009 Returns に行ってきました

2009年07月10日に開催された The JUI 2009 Returns (JavaScript User Interface) : ATND に行ってきました。 遊びがてら、ちょうど jQuery UI を使い始めたところだったので、今後の方向性についても非常に勉強になりました。みなさんのLTも、あまり自分から…

実行中のアプリケーションを外から観察するソフトウェア(Windows版)

「実行中のアプリケーションを外から観察するコマンド。 - こせきの技術日記」のWindows版。Dependency Walkerを除き Microsoft 純正。以下のうちのいくつかは64ビット環境でも動くかも知れませんがあまりよく知りません。 Process Monitor http://technet.m…