ksnctf 3 Crawling Chaos
-
問題
-
jquery.min.jsについて色々検索してjqueryについて知る
- うーにゃーの部分はjqueryによるコードっぽい
- 抜き出してIDEONEで実行などしてみるがよく分からず
-
console.log()
- javascriptでデバッグするのに有用らしい
- 中身や結果を表示してくれる
-
console.log()結果
- ƒ Function() { [native code] }の中身を""で文字列としてプリントしてくれてるっぽい
$(function(){$("form").submit(function(){
var t=$('input[type="text"]').val();
var p = Array(70,152,195,284,475,612,791,896,810,850,737,1332,1469,1120,1470,832,1785,2196,1520,1480,1449);
var f = false;
if(p.length==t.length){
f=true;
for(var i=0;i<p.length;i++)
if(t.charCodeAt(i)*(i+1)!=p[i])
f=false;
if(f)alert("(」・ω・)」うー!(/・ω・)/にゃー!");}
if(!f)alert("No");return false;
}
);
}
);
- 解読
- fがtrueになり続ければよい
- 配列pのi番目を(i+1)で割った数値の文字コードを持つ文字を合わせたものを求めればよさそう
- c++で書き直して実行。フラグゲット
int main(){
int array[21] = {70,152,195,284,475,612,791,896,810,850,737,1332,1469,1120,1470,832,1785,2196,1520,1480,1449};
REP(i, 21) {
cout << (char)(array[i] / (i+1));
}
cout << endl;
return 0;
}