(真っ当な道を踏み外しているという意味で)
今年の LL イベントである「LL Decade」で、プログラミング課題の出題があったようだ。
ところが信じられないことに、ネットで調べた限りでは、TeX で解いた人が誰一人として見当たらない。何てこった!?(待て、「TeX は LL でない」と言ったのは誰なんだ?)
聞くところによると、世間では TeX 言語は何やら恐ろしいものという印象が存在するようである。そこで、外観をほんの少し工夫してあまり TeX っぽく見えないようなプログラムを書いてみた。これなら安心だね!!
[decllnoc.sty]
^^7b^^5cca^^74c^^6fde58^^3d7^^20^^5cca::74c::6fde38::3d11::5c::6ce::4::5cd::25c ::5c::67def::5c::6ce::4::5ce::5ce::6c::73e::5c::6ee::77c::6f::5::6e::4::5c::26a ::5c::6ee::77c::6f::5::6e::4::5c::26c::5c::6ee::7::72ead::5c::26b::5cd::5c::26f ::7b::5c::6ce::4::5cf::7d::5cd::5c::26e::231::7b::5cdef::5cc::7b::231::7d::25a9 ::7d::5cd::5cdec::2::79::0::74::231::7b::5cb::67::2::6f::5::70::25::10:11decade ::5c::6f::70e::6e::69::6e::5c::26b::3d::231::5c::72e::6ca::8::5c::26ba::5c::26c 0::5c::26a0::5c::78def::5c::26ef::7b::7d::5c::26da::7d::5cd::5c::26da::7b::25:6 ::5c::72ead::5c::26b::20::4::6f::5c::3c::5c::69fe::6ff::5c::26b::5c::26e::25::4 ::5c::26db::5ce::6c::73e::5c::26fa::5c::6d::5::6c::4::69::0::6c::9::5c::26a0004 ::5cad::76a::6ece::5c::26a::5ca::5cad::76a::6ece::5c::26c1::20::25::d0cac:d0cac ::5c::69f::6e::5::6d::5c::26c::3d4::5c::78def::5c::26ef::7b::5c::26ef::25::2012 ::5cc::68a::2::5c::4::68e::5c::26a::5c::3::70ace::7d::5c::26c::3d0::5c::26a::3d 0::20::5cf::69::5c::26e::5c::26da::5cf::69::5cc::7d::5cd::5c::26db::7b::25:::08 ::5cc::6c::6f::73e::69::6e::5c::26b::5ce::67::2::6f::5::70::5c::26ef::7d::25:04 ::5cd::5c::26ba::7b::5c::26c00::5ce::6ed::6c::69::6eec::68a::2::2d001::5c::26bb ::7d::5cd::5c::26bb::7b::5cca::74c::6fde::5c::26c012::5cad::76a::6ece::5c::26c1 ::5c::69f::6e::5::6d::5c::26c::3c0128::5c::26e::5c::26bb::5ce::6c::73e::5c::26e ::5c::72e::6ca::8::5cf::69::5cc::7d::5cd::5c::26fa::7b::7b::25:0:0:0:0:0:1:ffff ::5c::67::6c::6fba::6c::5cc::68a::72def::5ca003::20::5ce::8::70a::6edaf::74e::2 ::5c::26fb::5c::3c::20c::7d::7d::7b::5c::6ccc::6fde63::3d58::25::0:0:0:0:1:ffff ::5c::6c::6f::77e::72ca::73e::7b::5cd::5c::26fb::231::20::232c::7b::5c::69f::78 ::5f::232::5f::5c::26ff6::5c::26cc::3f0::231c::5c::26ff6::5c::26cc::2d0::23::25 1c::5c::26ff4::5c::26cd::2e1::231c::5c::26ff8::5c::26ce::3f2::231c::5cf::69::25 ::7d::7d::7d::5cd::5c::26ff::231::232::233::234::235c::7b::5c::26c::231::20::25 ::5cdef::5ced::7b::2a::233::7d::5cdef::5caa::23::231::233::7b::232::23::23::256 1c::5c::26ac::7d::5c::26fc::235::233::2a::233::5ce::5c::69f1::5cf::25:386::face ::5c::67::6c::6fba::6c::5cc::68a::72def::5ca::234::20::5cf::69::7d::5cd::25::2: ::5c::26fc::7b::5c::69f::6e::5::6d::5c::26c::3d0::5c::26e::5c::26fd::25:6::face ::5ce::6c::73e::5cad::76a::6ece::5c::26c::2d1::5c::26e::5caa::5cf::69::5cc::255 ::7d::5cd::5c::26fd::231::5ce::7b::5cdef::5cb::7b::231::7d::5c::69f::8::5cb::25 ::5ced::5ce::6c::73e::5c::26f0::5cf::69::7d::5cd::5c::26ac::7b::5c::69f::8::25b 1::5cf::5c::26e::5c::26fc::5ce::6c::73e::5c::26e::5c::26ad::5cf::69::5cc::25::a ::7d::5cd::5c::26ad::231::5ce::7b::7d::5cd::5c::26cd::7b::5c::26ca::5c::26d::25 256ab::5c::26d::7d::5cd::5c::26ce::7b::5c::26ca::5c::26dd72012a::22b::25252:294 ::5c::26d::7d::5cd::5c::26cc::7b::5c::26ca7777a::22b::5c::26ec::7d::5cd::25:753 ::5c::26ca::231::232a::233b::7b::5c::26f0::5c::6ce::4::5cdd::231::5cdef::25:618 ::5cbd::7b::232::7d::5cdef::5cbe::7b::233::7d::7d::5cd::5c::26d::231::7b::25::f ::5c::69f::8::2310::5c::26f1::5c::26e::5cdd::5ce::6c::73e::5c::69f::8::231c::25 ::5c::26e::5c::72e::6ca::8::5ce::6c::73e::5c::26e::7b::5c::26ed::231::7d::25::0 ::5cf::69::5cf::69::5cc::7d::5cd::5c::26dd::231c::7b::5c::69f::8::24::231::2560 ::24::5ce::6c::73e::5c::26f0::5cf::69::7d::5cd::5c::26ed::231c::7b::25::9801da2 ::5c::26ea::231fffffb::231c::7d::5cd::5c::26ec::231c::7b::5c::26ea::23145f6::25 7b::231c::7d::5cd::5c::26ea::231::232::233::234::235::236b::7b::5c::26f0::25::7 ::5c::69f::8::235f::5c::26e::5c::26aa::5ce::6c::73e::5c::26e::5c::26eb::5cf::69 ::5cc::7d::5cd::5c::26eb::231c::7b::7d::5cd::5c::26aa::231c::7b::257::8::::8::: ::5caf::74e::72a::3::73::69::67::6e::6de::6e::4::5c::26ab::25::decade:8::::8::: ::5c::5::70::70e::72ca::73e::7b::5c::26a::5cbe0::231::24::7d::7d::25::8bcc:8bcc ::5cd::5c::26ab::231::24::7b::5c::69f::8::5f::231::5f::5c::69f::6e::5::6d::25ac ::5c::26a::3c::5cbd::5c::26f1::5cf::69::5cf::69::7d::7d^^25:::31:58:36:5e:44:33
これは LaTeX のパッケージになっていて、これを \usepackage
で読み込むと次の命令が提供される。((plain TeX でも \input decllnoc.sty
で読み込んで使える。))
例えば、次のような入力ファイル(例題の暗号文)があったとする。
[test.txt]
192.168.0.23 00:00:01:22:23:34 FF:DD:BB:AA:CC:EE 2001:db8:bd05:1d2:288a:1fc0:1:10ee 123.45.67.89 12:34:56:78:9a:bc 1A-2B:2E-09:12:22 300.100.200.10 10.232.33.44 90-12-03-92-00-01 01234:22:4444:34:5555:5:f 0.100.32.10 100.200.100.200 10:20:30:01:02:03 11-22-33-44-55-66 9f34:234:1:123:45:6:FFFF:FFF
この時、次の文書は解読した文字列を記したものになる。
[test-decllnoc.tex]
\documentclass{article} \pagestyle{empty} \usepackage{decllnoc} \begin{document} \decrypt{test.txt} \end{document}
*1:結果の符号値の文字をそのまま出力するので、ASCII として読めるフォントが指定されている必要がある。