2013-06-15 :-)
_ 扇風機始動!
_ [バイナリ][比較][diff][winmerge]バイナリファイルを比較する
環境
- Microsoft Windows 7 (64bit)
- cygwin
- WinMerge
バイナリ比較
バイナリファイルを比較したい。(バイナリってなんだよ。可視化できないファイルですか?)
Windows の環境なのでテキトーにググるなどしたんだけど見つからない。
Stirling
Stirling ( Stirling ) を使って以下のように「ダンプイメージの保存」することによってテキストファイルとして保存すればテキストファイルを比較できるようになるんだけど、いちいち 2, 3 ステップの手間がかかるので手間を省きたいものの、「ダンプイメージの保存」がどうもコマンドラインから使う方法が分からない。ヘルプにも無い。そもそもコマンドラインから使えるのか分からない(ファイルを開くことくらいはできた)。
ADDRESS 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 0123456789ABCDEF ------------------------------------------------------------------------------ 00000000 42 4D 36 05 00 00 00 00 00 00 36 04 00 00 28 00 BM6.......6...(. 00000010 00 00 10 00 00 00 10 00 00 00 01 00 08 00 00 00 ................ 00000020 00 00 00 00 00 00 13 0B 00 00 13 0B 00 00 00 01 ................ 00000030 00 00 00 01 00 00 FF FF FF FF C0 C0 C0 FF FF 00 ..........タタタ... 00000040 00 FF 00 FF 00 FF FF FF 00 FF 00 00 FF FF FF 00 ................ 00000050 FF FF 00 FF FF FF F0 F0 F0 FF E0 E0 E0 FF D0 D0 ........珥..ミミ 00000060 D0 FF C0 C0 C0 FF B0 B0 B0 FF B0 B0 B0 FF 90 90 ミ.タタタ.ーーー.ーーー.瑞 00000070 90 FF 80 80 80 FF 00 00 00 FF 80 80 80 FF 80 00 ................ 00000080 00 FF 00 80 00 FF 80 80 00 FF 00 00 80 FF 80 00 ................ 00000090 80 FF 00 80 80 FF 70 70 70 FF 60 60 60 FF 50 50 ......ppp.```.PP :
それ hexdump で出来るよ
書いた。
Windows のパス名と cygwin パス名が混在するので面倒くさい。chomp がダサいんですけど。
# coding: utf-8 require 'tempfile' require 'pp' def main(argv) dumpcmd = "/usr/bin/hexdump -vC" diffcmd = '/cygdrive/c/Program\ Files/WinMerge/WinMergeU.exe /x' cygpathcmd = "/usr/bin/cygpath" file1 = `#{cygpathcmd} -u "#{argv[0]}"`.chomp("\n") file2 = `#{cygpathcmd} -u "#{argv[1]}"`.chomp("\n") tmp1 = Tempfile::new(file1, "./") tmp2 = Tempfile::new(file2, "./") `#{dumpcmd} "#{file1}" > "#{tmp1.path}"` `#{dumpcmd} "#{file2}" > "#{tmp2.path}"` f1 = `#{cygpathcmd} -w "#{tmp1.path}"`.chomp("\n") f2 = `#{cygpathcmd} -w "#{tmp2.path}"`.chomp("\n") `#{diffcmd} "#{f1}" "#{f2}"` end main(ARGV)
こんなバッチファイルを用意する。
cd /d %~dp0 c:\cygwin\bin\ruby biff.rb %1 %2
ためしにテキトーな Windows ビットマップファイルの ClrUsed を 100 から 000 に変更しておく。( TSXBIN を使うとビットマップファイルの要素ごとに編集できる。チョー便利 )
変更前と変更後のファイルを選択してドラッグドロップすると hexdump -C してから winmerge で比較するようになる。
_ [Twitter]Twitter クライアントとして Crowy を試してみる
Twitter API の 1.1 以降にともない、私がいままで使っていた P3 が死んだ( 【追記あり】P3:PeraPeraPrv finished its role. - とかいろいろ )。
代替を探そうとして、とりあえず自分のブクマを検索したら たださんの日記( TweetDeckが信じられない改悪をしてきたのでCrowyに乗り換え - ただのにっき(2011-12-12) ) へのブクマがヒットしたので Crowy を使ってみることにした。
ガチ製は TweetIrcGateway とか使ってるんだろうけど、私はヘタレなので GUI を求めるのであった。
しばらく