Bace
Suninatas - 5번 본문
문제는 다음과 같다.
코드를 봐보았다.
중간에 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 |