More Related Content
More from Ryuichi Ueda (20)
bash(の変な使い方)update
- 4. 本日の話: language updateというテーマですが・・・
• bash自体の更新はゆるやか
• 2016年9月15日: bash-4.4
• 2019年1月7日: bash-5.0
• bash(やシェル)の進化は文法だけではない
• シェルはコマンドが9割
• 普通の言語との共通点: ライブラリに相当
• 普通の言語との相違点: シェル愛とは全く関係なく増殖
2019/8/24 LL2019 4
シェル芸botでコマンド増殖の様子が観察できる
- 8. unko.towerコマンド
• コマンドに機能がまとめられる
• 旧
• seq 3 | tac | perl -snle '$l=" "x$_;$m=" "x($n-$_);print $l."($m
$m)"' -- -n=3 | sed "s/( )/ 人/" | sed 's/^/./' | sed 's/人/🍊/’
• 新
• unko.tower 3 | sed 's/人/🍊/’
• unko.towerに乗っかる形で
さらに複雑化
• 💩の中に作文したい
(動機は謎)
→ unko.towerにオプション
2019/8/24 LL2019 8
- 10. 💩系コマンドから分かること
• 面倒な操作 + 多くの人 → コマンド化
• bashの関数や文法を改善しようという
方向には基本行かない
• 計画的ではなく、自然発生的
• 文献を見るとUnix黎明期もそんな感じ
• シェルやコマンドはこうなる
• なんとなく統一感があるけど不統一
• 面倒だと感じた時は大抵コマンドがある
2019/8/24 LL2019 10
- 17. 難読化
• @kanata201612 氏、@xztaityozx_001 氏が
ブームに火をつける
• 「難読化シェル芸」
• 以前から難読化ワンライナーはあったが
シェル芸botで動態展示
• 基本(の一部)
• 以下全てdateコマンドの実行
• $’x64x61x74x65’
• __=$(ls --help
2>&1);"${__:53:1}${__:50:1}${__:68:1}${__:54:1}”
• __=(/???/???/????/???????/???/??????);${__##*/??}
2019/8/24 LL2019 17
入門書あり
by @kanata201612 氏
- 19. コマンドの助けを借りた難読化
タイプ(コマンド) WTF???
date “+%Y%m:%d %H:%M:%S”
を難読化したもの
ワタナベ難読化
(https://github.com/xzta
ityozx/noc)
by たいちょー氏
Unicodeの異体字セ
レクタで符号化
辺邉󠄀辺邉󠄀邉󠄁邊邉󠄀邊󠄁邊邊󠄄邉󠄀邉󠄀邊邊󠄄辺
邉󠄉邊邉󠄁邊󠄄辺邉󠄀邊邉󠄀邊󠄄邉󠄀邉󠄇邊邉󠄁邊󠄄邉󠄀
邉󠄌邊邉󠄁邊󠄄邉󠄀邉󠄀邊邊󠄁
呪文詠唱難読化
(https://github.com/ama
noese/yukichant)
by @amanoese 氏
音声認識でコマンド
入力するときのフォ
ネティックコードの
ようなもの
悪夢の極光よ守護を求める。魔手よ時に
死者に為り。閃光よ地も底を火照り。地
上を悪夢の魔神よ為り。輝きと力と地上
に貫け。力持て地獄の冥界住む。源の妖
精に具現化せよ。
空白文字難読化
by kanata氏
Unicodeの空白文字
で符号化
記述できない(空白なので)
2019/8/24 LL2019 19