Bace

Suninatas - 5번 본문

SuNiNaTaS/Web

Suninatas - 5번

Bace 2020. 2. 4. 01:13

문제는 다음과 같다.

코드를 봐보았다.

 

중간에 eval(function~~ 이 있다.

eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('g l=m o(\'0\',\'1\',\'2\',\'3\',\'4\',\'5\',\'6\',\'7\',\'8\',\'9\',\'a\',\'b\',\'c\',\'d\',\'e\',\'f\');p q(n){g h=\'\';g j=r;s(g i=t;i>0;){i-=4;g k=(n>>i)&u;v(!j||k!=0){j=w;h+=l[k]}}x(h==\'\'?\'0\':h)}',34,34,'||||||||||||||||var|result||start|digit|digitArray|new||Array|function|PASS|true|for|32|0xf|if|false|return'.split('|'),0,{}))

 

document.write로 function을 봐보았다.

 

결과

 

코드를 보면 PASS를 선언한다.

var digitArray=new Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');
function PASS(n) {
  var result='';
  var start=true;
  for(var i=32;i>0;){
    i-=4;
    var digit=(n>>i)&0xf;if(!start||digit!=0){
      start=false;result+=digitArray[digit];
    }
  }
  return(result==''?'0':result);
}

 

PASS에다가 코드에 나온 hint인 12342046413275659 를 넣어보았다.

 

결과로 나온 9c43c20c 를 문제에 넣는다.

 

Authkey 가 나왔다.

 

# Auth

'SuNiNaTaS > Web' 카테고리의 다른 글

Suninatas - 8번  (0) 2020.02.04
Suninatas - 7번  (0) 2020.02.04
Suninatas - 4번  (0) 2019.12.23
Suninatas - 2번  (0) 2019.12.07
Suninatas - 1번  (0) 2019.12.07