Dyrandy
[Wargame.kr] 워게임 Fly Me To The Moon 500p 본문
오늘은 Wargame.kr을 풀었습니다.
Fly Me To The Moon을 풀었는데요,
어디서 많이 들어 봤다 했는데, 어디 노래 가사더라고요,
일단 문제를 보면, 딱!
이런 게임이 나옵니다. 한번 플레이를 해보았는데요... 제가 이런거 잘 못해서
점수가 형편이 없습니다....
점수 31337 점을 얻으라 하네요...
너무하네...
일단 소스를 보면요...
<script type="text/javascript"> | |
eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[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}('76 58=["\\89\\66\\68\\68\\154\\68\\67\\92\\59\\71","\\70\\74\\59\\70\\89\\136\\66\\86\\59","\\81\\59\\63\\118\\70\\61\\71\\59","\\124\\66\\64\\70\\118\\70\\61\\71\\59","\\69\\74\\71\\66\\64\\89\\98\\78\\64\\64\\59\\68","\\97\\66\\84\\63\\74\\98\\78\\64\\64\\59\\68","\\61\\104\\148\\59\\70\\63","\\159\\61\\90\\70\\74\\59\\67\\63\\66\\64\\81\\155\\90\\66\\86\\90\\92\\61\\78\\90\\70\\67\\64","\\97\\67\\71\\64","\\61\\86\\86\\69\\59\\63\\136\\59\\86\\63","\\63\\78\\64\\64\\59\\68","\\81\\59\\63\\170\\68\\59\\85\\59\\64\\63\\124\\92\\142\\84","\\63\\61\\77","","\\77\\112","\\70\\69\\69","\\84\\66\\69\\77\\68\\67\\92","\\104\\68\\61\\70\\89","\\59\\67\\70\\74","\\66\\85\\81\\107\\68\\59\\86\\63\\111\\97\\67\\68\\68","\\66\\85\\81\\107\\71\\66\\81\\74\\63\\111\\97\\67\\68\\68","\\91\\74\\66\\81\\74\\111\\69\\70\\61\\71\\59\\69","\\71\\59\\85\\61\\103\\59","\\63\\67\\104\\68\\59","\\64\\61\\64\\59","\\84\\66\\103\\91\\69\\70\\61\\71\\59\\111\\63\\67\\104\\68\\59","\\70\\68\\66\\70\\89","\\63\\59\\112\\63","\\69\\77\\67\\64\\91\\69\\70\\61\\71\\59","\\68\\59\\86\\63","\\66\\85\\81\\91\\69\\74\\66\\77","\\69\\68\\61\\97","\\86\\67\\84\\59\\142\\64","\\104\\67\\70\\89\\81\\71\\61\\78\\64\\84\\149\\77\\61\\69\\66\\63\\66\\61\\64","\\168\\167\\164\\90","\\84\\66\\103\\91\\63\\78\\64\\64\\59\\68","\\71\\67\\64\\84\\61\\85","\\86\\68\\61\\61\\71","\\78\\77\\84\\67\\63\\59\\98\\78\\64\\64\\59\\68\\143\\150","\\86\\67\\84\\59\\151\\78\\63","\\154\\151\\118\\98","\\74\\66\\81\\74\\149\\69\\70\\61\\71\\59\\69\\107\\77\\74\\77","\\63\\61\\89\\59\\64\\146","\\169\\69\\70\\61\\71\\59\\146","\\67\\148\\67\\112","\\74\\63\\85\\68","\\77\\91\\97\\59\\68\\70\\61\\85\\59","\\78\\77\\84\\67\\63\\59\\98\\61\\89\\59\\64\\143\\150","\\63\\74\\112\\155\\90\\152\\74\\71\\66\\69\\63\\66\\67\\64\\90\\145\\61\\64\\63\\61\\92\\67","\\85\\61\\78\\69\\59\\61\\103\\59\\71","\\91\\70\\74\\71\\66\\69\\63\\66\\67\\64","\\85\\61\\78\\69\\59\\61\\78\\63","\\71\\59\\67\\84\\92","\\152\\74\\71\\66\\69\\63\\66\\67\\64\\90\\145\\61\\64\\63\\61\\92\\67","\\77\\67\\81\\59\\175","\\85\\61\\78\\69\\59\\85\\61\\103\\59","\\63\\61\\89\\59\\64\\107\\77\\74\\77","\\81\\59\\63"];62 119(){76 174=73;76 108=93;62 141(){108=173;79 93};62 130(){79 108};73[58[0]]=62(){141();79 93};73[58[1]]=62(){79 130()};76 116=0;62 131(){79 116};62 133(){72(108){116++};79 93};73[58[2]]=62(){79 131()};73[58[3]]=62(){133();79 93};76 123=161;62 138(){123-=20;79 93};62 144(){79 123};73[58[4]]=62(){138();79 93};73[58[5]]=62(){79 144()}};76 95=0;76 110=0;76 134=125;76 75=117;76 94=117;76 101=0;76 102=0;76 99=0;76 96=0;82=106 127(20);88=106 127(20);62 153(){87=106 119();72(58[6]==135 105){105[58[8]](58[7])};110=121[58[11]](58[10])[58[9]];134+=110;65=0;122(65=0;65<20;65++){82[65]=80;88[65]=137};$(58[19])[58[18]](62(83){65=83*25;$(73)[58[15]](58[12],58[13]+65+58[14]);$(73)[58[15]](58[16],58[17])});$(58[20])[58[18]](62(83){65=83*25;$(73)[58[15]](58[12],58[13]+65+58[14]);$(73)[58[15]](58[16],58[17])});$(58[25])[58[26]](62(){$(58[23])[58[22]](58[21]);$(58[25])[58[15]](58[16],58[24]);132();114()})};62 132(){87=106 119();72(58[6]==135 105){105[58[8]](58[7])};75=117;101=0;102=0;99=0;$(58[28])[58[27]](58[13]+0);$(58[30])[58[15]](58[29],75+58[14]);65=0;122(65=0;65<20;65++){82[65]=80;88[65]=137};$(58[30])[58[32]](58[31]);$(58[19])[58[18]](62(83){65=83*25;$(73)[58[15]](58[12],58[13]+65+58[14]);$(73)[58[15]](58[16],58[17])});$(58[20])[58[18]](62(83){65=83*25;$(73)[58[15]](58[12],58[13]+65+58[14]);$(73)[58[15]](58[16],58[17])})};62 114(){95=95+2;72(95>20){95=0};$(58[35])[58[15]](58[33],58[34]+95+58[14]);72(75+32<125){72(75+46<94){75+=4}109{72(75+16<94){75+=2}}};72(75>0){72(75-14>94){75-=4}109{72(75+16>94){75-=2}}};$(58[30])[58[15]](58[29],75+58[14]);102++;72(102>60){102=0;96=126[58[37]](126[58[36]]()*2)};72(82[0]<10){96=1}109{72(88[0]>166){96=0}};65=0;122(65=20;65>0;65--){82[65]=82[65-1];88[65]=88[65-1]};72(96==0){82[0]-=3};72(96==1){82[0]+=3};88[0]=82[0]+87[58[5]]();$(58[19])[58[18]](62(83){$(73)[58[15]](58[29],58[13]+82[83]+58[14])});$(58[20])[58[18]](62(83){$(73)[58[15]](58[29],58[13]+88[83]+58[14])});72(87[58[5]]()>=120){99++;72(99>100){99=0;87[58[4]]();82[0]+=10}};101++;72(101>20){101=0;87.165();$(58[28])[58[27]](58[13]+87[58[2]]())};72(75<=82[18]+20||75+32>=88[18]){87[58[0]]()};72(87[58[1]]()){158(58[38],10)}109{$(58[30])[58[39]](58[31]);$(58[19])[58[15]](58[16],58[24]);$(58[20])[58[15]](58[16],58[24]);$[58[44]]({171:58[40],156:58[41],162:58[42]+115+58[43]+87[58[2]](),157:62(113){147(113)}})}};62 160(){79};62 147(113){$(58[25])[58[45]](113);$(58[25])[58[15]](58[16],58[17])};$(121)[58[52]](62(){$(58[46])[58[15]](58[16],58[17]);140();163(58[47],172);$(58[46])[58[26]](62(){$(58[46])[58[15]](58[16],58[24]);153();114()});$(58[50])[58[49]](62(){$(73)[58[45]](58[48])});$(58[50])[58[51]](62(){$(73)[58[45]](139)})});76 139=58[53];$(121)[58[55]](62(129){94=129[58[54]]-110});76 115=58[13];62 140(){$[58[57]](58[56],62(128){115=128})};',10,176,'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||_0x32bb|x65||x6F|function|x74|x6E|y|x69|x61|x6C|x73|x63|x72|if|this|x68|ship_x|var|x70|x75|return||x67|left_wall|_0x8618x16|x64|x6D|x66|BTunnelGame|right_wall|x6B|x20|x23|x79|true|pos_x|bg_val|t_state|x77|x54|c_w||c_s|c_r|x76|x62|console|new|x2E|_0x8618x3|else|rail_left|x5F|x78|_0x8618x19|updateTunnel|token|_0x8618x6|234|x53|secureGame||document|for|_0x8618x9|x42|500|Math|Array|_0x8618x20|_0x8618x1d|_0x8618x5|_0x8618x7|restartTunnel|_0x8618x8|rail_right|typeof|x4C|400|_0x8618xa|temp|updateToken|_0x8618x4|x49|x28|_0x8618xb|x4D|x3D|showHighScores|x6A|x2D|x29|x4F|x43|initTunnel|x50|x2C|url|success|setTimeout|x44|scoreUpdate|320|data|setInterval|x25|BincScore|470|x30|x35|x26|x45|type|10000|false|_0x8618x2|x58'.split('|'),0,{})) | |
</script> |
이렇게 나오는데요... 이걸 Unpacker을 통해
http://matthewfl.com/unPacker.html
(이 사이트를 이용했음)
function secureGame()
{
var _0x8618x2=this;
var _0x8618x3=true;
function _0x8618x4()
{
_0x8618x3=false;
return true
};
function _0x8618x5()
{
return _0x8618x3
};
this[_0x32bb[0]]=function()
{
_0x8618x4();
return true
};
this[_0x32bb[1]]=function()
{
return _0x8618x5()
};
var _0x8618x6=0;
function _0x8618x7()
{
return _0x8618x6
};
function _0x8618x8()
{
if(_0x8618x3)
{
_0x8618x6++
};
return true
};
this[_0x32bb[2]]=function()
{
return _0x8618x7()
};
this[_0x32bb[3]]=function()
{
_0x8618x8();
return true
};
var _0x8618x9=320;
function _0x8618xa()
{
_0x8618x9-=20;
return true
};
function _0x8618xb()
{
return _0x8618x9
};
this[_0x32bb[4]]=function()
{
_0x8618xa();
return true
};
this[_0x32bb[5]]=function()
{
return _0x8618xb()
}
};
var bg_val=0;
var rail_left=0;
var rail_right=500;
var ship_x=234;
var pos_x=234;
var c_s=0;
var c_r=0;
var c_w=0;
var t_state=0;
left_wall=new Array(20);
right_wall=new Array(20);
function initTunnel()
{
BTunnelGame=new secureGame();
if(_0x32bb[6]==typeof console)
{
console[_0x32bb[8]](_0x32bb[7])
};
rail_left=document[_0x32bb[11]](_0x32bb[10])[_0x32bb[9]];
rail_right+=rail_left;
y=0;
for(y=0;
y<20;
y++)
{
left_wall[y]=80;
right_wall[y]=400
};
$(_0x32bb[19])[_0x32bb[18]](function(_0x8618x16)
{
y=_0x8618x16*25;
$(this)[_0x32bb[15]](_0x32bb[12],_0x32bb[13]+y+_0x32bb[14]);
$(this)[_0x32bb[15]](_0x32bb[16],_0x32bb[17])
}
);
$(_0x32bb[20])[_0x32bb[18]](function(_0x8618x16)
{
y=_0x8618x16*25;
$(this)[_0x32bb[15]](_0x32bb[12],_0x32bb[13]+y+_0x32bb[14]);
$(this)[_0x32bb[15]](_0x32bb[16],_0x32bb[17])
}
);
$(_0x32bb[25])[_0x32bb[26]](function()
{
$(_0x32bb[23])[_0x32bb[22]](_0x32bb[21]);
$(_0x32bb[25])[_0x32bb[15]](_0x32bb[16],_0x32bb[24]);
restartTunnel();
updateTunnel()
}
)
};
function restartTunnel()
{
BTunnelGame=new secureGame();
if(_0x32bb[6]==typeof console)
{
console[_0x32bb[8]](_0x32bb[7])
};
ship_x=234;
c_s=0;
c_r=0;
c_w=0;
$(_0x32bb[28])[_0x32bb[27]](_0x32bb[13]+0);
$(_0x32bb[30])[_0x32bb[15]](_0x32bb[29],ship_x+_0x32bb[14]);
y=0;
for(y=0;
y<20;
y++)
{
left_wall[y]=80;
right_wall[y]=400
};
$(_0x32bb[30])[_0x32bb[32]](_0x32bb[31]);
$(_0x32bb[19])[_0x32bb[18]](function(_0x8618x16)
{
y=_0x8618x16*25;
$(this)[_0x32bb[15]](_0x32bb[12],_0x32bb[13]+y+_0x32bb[14]);
$(this)[_0x32bb[15]](_0x32bb[16],_0x32bb[17])
}
);
$(_0x32bb[20])[_0x32bb[18]](function(_0x8618x16)
{
y=_0x8618x16*25;
$(this)[_0x32bb[15]](_0x32bb[12],_0x32bb[13]+y+_0x32bb[14]);
$(this)[_0x32bb[15]](_0x32bb[16],_0x32bb[17])
}
)
};
function updateTunnel()
{
bg_val=bg_val+2;
if(bg_val>20)
{
bg_val=0
};
$(_0x32bb[35])[_0x32bb[15]](_0x32bb[33],_0x32bb[34]+bg_val+_0x32bb[14]);
if(ship_x+32<500)
{
if(ship_x+46<pos_x)
{
ship_x+=4
}
else
{
if(ship_x+16<pos_x)
{
ship_x+=2
}
}
};
if(ship_x>0)
{
if(ship_x-14>pos_x)
{
ship_x-=4
}
else
{
if(ship_x+16>pos_x)
{
ship_x-=2
}
}
};
$(_0x32bb[30])[_0x32bb[15]](_0x32bb[29],ship_x+_0x32bb[14]);
c_r++;
if(c_r>60)
{
c_r=0;
t_state=Math[_0x32bb[37]](Math[_0x32bb[36]]()*2)
};
if(left_wall[0]<10)
{
t_state=1
}
else
{
if(right_wall[0]>470)
{
t_state=0
}
};
y=0;
for(y=20;
y>0;
y--)
{
left_wall[y]=left_wall[y-1];
right_wall[y]=right_wall[y-1]
};
if(t_state==0)
{
left_wall[0]-=3
};
if(t_state==1)
{
left_wall[0]+=3
};
right_wall[0]=left_wall[0]+BTunnelGame[_0x32bb[5]]();
$(_0x32bb[19])[_0x32bb[18]](function(_0x8618x16)
{
$(this)[_0x32bb[15]](_0x32bb[29],_0x32bb[13]+left_wall[_0x8618x16]+_0x32bb[14])
}
);
$(_0x32bb[20])[_0x32bb[18]](function(_0x8618x16)
{
$(this)[_0x32bb[15]](_0x32bb[29],_0x32bb[13]+right_wall[_0x8618x16]+_0x32bb[14])
}
);
if(BTunnelGame[_0x32bb[5]]()>=120)
{
c_w++;
if(c_w>100)
{
c_w=0;
BTunnelGame[_0x32bb[4]]();
left_wall[0]+=10
}
};
c_s++;
if(c_s>20)
{
c_s=0;
BTunnelGame.BincScore();
$(_0x32bb[28])[_0x32bb[27]](_0x32bb[13]+BTunnelGame[_0x32bb[2]]())
};
if(ship_x<=left_wall[18]+20||ship_x+32>=right_wall[18])
{
BTunnelGame[_0x32bb[0]]()
};
if(BTunnelGame[_0x32bb[1]]())
{
setTimeout(_0x32bb[38],10)
}
else
{
$(_0x32bb[30])[_0x32bb[39]](_0x32bb[31]);
$(_0x32bb[19])[_0x32bb[15]](_0x32bb[16],_0x32bb[24]);
$(_0x32bb[20])[_0x32bb[15]](_0x32bb[16],_0x32bb[24]);
$[_0x32bb[44]](
{
type:_0x32bb[40],url:_0x32bb[41],data:_0x32bb[42]+token+_0x32bb[43]+BTunnelGame[_0x32bb[2]](),success:function(_0x8618x19)
{
showHighScores(_0x8618x19)
}
}
)
}
};
function scoreUpdate()
{
return
};
function showHighScores(_0x8618x19)
{
$(_0x32bb[25])[_0x32bb[45]](_0x8618x19);
$(_0x32bb[25])[_0x32bb[15]](_0x32bb[16],_0x32bb[17])
};
$(document)[_0x32bb[52]](function()
{
$(_0x32bb[46])[_0x32bb[15]](_0x32bb[16],_0x32bb[17]);
updateToken();
setInterval(_0x32bb[47],10000);
$(_0x32bb[46])[_0x32bb[26]](function()
{
$(_0x32bb[46])[_0x32bb[15]](_0x32bb[16],_0x32bb[24]);
initTunnel();
updateTunnel()
}
);
$(_0x32bb[50])[_0x32bb[49]](function()
{
$(this)[_0x32bb[45]](_0x32bb[48])
}
);
$(_0x32bb[50])[_0x32bb[51]](function()
{
$(this)[_0x32bb[45]](temp)
}
)
}
);
var temp=_0x32bb[53];
$(document)[_0x32bb[55]](function(_0x8618x1d)
{
pos_x=_0x8618x1d[_0x32bb[54]]-rail_left
}
);
var token=_0x32bb[13];
function updateToken()
{
$[_0x32bb[57]](_0x32bb[56],function(_0x8618x20)
{
token=_0x8618x20
}
)
};
이런게 나오는데요....
으메 길다...
해서 다른 방법으로 풀어야겠다 생각해서,
Burp를 켰습니다.
http response를 확인 해보면 이런게 뜹니다.
token이 저희에게 주는 값인데 이건 우리가 score을 나중에 바꿔서 다시
못들어가게 방지하는 것 같습니다.
그리하여
버프로
이렇게 뜨는거 확인!
Repeater로 보내서
확인된 score
이걸 변경 시키고
Go를 눌러준다!
그럼 이렇게 똭!
끝!
'Wargame WriteUp > WarGame.kr' 카테고리의 다른 글
[Wargame.kr] 워게임 14번 challenge 14 simple board (0) | 2017.10.16 |
---|---|
[Wargame.kr] 워게임 13번 challenge 13 tmitter (0) | 2017.10.11 |
[Wargame.kr] 워게임 6번 challenge 6 DB is really GOOD (0) | 2017.09.28 |
[Wargame.kr] 워게임 12번 challenge 12 type confusion (0) | 2017.08.03 |
[Wargame.kr] 워게임 md5_compare 500p (0) | 2017.06.13 |