ARIA The AVVENIRE 本予告
アニメ『ARIA The AVVENIRE』
ARIAは、まだアニメがそんなに好きではない頃に見て、当時は面白さが分かりませんでした。アニメ好きとなった今は、楽しんで見ることができてます。癒されます。
今回はsysvbannerを書き換えて出力を変えてみたいと思います。
まずbannerコマンドの実行ファイルの位置を確認し、コピーしてきます。
(sysvbannerが入ってなかったら、先にapt-get install sysvbannerでインストールしておきます)
takk@deb9:~/tmp$ which banner /usr/bin/banner takk@deb9:~/tmp$ cp /usr/bin/banner . takk@deb9:~/tmp$
実行ファイルbannerから#で構成された文字列を抽出。
takk@deb9:~/tmp$ strings ./banner -td | grep '#'> data takk@deb9:~/tmp$
このようなデータが集まりました。
takk@deb9:~/tmp$ grep '#' data | head 4328 ### ### ### # # ##### ### # ## ### 4392 ### ### ### # # # # ## # # # # ### 4456 ### # # ######## # ### # ## # 4520 # # # ##### # ### # 4584 ####### # # # #### # # 4648 ### # # # # # # # ## # 4712 ### # # ##### # ### #### # 4776 ## ## # 4840 # # # # # # 4904 # # # # # # takk@deb9:~/tmp$
このデータを、ddコマンドに変換します。
takk@deb9:~/tmp$ cat data | perl -pe 'chomp;s/^(.......).(.*)$/sprintf("echo -n \"%s\" | dd seek=%d bs=1 count=%d conv=notrunc of=banner\n",$2,$1,length $2)/e' > t.sh takk@deb9:~/tmp$
実行。
takk@deb9:~/tmp$ . t.sh 56 bytes copied, 0.000318229 s, 176 kB/s 56+0 レコード入力 56+0 レコード出力 56 bytes copied, 0.000301408 s, 186 kB/s 省略 56 bytes copied, 0.000305567 s, 183 kB/s 56+0 レコード入力 56+0 レコード出力 56 bytes copied, 0.000303123 s, 185 kB/s takk@deb9:~/tmp$
同じデータで書き換えているので、bannerコマンドの動きは変わりません。
takk@deb9:~/tmp$ ./banner HELLO # # ####### # # ####### # # # # # # # # # # # # # # ####### ##### # # # # # # # # # # # # # # # # # # # # ####### ####### ####### ####### takk@deb9:~/tmp$
次に、先ほど作成したスクリプト内の文字列の#を+に置換。
takk@deb9:~/tmp$ tr '#' '+' < t.sh > t2.sh takk@deb9:~/tmp$
新しく作ったスクリプトを実行して、bannerコマンドを書き換えます。
takk@deb9:~/tmp$ . t2.sh 56 bytes copied, 0.000289596 s, 193 kB/s 56+0 レコード入力 56+0 レコード出力 56 bytes copied, 0.000297888 s, 188 kB/s 省略 56 bytes copied, 0.000299134 s, 187 kB/s 56+0 レコード入力 56+0 レコード出力 56 bytes copied, 0.000302852 s, 185 kB/s takk@deb9:~/tmp$
実行すると、
takk@deb9:~/tmp$ ./banner HELLO + + +++++++ + + +++++++ + + + + + + + + + + + + + + +++++++ +++++ + + + + + + + + + + + + + + + + + + + + +++++++ +++++++ +++++++ +++++++ takk@deb9:~/tmp$
#ではなく+でバナー表示されるようになりました。
コメント