難読化シェル芸コレクション¶
いろんな人が書いた難読化シェル芸(後で解読しておくためのメモ)
人類の資産を永く保存しなければという使命感に基づいて記録しています
精査はしていないので、もしかしたら重複しているものがあるかもしれません。あしからず。
- 難読化シェル芸コレクション
- 隊長さん
- yamayaさん
- yamayaさん曲線特集
- ぐれさん
- mosheeさん
- ebanさん
- 上田 隆一さん
- 次郎さん
- みどりごけさん
- くおんさん
- hiroさん
- ふみやすさん
- 獅子舞さん
- まーたさん
隊長さん¶
UTF-16リトルエンディアンを利用したdate¶
echo -n 搀愀琀攀|iconv -t utf-16le|bash
2018年 12月 22日 土曜日 11:32:18 JST https://t.co/sMh25iTdZO
— シェル芸bot (@minyoruminyon) 2018年12月22日
記号と2を使ってdate¶
_ 2>/dev/null
__=$?
__=${__/${__/?}}
___=`/???/?$__$__/???$__??? <<< $??$?`
___=${___/${___/??}}
__=`/???/?$__$__/???$__??? <<< $__??`
__=${__/${__/??}}
/???/$__??? /???/$___??
$_
2019年 5月 24日 金曜日 12:42:02 JST https://t.co/aIqlw5lseJ
— シェル芸bot (@minyoruminyon) 2019年5月24日
記号だけで"シェル芸"を出力¶
: "$(/???/??${##}/???${##}???<<<//}?{?)"; : /???/${_/${_/??}}?; : "$($_ ./????????????/???.?$((${##}+${##}))/????????.???)"; : ${_/???????????????????}; echo ${_/${_/????}}
— シェル芸bot (@minyoruminyon) July 22 2019
応用ワタナベ難読化date¶
: <(:); : "$(.&>/???/??/${##}) /*/$$ $_"; __=(${_##*.}); : ${__[${##}]%???}${__[$((-~${##}))]/???}; : "${_/\/$$}"; : "${_/${_%???}} ${__[$((-~-~${##}))]/${__[$((-~-~${##}))]/??}}"; : $(${_/\//-} <<< 辺邉󠄀辺󠄀邉󠄐邉󠄁); $_
2019年 8月 1日 木曜日 23:52:01 JST https://t.co/PbFNMdfEtN
— シェル芸bot (@minyoruminyon) August 1 2019
記号難読化date¶
(())
/ /???/???/????$(($?<<$?<<($?<<$?<<$?)))
/ $($_ <<< $#$#$#)$(/)$($_ <<< ${#}${?%?})
${_//${_/${_/???}}}
${_//${_/${_%???}}}
${_,,}
2019年 8月 23日 金曜日 00:26:46 JST https://t.co/eV3tVwJK1R
— シェル芸bot (@minyoruminyon) August 22 2019
画像をアレコレしてdate¶
echo -e "P1\n1 1\n0"|convert - o.png;
xxd o.png | grep "[7-9].:"|cut -d\ -f11|tr -d \\n|cut -d. -f2
2019-10-09T21:37:08+09:00e/I* https://t.co/oEa4mbJPo6
— シェル芸bot (@minyoruminyon) October 9 2019
[]が多い難daコレ¶
: " $(: sed; $_ "s/$[-$[$[~$[!$[]]<<$[!$[]]]+~$[!$[]]]]/$[$[-~$[!$[]]<<-~$[!$[]]]+~$[]]/${#_}" <(echo x6{$[-~$[!$[]]<<$[!$[]]],$[!$[]],$[-~$[!$[]]<<$[!$[]]],$[$[-~$[!$[]]<<$[!$[]]]+$[!$[]]]}))"; echo "$'${_// /\\}'"|bash
2020年 1月 16日 木曜日 20:47:18 JST https://t.co/9sZ6mlejtL
— シェル芸bot (@minyoruminyon) January 16 2020
yamayaさん¶
フィボナッチ数列¶
fib='a+=b,b=a-b,a<_[`echo $b>&3`]||fib'
((a=1,fib))3>&1
1
— シェル芸bot (@minyoruminyon) 2019年4月6日
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
121393
196418
317811
514229
832040
1346269
2178309
3524578
5702887
9227465
14930352
24157817
39088169
63245986
102334155
165580141
267914296
433494437
701408733
1134903170
1836311903 https://t.co/3bUmfpqf1Q
記号だけでフィボナッチ数列¶
! : "`/???/???/???${#?}???<<<_.`";_____=${_::-~$?}
____='__+=___,___=__-___,__<_[$($_____<<<$___>&$[-~${##}])]||____'
((__=-~$?,____))|&$_____
1
— シェル芸bot (@minyoruminyon) 2019年4月6日
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
121393
196418
317811
514229
832040
1346269
2178309
3524578
5702887
9227465
14930352
24157817
39088169
63245986
102334155
165580141
267914296
433494437
701408733
1134903170
1836311903 https://t.co/8Rj5NtWE4W
ぐれさんが解説記事を書いてくださっています https://gist.github.com/greymd/455a13bb6f757c5ccd00bfb155d525e2
シェルピンスキーのギャスケット¶
! _(){
((____=__,${_______=_____[____]^=_____[____-__],++____<___&&_______}))
$______<<<${_____[@]}
((++________<___))&&_
}
_____=(${__=$?})
___=$[__<<$__$?+~__]
: /*/$$;: ${_:__:__}
(${______=/???/???/?$[~__*~__]}<<<${_^}$__\ $___\ $___;_)|convert - /images/a.png
https://t.co/uict1Hg30k pic.twitter.com/g5ou4OweoE
— シェル芸bot (@minyoruminyon) 2019年4月7日
記号だけでdateコマンド¶
___=${__=${#?}}$[$__$__*~__*~__]
(("_[\$($'\\$___\\$[___-__+~__]\\$[___-$__$?*~__]\\$[___+__]'>&$[-~__])]"))>&/???/??/$__
2019年 4月 9日 火曜日 00:13:23 JST https://t.co/AxSD4ZLzsj
— シェル芸bot (@minyoruminyon) 2019年4月8日
. /???/??/$?<<<.\ /???/??/$?\<\<\<\$\'\\$(($$/$$))$(($$/$$<<$$/$$<<$$/$$))$(($$/$$<<$$/$$<<$$/$$))\\$(($$/$$))$(($$/$$<<$$/$$<<$$/$$))$(($$/$$))\\$(($$/$$<<($$/$$<<$$/$$<<$$/$$)))$(($$/$$<<$$/$$<<$$/$$))\\$(($$/$$))$(($$/$$<<$$/$$<<$$/$$))$(($$$?/$$/($$/$$<<$$/$$)))\'
2019年 7月 2日 火曜日 23:51:02 JST https://t.co/z4dPs6iLa0
— シェル芸bot (@minyoruminyon) July 2 2019
超短いFizzBuzz¶
n+=:; s=; : ${p=$(<$0)}
[[ $n =~ ^(...)+$ ]] && s=Fizz
[[ $n =~ ^(.....)+$ ]] && s+=Buzz
echo ${s:-${#n}}
[[ ${#n} =~ ... ]] || echo "$p">>$0
1
— シェル芸bot (@minyoruminyon) 2019年4月14日
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
FizzBuzz
31
32
Fizz
34
Buzz
Fizz
37
38
Fizz
Buzz
41
Fizz
43
44
FizzBuzz
46
47
Fizz
49
Buzz
Fizz
52
53
Fizz
Buzz
56
Fizz
58
59
FizzBuzz
61
62
Fizz
64
Buzz
Fizz
67
68
Fiz https://t.co/TWjfCP666t
Hello, world ゴルフ¶
H(){
echo -n ${*:- };}
l(){ exec 2>/dev/nu\
ll; IFS=;}
o(){ H "${1::0
,1}";}
while
o $s
read -r s; do
l #シェル芸
done <$0
! ねこ大好き
Hello world https://t.co/I5e4nVM7Uc
— シェル芸bot (@minyoruminyon) 2019年4月21日
dashでdate¶
#!/bin/dash
_(){ __=$@;}
_ /???/???/[![]
_ /[!${__##*/}]??
_ /???/???/?${__##*/??}
`${__##* } \)-@ _-{<<_
.+>/
_`
#!/bin/dash
— yamaya (@yamaya) 2019年6月19日
_(){ __=$@;}
_ /???/???/[![]
_ /[!${__##*/}]??
_ /???/???/?${__##*/??}
`${__##* } \)-@ _-{<<_
.+>/
_`#シェル芸
dcでdate¶
`dc -ezzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzPkkPzzzzzzzzzzzzzzzzzzzzPkkkkkkkkkkkkkkP`
2019年 6月 16日 日曜日 00:19:13 JST https://t.co/41DPEwAiFl
— シェル芸bot (@minyoruminyon) 2019年6月15日
(dc|dc)<<<zddddddddddddddddddddddddddddddddzanddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddzddzananddzddddddddddddddzanan
2019年 8月 1日 木曜日 22:49:52 JST https://t.co/hH3YTRpXOk
— シェル芸bot (@minyoruminyon) August 1 2019
なんだっけ、何か数列¶
__=($?{,,,,,,,,} ${#?})
_(){ : "${__[*]}";$____$____<<<${#?}${_#*${#?}};__ ${#__[@]};__=(${___[@]});}
__(){ ___[$@]=$[__[$@]+__[~-$@]];[ $@ = $# ]||__ $[~-$@];}
: /???/??/$?;____=${_:${#?}:${#?}}
_;_;_;_;_;_;_;_;_;_
1
— シェル芸bot (@minyoruminyon) July 29 2019
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1 https://t.co/q4y1GtRYJZ
yamayaさん曲線特集¶
フィボナッチ曲線¶
l=(3,0 0,-3 -3,0 0,3)
p=A
for j in {1..18};{ printf %d, ${#p};p=$(sed "s/A/ab/g;y/B/a/;y/ab/AB/"<<<$p);}
A=i+=++n%2?1:-1;B=++n
convert -size 800x800 xc: -draw "fill none stroke black path 'm50,650 $(eval $(sed 's/./echo ${l[i%4]};((&));/g'<<<$p))'" /images/a.gif
1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 https://t.co/SuoKVridDE pic.twitter.com/wRKXYFFrNv
— シェル芸bot (@minyoruminyon) August 11 2019
ペアノ・ゴスペル曲線¶
l=(6,0 3,-6 -3,-6 -6,0 -3,6 3,6)
p=A
eval 'p=`sed "s/A/aRbRRbLaLLaaLbR/g;s/B/LaRbbRRbRaLLaLb/g;y/ab/AB/"<<<$p`;'{,,,}
convert -size 500x500 xc: -draw "fill none stroke black path 'm300,70 $(eval `sed 's/[AB]/echo ${l[i%6]};/g;s/L/((++i));/g;s/R/((--i));/g'<<<$p`)'" /images/a.gif
https://t.co/wU3cFRKaxB pic.twitter.com/LfJqEI6yKt
— シェル芸bot (@minyoruminyon) August 11 2019
ドラゴン曲線¶
l=(3,3 3,-3 -3,-3 -3,3)
p=FX
eval 'p=$(sed "s/X/xLyFL/g;s/Y/RFxRy/g;y/xy/XY/"<<<$p);'{,,,,,,,,,,}
convert -size 800x800 xc:white -draw "fill none stroke black path 'm350,550 $(eval $(sed 's/[FXY]/echo ${l[i%4]};/g;s/L/((++i));/g;s/R/((--i));/g;'<<<$p))'" /images/a.gif
https://t.co/vmWjrbTI5p pic.twitter.com/neBXztJk6q
— シェル芸bot (@minyoruminyon) August 11 2019
シェルピンスキーのギャスケット¶
l=(2,0 1,-2 -1,-2 -2,0 -1,2 1,2)
p=A
eval 'p=$(sed "s/A/bRaRb/g;s/B/aLbLa/g;y/ab/AB/"<<<$p);'{,,,,,,,}
convert -size 600x600 xc:white -draw "fill none stroke black path 'm50,550 $(eval $(sed 's/[AB]/echo ${l[i%6]};/g;s/L/((++i));/g;s/R/((--i));/g'<<<$p))'" /images/a.gif
https://t.co/pJthiMWD5W pic.twitter.com/gHUW6iOnyf
— シェル芸bot (@minyoruminyon) August 11 2019
コッホ曲線¶
l=(2,0 1,-2 -1,-2 -2,0 -1,2 1,2)
p=F
eval 'p=$(sed s/F/FLFRFLF/g<<<$p);'{,,,,,}
convert -size 1500x600 xc:white -draw "fill none stroke black path 'm50,550 $(eval $(sed 's/F/echo ${l[i%6]};/g;s/L/((++i));/g;s/R/((i+=4));/g'<<<$p))'" /images/a.gif
https://t.co/UmxGMWdxV7 pic.twitter.com/DAKNVyrUnu
— シェル芸bot (@minyoruminyon) August 11 2019
フラクタル羊歯植物¶
dc -e'30000[0sa0sb0sc.16sd0sf]s1[.85sa.04sb_.04sc.85sd1.6sf]s2[.02sa_.26sb.23sc.22sd1.6sf]s3[_.15sa.28sb.26sc.24sd.44sf]s4[0k48271lr*2147483647%dsr8/100%9kl1xd1<2d87<394<4lalx*lbly*+dn32Plclx*ldly*lf++psysx1-d0<m]sm0dsxsy12345srlmx'|awk '{p[int($1*50)+int($2*50)*400+3e3]=1}END{print"P1",400,525;for(;i++<21e4;)print p[i]+0}'|convert - +level-colors green,black -flip /images/a.png
https://t.co/7ZcJWuTQhf pic.twitter.com/vhWdUEe0OT
— シェル芸bot (@minyoruminyon) August 25 2019
ぐれさん¶
記号だけで任意の文字列を出力¶
! : "`/???/???/??$[-(~${##}+~${##}-${##})]???<<<///`";__=${_:$[-~${#?}+-~${#?}]:${#?}};___='_[$( _____=($(/???/???/????.??)); /???/???/${__}???-???? ${_____[$[-~${##}-~${##}]]}>&$[-~${##}])]';((___)) &> /?${__}?/???o??
守りたい、このうんこもりもり https://t.co/Cntoo2bWAG
— シェル芸bot (@minyoruminyon) 2019年4月7日
dcを利用してほぼ記号だけで任意の文字列を出力¶
: ${##};dc -e "2i?P" <<<$_$_$_$?$?$?$_$_$_$?$?$?$?$?$?$_$_$?$?$?$?$_$_$?$_$_$_$?$?$?$_$_$_$?$?$?$?$?$_$?$_$?$?$_$?$?$_$_$_$_$_$?$?$?$_$_$_$?$?$?$?$?$?$_$_$?$?$_$?$?$_$_$?$?$?$?$_$?$_$?
— シェル芸bot (@minyoruminyon) 2019年4月9日
連想配列を利用したdate¶
(( a=144,b=141,c=164,d=145 ))
(( "c[\$($'\\$a\\$b\\$c\\$d' >&2)]" ))|&cat
2019年 4月 10日 水曜日 05:59:50 JST https://t.co/WiQzsArrG5
— シェル芸bot (@minyoruminyon) 2019年4月9日
unko.ls¶
: ${##}; (("_[\$($'\\$_$[-~-~-~-~-~$_]$[-~-~-~-~$_]\\$_$[-~-~-~-~$_]$[-~-~-~-~-~$_]\\$_$[-~-~-~-~$_]$[-~-~$_]\\$_$[-~-~-~-~$_]$[$_$?--~-~$_]\\$?$[-~-~-~-~$_]$[-~-~-~-~-~$_]\\$_$[-~-~-~-~$_]$[-~-~-~$_]\\$_$[-~-~-~-~-~$_]$[-~-~$_]'>&$[-~$_])]"))>&/???/??/$_
うんこ
— シェル芸bot (@minyoruminyon) 2019年4月9日
うんち
下痢
うんこっこ
うんこもりもり
poo
feces
shit
crap
caca
merde
Caga
mierda
Kacke
Scheiße
Feci
Merda
Merda
Cocô
Fezes
σκατά
Какашка
㞎㞎
狗屁
똥
ขี้
💩 https://t.co/JVrFqQlG4x
高度なyesコマンド代替¶
: ${p=$(<$0)}
echo "高須クリニック"
echo "$p">>$0
高須クリニック
— シェル芸bot (@minyoruminyon) 2019年4月14日
高須クリニック
高須クリニック
高須クリニック
高須クリニック
高須クリニック
高須クリニック
高須クリニック
高須クリニック
高須クリニック
高須クリニック
高須クリニック
高須クリニック
高須クリニック
高須クリニック
高須クリニック
高須クリニック
高須クリニック
高須クリニ https://t.co/sJ3Lf95p7p
円周率¶
__=(/???/??);: ${##};${__[$[-~-~$_]} -${__[${_}$[$_$?--~-~$_]]:${___=$[-~-~-~-~$_]}:$_}<<<"$[$___-$_]*${__[$?]:$___:$_}($_)"
3.14159265358979323844 https://t.co/q4khlglomm
— シェル芸bot (@minyoruminyon) 2019年4月24日
記号だけでojichat¶
! __=(${!T*}); /*/*/*/${!__[${##}]:${!__[-~$?]}:$?}*(-~$?)+${#__}:${#__[*]}}*
未結ちゃん、オハヨウ〜(^з<)😃☀ 未結ちゃんと一緒に今度ランチ、したいなァ😄😃☀ 😃♥ 😃このホテル🏩、ケーキ🎂がオイシイんだって💗😃ボクと一緒に行こうヨ💗😄 https://t.co/0qW11Frcdz
— シェル芸bot (@minyoruminyon) 2019年6月17日
なんかわかんないけどdateが実行される¶
{_}<. {_}<. {_}<. {_}<. {_}<. bash<<<"\$'\\$_${_:1:1}\\$_${_:0:1}\\$[$_+2]${_:1:1}\\$_$[-~${_:1:1}]'"
2019年 12月 10日 火曜日 08:44:44 JST https://t.co/lZVZPcrOrS
— シェル芸bot (@minyoruminyon) December 9 2019
mosheeさん¶
マンデルブロ集合¶
dc -e '20 100 150[P6]Pfswshsm9k[q]sQ[20*Lor-3r^1+1r/]sU[dSo10-SodlUxrlUx-lm*]sV0sq[0[dlw/4*3-salqlh/3*1.5-sb0ddsxsy[lxd*lyd*+4!>Qlxdd*lyd*-la+sx2ly**lb+sy1+dlm>I]dsIxlm/d17lVxPd15lVxP13lVxP1+dlw>X]dsXxclq1+dsqlh>Y]dsYx' 2>/dev/null | convert ppm:- /images/m.png
https://t.co/0wXKfLI5uf pic.twitter.com/H1AlVvclSO
— シェル芸bot (@minyoruminyon) 2019年4月15日
ebanさん¶
記号だけでdate¶
! : <(:); /*/${_:${?}:$?}??${_:${?}+${?}:$?}
2019年 6月 16日 日曜日 15:10:30 JST https://t.co/LfKJYseRk8
— シェル芸bot (@minyoruminyon) 2019年6月16日
上田 隆一さん¶
dateコマンド¶
. <( :(){ awk '$2~/^'$1'\/t/' /???/???????? | head -c $2 ; } ; : 13 2 ; : 23 2 )
2019年 6月 23日 日曜日 05:38:10 JST https://t.co/YGyNWwj9aR
— シェル芸bot (@minyoruminyon) 2019年6月22日
記号だけでdateコマンド¶
. <(__=(.{,,,}{,,,}{,,,});___=(.{,,,}{,,});echo -e $'\\U'${#__[@]}'\U'$((${#__[@]}-($$/$$)-($$/$$)-($$/$$)))'\U'$((${#__[@]}+${#___[@]}-($$/$$)-($$/$$)))'\U'$((${#__[@]}+($$/$$))) )
2019年 6月 23日 日曜日 07:46:39 JST https://t.co/9jZrbjZPD7
— シェル芸bot (@minyoruminyon) 2019年6月22日
💩¶
__=( ". "{,,,}{,,,,,} . ) ; : () { ! ; ___=(/???/????);${___[${#__[@]}]} $@ ; } ; : 💩
— シェル芸bot (@minyoruminyon) 2019年6月22日
💩💩¶
__=$[$(wc -m<<<💩) << $(wc -c<<<💩)];___=$[($(wc -m<<<💩) << $(wc -c<<<💩) ) - $(wc -c<<<💩) + $(wc -m<<<💩) ];____=$[($(wc -m<<<💩) << $(wc -c<<<💩) ) + $(wc -c<<<💩) + $(wc -c<<<💩) ];_____=$[ $__ + $$/$$ ];echo -e \\x{$__,$___,$____,$_____} | tr -d ' ' | sh
2019年 7月 29日 月曜日 20:24:57 JST https://t.co/pPYdiLdegO
— シェル芸bot (@minyoruminyon) July 29 2019
2019年 7月 29日 月曜日 21:36:47 JST https://t.co/zXKWSsUHx3
— シェル芸bot (@minyoruminyon) July 29 2019
校正が終わったので息抜きに難読化とかで遊んでました。¶
上田ブログ - 本日のシェル芸
https://b.ueda.tech/?post=20190729
ファイルパスを編集date¶
__=(/???/???/????/???????/???/??????);${__##*/??}
2019年 7月 30日 火曜日 23:13:35 JST https://t.co/Bop6kgKMxE
— シェル芸bot (@minyoruminyon) July 30 2019
記号でdate¶
! ;__=(/???/???/???$????);"`$__<<<.`";___=$(tr "f9" "te"<<<$_);${___:23:4}
2019年 8月 21日 水曜日 18:36:24 JST https://t.co/Dzk1gnoGGp
— シェル芸bot (@minyoruminyon) August 21 2019
! ;__=(/???/???/???$????);"`$__<<<';^?'`";___=${_/3/t};! ;${___::$[-~$?-~$?]}
2019年 8月 22日 木曜日 17:47:58 JST https://t.co/ypjFTmRlPv
— シェル芸bot (@minyoruminyon) August 22 2019
sedでdate¶
echo unko | sed "ycfnxoskpurecfaxeztpdrqc;e"
2019年 10月 3日 木曜日 06:49:48 JST https://t.co/IdH2gjQvvF
— シェル芸bot (@minyoruminyon) October 2 2019
\Ueeeddaaa?でdate?¶
echo -e \\Ueeeddaaad\\Ueeeddaaaa\\Ueeeddaaate\\Ueeeddaaa | sh
2019年 12月 11日 水曜日 19:11:30 JST https://t.co/CJpfiQfCLG
— シェル芸bot (@minyoruminyon) December 11 2019
ls --helpからdateだけどgrep -oPがいい仕事してるっぽい¶
ls --help | grep -oP "[^ ']*(?=\()" | sh
2019年 12月 12日 木曜日 12:19:42 JST https://t.co/Ror8fHPKB1
— シェル芸bot (@minyoruminyon) December 12 2019
$(grep -oP "[^ ']*(?=\()" <(ls --help) )
2019年 12月 12日 木曜日 12:23:02 JST https://t.co/Pw6OHFGo1T
— シェル芸bot (@minyoruminyon) December 12 2019
$(ls --help | grep -oP "[^ ']*(?=\()")
2019年 12月 12日 木曜日 12:20:21 JST https://t.co/Rj6AlTwFCe
— シェル芸bot (@minyoruminyon) December 12 2019
次郎さん¶
次郎さんはこちらのリンクにまとめられています
ほぼ記号だけでdateコマンド①¶
__=(.{,,,}{,,,}{,,,});___=(.{,,,}{,,});echo -e $'\\U'${#__[@]}'\U'$((${#__[@]}-($$/$$)-($$/$$)-($$/$$)))'\U'$((${#__[@]}+${#___[@]}-($$/$$)-($$/$$)))'\U'$((${#__[@]}+($$/$$)))|sh
2019年 6月 23日 日曜日 07:34:22 JST https://t.co/dvZ0i3VJaT
— シェル芸bot (@minyoruminyon) 2019年6月22日
ほぼ記号だけでdateコマンド②¶
__=$(($$/$$));___=$(($__+$__+$__));____=(/????/????/??/?);_____=${____[$__-$__]};______=${_____:${#_____}-$___:$__};_______=$((($___+$__)<<($___+$__)));________=(/???/???/????$_______);_________=${________[$__-$__]};$($_________ -$______ <<< ZGF0ZQo=)
2019年 7月 18日 木曜日 22:57:25 JST https://t.co/MXPha8w9Xc
— シェル芸bot (@minyoruminyon) July 18 2019
記号だけでdateコマンド①¶
__=$(($$/$$));___=$(($__-$__));____=(/????/?/??);____=${____[$___]};_____=(/????/?/????);_____=${_____[$___]};______=(/????/?/???????);______=${______[$___]};${____:${#____}-$__}${_____:${#_____}-$(($__<<$__<<$__)):$__+$__}${______:${#______}-$__}
2019年 7月 18日 木曜日 23:39:27 JST https://t.co/JSvQrqKKhK
— シェル芸bot (@minyoruminyon) July 18 2019
記号だけでdateコマンド②¶
2019年 7月 26日 金曜日 01:04:04 JST https://t.co/XX6DsV2r8U
— シェル芸bot (@minyoruminyon) July 25 2019
記号だけでdateコマンド③¶
_______=ޭ;__=$[$$/$$];___=`_`$[${?%?}-${?#??}];_____=(/???/???/??);____=$(${_____[$[$__+$__]$[$___+$__]} -tx$__<<<$_______);____=${____:$[$[]$__$[]};\;_____=\$\'\\$__$[$___+$__]`[`$[$?+$?]\'\;>&$;. $;${____::$__}${____:$[$__+$__+$__]:$__}$_____${____:$__:$__}
2019年 8月 4日 日曜日 22:48:39 JST https://t.co/0K8fetnN2y
— シェル芸bot (@minyoruminyon) August 4 2019
画像からdateを錬成する¶
2019年 8月 5日 月曜日 22:54:43 JST https://t.co/ZlARfqy1bu
— シェル芸bot (@minyoruminyon) August 5 2019
記号だけでdateコマンド④¶
eval "$'\\"$[$$/$$]""""`[`$[$?+$?]""""`[`$[$?+$?]"\\"$[$$/$$]""""`[`$[$?+$?]""""$[$$/$$]"\\"$[$$/$$]""""`/`${?#??}""""`[`$[$?+$?]"\\"$[$$/$$]""""`[`$[$?+$?]"""`_`$[${?%?}-${?#??}]""'"
2019年 9月 17日 火曜日 18:29:02 JST https://t.co/kKcvKpFtzv
— シェル芸bot (@minyoruminyon) September 17 2019
記号だけでdateコマンド⑤¶
+() { ${@:$[($[]$[!$[]]$[]<<!$[])+(!$[]<<!$[]<<!$[])]:!$[]}; };+ /???/????
2020年 2月 14日 金曜日 21:49:51 JST https://t.co/glQsTUmi0X
— シェル芸bot (@minyoruminyon) February 14 2020
みどりごけさん¶
画像にコードを埋め込んで素数を出力する¶
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 3 https://t.co/6LWMr711dl
— シェル芸bot (@minyoruminyon) July 18 2019
くおんさん¶
難読化シェル芸 モーメント¶
くおんさんのモーメントがあります
https://twitter.com/i/moments/1156246978386264065?s=13
記号だけでdateコマンド¶
Thu Jul 18 23:09:05 2019 https://t.co/zvoL92y4kV
— シェル芸bot (@minyoruminyon) July 18 2019
3種類の記号だけでdateコマンド¶
2019年 8月 17日 土曜日 22:13:07 JST https://t.co/En1XZC0BBF
— シェル芸bot (@minyoruminyon) August 17 2019
記号だけでdate 短い¶
__=(/???/???/???$[!$-]???);"$($__ <<<";^?")";${_::-~-~-~!$-};${_/$[-~-~!$-]/t}
2019年 8月 21日 水曜日 19:42:06 JST https://t.co/4LLNZM7zoB
— シェル芸bot (@minyoruminyon) August 21 2019
ハッシュ値が"da(数字)e"で始まる文字列¶
;^? da3eabe7d977c6fe1d8bd6cc6bb618e441234e4b - https://t.co/a2tPnIvs5w
— シェル芸bot (@minyoruminyon) August 21 2019
記号でdate 不思議¶
_=(/???) _=($_/${_[$$/$$]}???);${_[$$/$$]}
2019年 9月 16日 月曜日 19:49:53 JST https://t.co/9SC9F549de
— シェル芸bot (@minyoruminyon) September 16 2019
_=(/???) _=($_/${_[!$-]}???);${_[!$-]}
2019年 9月 16日 月曜日 20:22:16 JST https://t.co/Ih9WB6Bbpe
— シェル芸bot (@minyoruminyon) September 16 2019
超短い記号date¶
_=(??) _=(/*/${_%?}???);${_[!_]}
2019年 9月 17日 火曜日 03:16:31 JST https://t.co/3Q49UnzaLF
— シェル芸bot (@minyoruminyon) September 16 2019
hiroさん¶
自作記号オンリー難読化シェル芸(Twitterモーメント)¶
hiroさんのは、こちらのTwitterモーメントを御覧ください
: ${-::${##}};"{;__=({${_^}..${_,}});# ">&$;. $;: "${__[*]}";: "${_/*\` }^${_% [*}";: "${_// }";: ${_/^};/ ${_,,};${_:${#?}:${##}}${_::${##}}${_:~${?:~$#}:${##}}${_:${#?}+${##}:${##}}
/ "$(</*/[)";${_:${?}-${##}:${##}}${_:$#${?}${##}:${##}}${_:$#${##}${##}$#$#+~$#:-~${##}}
#!/bin/zsh /;<<<': '$[[##${#?}${#?}]$?*$?*${#?}$#+$?*${?/?}-$?*~${##}*~${##}-${##}$#]';${('$[[##${?/?}]-$?/~${##}/${#?}]')_}'>$;. ./$
#!/bin/zsh /;<<<': '$[[##${#?}${#?}]$?*$?*${#?}$#+$?*${?/?}-$?*~${##}*~${##}-${##}$#]';${('$[[##${?/?}]-$?/~${##}/${#?}]')_}'>$;. ./$
! _=(? ???? ?????);${_[~_]: -~${?}:$?}${_[~_]:~_}${_[$?]:~_}${_[~_]:${?}:$?}
! : <( );/???/${_:${?}:$?}??${_:${?}<<${?}:$?}
: <( ) : "${_/?}`. &>${_%??}${##}`${_/??}" : ${_/\/*[/} : ${_/?\/*} : ${_/${_:~$?}?} : ${_/?]} ${_/${_: -${?}${#_}:~${##}}}
! ${!?} ${!?} / /???/?? /????/??? /???/?? /???? /???/???/???? $ ${!?}
解読のヒント
https://twitter.com/hiro_poke91/status/1138370044226760704
https://twitter.com/minyoruminyon/status/1138395375742488578
https://twitter.com/xztaityozx_001/status/1138417841881747461
https://twitter.com/nogiro_iota/status/1138399715802865665
$ ${!?}${!#} /???/?? /????/??? /???/?? /???? /???/???/???? / ${!?}
__=<( );! ___=${__%/*}/$?;(. $___)<<<\$\'\\$?$[__=~$?*~$?]$__\\$?$__$?\\$?$[++__+$?]$[--__]\\$?$__$[++__]\'
hiro氏作の難読化シェル芸の解読¶
hiro氏作の難読化シェル芸の解読
https://hackmd.io/@EjC746Q1REWEpEC57LOAXA/rJ4niQJfr
新方式dateコマンド その1¶
__=${##};____=$[-(~-(~__))];_____=<(:);___=`.>&${_____%/*}/$__`;___=${___##*.};___=${_____: -(~__):-(~__)}${___:$____+$____:$__}${___:$____:$__};$___ \$\'\\$__${#___}${#___}\\$__${#___}$__\\$__$[-____*~__]$[++____]\\$__$____$[++____]\';
2019年 5月 11日 土曜日 01:47:39 JST https://t.co/FM2CV9lZPA
— シェル芸bot (@minyoruminyon) 2019年5月10日
新方式dateコマンド その2¶
: /\(:;___=${#_};! _______=<(:);__=$?;_______=${_______%/*};____=`.&>$_______/$__`;____=${____##*.};________=${____: -___:__};____=${_______:~__+-___:~-___}${____:___+___:__}${____:___--:__};_____=$__${#____}$___;$____ ${_______: -__}${____:___:__}$________${____::__}
2019年 5月 15日 水曜日 11:51:32 JST https://t.co/ac0pCqptAb
— シェル芸bot (@minyoruminyon) 2019年5月15日
新方式dateコマンド その3¶
[^^][^^][^^][^^][^^]
[$_][^^][^^]
/[^^][^^][^^]/[$_][^$_] /[^^][^^][^^]/[$_][^^][^^][^^] /
[^^][^^][^^][^^][^^]
/[^^][^^][^^]/[$_][$_][^^][$_]
# [^^] は ^ 以外の任意の1文字
2019年 8月 10日 土曜日 08:15:01 JST https://t.co/B7eOFKc4uD
— シェル芸bot (@minyoruminyon) August 9 2019
新方式dateコマンド その4¶
/
/ $(/???/???/???????.?/????${?/??}?.??<<<~+!)
${_/${_/????}}<<<\\$(($?+${#_}+${##}$#))\\$(($?+${?/?}+~${##}$#))\\$(($?+${?/?}+${?/${?/??}}))\\$(($?+${?/?}+~${?/??}))
2019年 8月 23日 金曜日 00:40:03 JST https://t.co/U7fBhyfdMS
— シェル芸bot (@minyoruminyon) August 22 2019
素数が出力される不思議なワンライナー¶
|:;$____ ______=\$\'\\$_____\\$[++_____]\';! $____ ':(){ '$______'<<<$(___=`'${_______:~__:__}${____:___:__}${______:__}$________\$\'\\$[_____=_____+${_____::___}]\\$[_____+___+___+__]\'' $__`;[ "${___#*: }" = "$__" ]&&$______<<<$__);((__++<-_____*~___))&&:;}';__=$?;:
2
— シェル芸bot (@minyoruminyon) 2019年5月15日
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
211
223
227
229
233
239
241
251
257
263
269
271
277
281
283
293
307
311
313
317
331
337
347
349
353
359
367
373
379
383
389
3 https://t.co/94R2g0GSl9
記号でFizzBuzz¶
/;: {_____}>&${##} ++__\>$?'||_[`____=$'\'\\$[_=_=$#$?*-~${##}]\\$_\'';/;((__%${#?}))||___+=$'\'\\$[$#$[_=$?+${?/?}]]\\$[--_]\''$____;_____;((__%$#${#_}))||___+=$'\'\\$[$#$_-${#_}]\\$[--_+${_%?}]\''$____;/;$'\'\\$[_=${?%?},_*=_]\\$_\''<<<${___-$__}''>&$_____`]';$[_]
1
— シェル芸bot (@minyoruminyon) September 2 2019
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
FizzBuzz
31
32
Fizz
34
Buzz
Fizz
37
38
Fizz
Buzz
41
Fizz
43
44
FizzBuzz
46
47
Fizz
49
Buzz
Fizz
52
53
Fizz
Buzz
56
Fizz
58
59
FizzBuzz
61
62
Fizz
64
Buzz
Fizz
67
68
Fiz https://t.co/sIpe4flAe9
恐らく最短 難daコレ¶
*;_=(*/*[$_]*);/;${_[$?]}
2019年 10月 4日 金曜日 12:33:27 JST https://t.co/pKu5UhO1qV
— シェル芸bot (@minyoruminyon) October 4 2019
恐らく最短 難daコレ(もっと短く!?)¶
*/*/*-*/*-*;${_##*-??}
2019年 10月 16日 水曜日 19:34:22 JST https://t.co/jJAwgg2dek
— シェル芸bot (@minyoruminyon) October 16 2019
読めない¶
!;$?;((~`${!_} +$$%%$$`))&&${!_}&${!?} ${@:_+_} */????
2019年 12月 10日 火曜日 12:21:06 JST https://t.co/hSYsnMGgLT
— シェル芸bot (@minyoruminyon) December 10 2019
! : $[]||!(($[$_$?$_$_>>_+++_++]#${!?#*/} == $[($?$?$?**++_)/_-_**(_*_)+$?$?$?*_*_-_**_--]))&&${!?} ${@:_} */????||! ${!?#*/}||:
2020年 1月 25日 土曜日 21:07:52 JST https://t.co/lHVzP01FTg
— シェル芸bot (@minyoruminyon) January 25 2020
もぅわからんコレ¶
__[\`__[\$\'\\\`\\$[$[]$[$[]$[$[]$[$[]||$$]$[]|$[$[]||$$]$[$[]$[$[]||$$]$[]]]]$[]]\\$[$[]||$$]$[$[]$[$[]$[$[]$[$[]$[$[]||$$]$[]$[]]|$[]$[$[]$[$[]||$$]$[$[]||$$]$[$[]||$$]]]]]\\$[$[]||$$]$[$[]$[$[]||$$]$[]$[]]\\$[$[]$[$[]$[$[]$[$[]||$$]$[]|$[$[]||$$]$[$[]$[$[]||$$]$[]]]]$[$[``]||$$]]\\$[$[]$[$[$[]$[$[]||$$]$[]]$[]|$[$[]$[$[]||$$]$[$[]||$$]]$[$[]$[$[]||$$]$[]]]]\\$[$[]$[$[]$[$[]||$$]$[]$[]]]\\$[]$[$[]$[$[]$[$[]$[$[]||$$]$[$[]$[$[]$[$[]||$$]$[]$[$[]||$$]]]]]]$$\\$[$[]$[$[]$[$[]$[$[]||$$]$[$[]$[$[]$[$[]||$$]$[]$[$[]||$$]]]]]]\\$[$[]$[$[]$[$[]||$$]$[]$[``]]]\\$[$[]$[$[]$[$[]$[$[]||$$]$[]|$[$[]||$$]$[$[]$[$[]||$$]$[]]]]$[]]\\$[]$[$[]$[$[]$[$[]$[$[]||$$]$[$[]$[$[]$[$[]||$$]$[]$[$[]||$$]]]]]]$[$[]||$$]\\\`\']\|\|\$[_]\`]||$[_]
2019年 12月 31日 火曜日 20:11:11 JST https://t.co/UFrdCUJB7j
— シェル芸bot (@minyoruminyon) December 31 2019
超短い¶
*/*/*_*;${_/*_??}
2020年 1月 26日 日曜日 17:48:00 JST https://t.co/Ztca1NhE03
— シェル芸bot (@minyoruminyon) January 26 2020
短いし読めないし¶
"`<*/[`";"${_/"${_% ????)*}"}";${_/)*}
2020年 2月 12日 水曜日 23:40:59 JST https://t.co/jPtIspTTTN
— シェル芸bot (@minyoruminyon) February 12 2020
ふみやすさん¶
ddでdate¶
$((dd bs=1 skip=32 count=2; dd bs=1 skip=491 count=1; dd bs=1 skip=130 count=1) </etc/passwd)
2019年 8月 3日 土曜日 00:03:15 JST https://t.co/yMzwZG29P0
— シェル芸bot (@minyoruminyon) August 2 2019
獅子舞さん¶
conver…?¶
convert xc:[100x100] -fill none -stroke black -draw 'arc 25,0 75,50 180,450' \( +clone -rotate 180 \) -fx 'u*v' \( +clone -rotate 90 \) -fx 'u/(v+1)' miff:- | head | tail -n1 | grep ^.... -o | bash
2020年 6月 1日 月曜日 20:44:29 JST https://t.co/pl4EW95hAk
— シェル芸bot (@minyoruminyon) June 1 2020
まーたさん¶
1をシフト¶
printf $(printf "\\%o\\%o\\%o\\%o\\%o" $((1<<(1<<(1<<1)|1<<1)|1<<(1<<(1<<1))|1<<(1<<1)|1)) $((1<<(1<<(1<<1)|1<<1)|1<<(1<<1|1)|1<<(1<<1)|1<<1)) $((1<<(1<<(1<<1)|1<<1)|1<<(1<<1|1)|1<<1|1)) $((1<<(1<<(1<<1)|1<<1)|1<<(1<<1|1)|1<<(1<<1)|1<<1|1)) $((1<<(1<<1|1)|1<<1)))
— シェル芸bot (@minyoruminyon) April 30 2022