th0x0472.log

アクセスカウンタ

zoom RSS #SECCON の問題 Vigenere を #シェル芸 で解きました。その2。

<<   作成日時 : 2016/12/11 21:27   >>

ブログ気持玉 0 / トラックバック 0 / コメント 1

先程アップした Write up はゴチャゴチャやってるけど、文字置換なんだから素直に tr コマンド使えよ、っていうかなんで使ってないの? 小一時間問い詰めたい。と思って tr コマンド使った別解を作りました。

キーを探すのは省略で。

tr BEFORE AFTER としたときに、BEFORE にあたる文字列が、FLAG文字列1文字ごとに変わるのが面倒ですが、そこはbashの連想配列を使って対処することにします。

まずは変数をいくつか用意します。

$ A="ABCDEFGHIJKLMNOPQRSTUVWXYZ{}"
$ C="LMIG}RPEDOEEWKJIQIWKJWMNDTSR}TFVUFWYOCBAJBQ"
$ K="VIGENERECODE"
$ K4="${K}${K}${K}${K}"


Vigenère table を1行ごとに、先頭1文字をキーにした連想配列に入れます。先程の BEFORE にあたるものです。

$ declare -A vt
$ for STR in $(eval echo "\${A:"{0..27}"}\${A::27}" | grep -o '[^ ]\{28\}'); do vt[${STR:0:1}]=${STR}; done


こんな感じになります。

$ echo ${vt[{]}
{}ABCDEFGHIJKLMNOPQRSTUVWXYZ


文字列長さを確認。

$ echo ${#C} ${#K4}
43 48


C<K4 なので気にせず for N in {0..42} で tr をブン回します

$ for N in {0..42}; do tr ${vt[${K4:${N}:1}]} ${A} <<< ${C:${N}:1} ; done | xargs | tr -d " " | tr -d "\n" | md5sum
f528a6ab914c1ecf856a1d93103948fe -


前回のはこの世から存在を抹殺したいですね。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(1件)

内 容 ニックネーム/日時
gabapentin teva wirkung
<a href= http://nestorfron.aircus.com >aknemycin lösung rezeptfrei</a> <a href= http://tonetteelv.ucoz.pl >azithromycin pille leona</a>
gabapentin nebenwirkungen leber
[url="http://codykirkwo.startbewijs.nl"]resochin[/url] [url="http://nestorfron.aircus.com"]aknemycin plus loe 25[/url]
resochin nebenwirkungen
RaymondCratt
2017/03/16 07:03

コメントする help

ニックネーム
本 文
#SECCON の問題 Vigenere を #シェル芸 で解きました。その2。 th0x0472.log/BIGLOBEウェブリブログ
文字サイズ:       閉じる