読者です 読者をやめる 読者になる 読者になる

qif2.rb

Program Ruby

http://d.hatena.ne.jp/ku-ma-me/20091116/p1

なんか qng 見た時に GIF でやってみるかなーと思ってたんだけど mame さんがやってしまったので、パクリです。

http://shinh.skr.jp/obf/qif2.gif

eval(q=%(require'zlib';c='eJxNUkFv40QUngZLa43Q1
oceOHBwJ3Vix4ljd9uqIZ5sW9Hudg9ld4+4VrdJvaohieqk
bJ1kg4IlxK6FxIUTWnGIEIJw4cSpQuIfcObILyg9wR4o740
DIlLyzfvmzfe+9172uFYhyvdfPn5JiJwQ8ZFy24q0LBFlR5
G2VYWQidqYXxGiEpJsKXJuGw7FdKb3gEuW5eQMsEjflF4L/
FxF/peH37yHzxeTSxG/8ckl5k+qipRsYV76Srwvpl9vPcnE
J8iTPyeLCMnDpWIKWE0v9WvMS1SRf5BO7/8udF359RwTcf+
tPoRYT3/W8d1nqvA1ycuJegV4f2o/QB5C8U7/7acZxJPyD7
MPvhI+pkK/ms710unpcF4/FfqvsI/JF6CrijoiH3DpU4y/m
5V2H2H8WNZSwb8t8qqKLOZCzpIi6Kny9VT0Q2JVhjhR4yn6
hvvpIuBt6Q8YfBbrw9wtkY/1c09EXbJgS7Ch24q0v7S3T8h
bSeaHkF9nsxniVZaP73vz+FqVoR7oYWM/rma7jtXiFS48Uq
Qaxi/mPl6w3WWBswePBC7tvPz3PncL9iPl/iKkYn3UPTtuf
aizqMQMesKZzUqrNQe/NOYVhw74HRpxFjw7busR13RmRiYz
jHpzoPdPw+6pQRltcX73sHt3YHLHeUfvcqYVdcO0qvmRVwJ
By2I15pcYG9e5oLaRej+jBHGMxDAjmBV2T4JYbRmFwoZtnY
edoD96Hj4/8WJtbbO0YTp2JdQ2THSpD8ywumH4ULHPtD2v6
3uhP744DduB2uKRF4Mjn3b4CFzwRsjtMnPg4IyhrXXaxtZM
zg5ZPYjD8zE9Oto9ePfoCDpqwiBsh1H9gjP8dd0TUKYh6Bm
ZPMaFQsdr8QsTzmXH92nTdXWm2flRe9xkWse78A2rFzwLev
2A6pDqcxwRbZt80Gi0jfCpOnDX7Nra/yShstc0mQPFTdxFz
bdwP6xZYuDZsTcpSET/ba0FW/MGvulkChGcRUsxg9lUIqsf
DgMD93dvf2+zdpxfyC+QBbL8N63v7N7bPxid9cLu+SETSyV
l/H9gygTw5uYmB51HrrtSEDJ4AHcrxcxt1Ro55dX19XG1wz
9u0pWG66JGnVGcpWr/A62MIAQ='.unpack 'm';include(
Zlib);eval(Inflate.inflate(c.at 0))));by(shinh)

いいところはリバーシブルなところ。出力された gifruby なり perl なりで実行すると元の rb が出てくるです。

% diff =(perl =(ruby1.9 =(ruby qif2.gif))) qif2.rb
%

あとはちゃんと LZW 圧縮してみたりとか gimp で開けるとかがいいところ。 qif.gif は詳しく見てないけど、なんかどっか壊れてるんとちゃうかな。

わるいところとしてはコードサイズがでかいのと base64 文字列でしか無いところ。コードサイズはたぶんフォントの持ち方とか色々工夫したけど、結局 zlib かましたら変化無かった。

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h