ksnctf 25 Reserved
ppencode
これはppencodeというperlの予約語を使った難読化の技術らしいです。このままでもperlで普通に実行できてしまいます。
最初の方だけ解説すると、
print chr ord uc qw q flock q
ここで「FLAG_」の「F」が出力されています。
q flock q
perlでqはシングルクォーテーションを意味します。'flock'です。
qw q flock q
qw演算子は空白文字で区切ったリストを作るものですがいまはflockしかないのでこの部分は変わらず'flock'になります。
uc qw q flock q
予約語「uc」で'flock'を大文字の'FLOCK'に変換します。
chr ord uc qw q flock q
「ord」で'FLOCK'から一文字取り出してASCIIコードに変換(70)、そして「chr」で再び文字に変換して「print」で'F'を出力という流れ。このような処理を繰り返してFLAGが出力されます。