Más contenido relacionado
レッツゴー難読化シェル芸
- 5. 難読化シェル芸 #とは
kanata さん考案の 読めない シェル芸
内部的な動作の⼿続き内容・構造・データなどを⼈間が理解
しにくい、あるいはそのようになるよう加⼯されたシェル芸
のこと。-- A painter and a black catより
- 9. 打ち込みにくい
読めないことと引き換えに打ち込みにくくなった難読化シェ
ル芸
$ __=$(. 2>&1)
$ __=${__##*.}
$ ___=$(${__:7:1}${__:18:1} 2>&1)
$ ___=${___##*]}
$ ____=$(${___:14:1}${__:12:1}${__:2:1}${__:17:1}${__:18:1}${__:1:1}
$ ${____:30:1}${____:27:1}${__:18:1}${____:31:1}
2018年 7⽉ 3⽇ ⽕曜⽇ 10:11:47 JST
めっちゃつかれる
- 13. 例 : ASCII難読化
⽂字列をASCIIコードに変換するベーシックな難読化
date => $'x64x61x74x65'
コレまでは xxd に通したりしてASCIIコードを⾒ていたので⾃
動化
$ nandokuka ascii <(echo date)
$'x64x61x74x65'
デコードも⽤意したけど echo するだけでいいのでいらない
$ echo $'x64x61x74x65'|nandokuka --decode ascii
date
- 14. 例 : gzip難読化
コマンドを gzip して読めなくする難読化。頭おかしい
date => eval $(echo -n 1f8b08007ad13a5b00034b492
c4905007a379eaa04000000 |xxd -ps -r|gunzip)
オプション⾊々
$ echo date | nandokuka gzip #ほぼgzipコマンド
1f8b080033d23a5b00034b492c4905007a379eaa04000000
$ echo date | nandokuka gzip -e #実⾏できる感じにする
eval $(echo -n 1f8b08003..(略)..000|xxd -ps -r|gunzip)
$ echo 1f8b08003..(略)..000|nandokuka -d gzip #ほぼgunzip
date
- 15. 例 : 記号オンリー難読化
コマンドを記号だけで表すヤバイやつ
date =>
${@:2$((1+2)):1}${@:2$((2+2*2)):1}${@:$((2*2*2-1)):1}${@:22:1}
何書いてあるのかわからん
$ echo date | nandokuka symbol
${@:2$((1+2)):1}${@:2$((2+2*2)):1}${@:$((2*2*2-1)):1}${@:22:1}
$ echo date | nandokuka symbol -p #必要なパーツも⼀緒に出せる
A=$(. 2>&1);A=${A##*.};
${A:1$((2*2*2+1)):1}${A:$((2+2)):1}${A:1$((2*2+2*2)):1}
-- {z..A};
${@:2$((1+2)):1}${@:2$((2+2*2)):1}${@:$((2*2*2-1)):1}${@:22:1}
- 16. 例 : 記号オンリー難読化
超・記号オンリー難読化もできる
$ echo date | nandokuka symbol --super
${____:$((2+2))$((2+2)):1}
${__:$((2+2*2)):1}${__:1$((2*2+2*2)):1}${__:$((2+2)):1}
$ echo date | nandokuka symbol --super -p | bash
2018年 7⽉ 3⽇ ⽕曜⽇ 10:40:55 JST