반응형
반응형

반응형

Title
XCZ Company Hacking Incident

Description
Korean
어느 날 해커 'FORENSER' 는 BOSS 의 명령을 받고 계획까지 치밀하게 세운 뒤,
"XCZ" 라는 회사의 내부에 침입하여 기밀문서를 찾아 외부로 유출하는 과정 중 현장에서 발각되었다.
조사 중에서도 죄의식을 느끼지 못하고 질문에도 답하지 않고 물어보았자 시간을 버리는 일이었다.
결국 참다 못해 직접 나서서 찾기로 하였다.
증거를 찾을 수 있는 단서는 'FORENSER' 가 가지고 있던 하드디스크 하나. 나는 일단 하드디스크에서 증거가 될 수 있을만한 것을 추려내었다.
키 값을 찾으세요.

English
One day, hackers under the command of the BOSS 'FORENSER' plan densely built after
Were caught in the field of intrusion by a company called "XCZ" internal confidential document leaked to the external.
It was a waste of time do not feel guilty survey among the questions asked without answer.
Eventually was impatient to go out and find.
Clues can be found in the the evidence 'FORENSER' one hard disk. I had to cull evidence from one hard disk to be.
Find the key.




파일들을 잘 뒤져보면 outlook 캐쉬파일을 찾을 수 있다.






outbox.dbx를 dbx viewer로 열어보았다. 다운로드 링크 : https://pendriveapps.com/mail-viewer-open-dbx-files/#more-5869





doc파일이 하나 있다.



열어서 마지막줄의 글자색을 변경해주면 authkey가 나온다.


authkey : Out10OkExpr3s5M4i1




반응형

'WAR GAME > XCZ.kr' 카테고리의 다른 글

XCZ.kr [prob 29] 풀이  (0) 2018.09.14
XCZ.kr [prob 28] 풀이  (0) 2018.09.14
XCZ.kr [prob 26] 풀이  (0) 2018.09.11
XCZ.kr [prob 25] 풀이  (0) 2018.09.11
XCZ.kr [prob 24] 풀이  (0) 2018.09.11

반응형

Title
Memoryyyyy Dumpppppp

Description
Korean
어느날 나는 커피집에서 노트북을 놓고 잠시 자리를 비웠다.
그리고 다시 와서 작업을 하다가 작업프로그램이 갑자기 꺼졌고, 작업파일들이 모두 다 삭제되었다.
원인을 찾기위해 나는 서둘러 메모리 덤프를 만들었다.
이 메모리 덤프파일을 분석하여 다음 정보를 알아내자.

키 형식 : (Process Name_PID_Port_Process Execute Time(Day of the week-Month-Day-Hour:Min:Sec-Years)
ex (explorer.exe_1234_7777_Mon-Jan-01-12:00:00-2012)

English
One day, I put the laptop in a coffee house, Left for a minute.
And had come back to work. Then work program has been shut down and all work file was deleted.
To find the cause I'm in a hurry and made a memory dump.
Let 's find out information through analyze memory dump file.

Key Format : (Process Name_PID_Port_Process Execute Time(Day of the week-Month-Day-Hour:Min:Sec-Years)
ex (explorer.exe_1234_7777_Mon-Jan-01-12:00:00-2012)





volatility를 사용했다.



vol.py -f '/root/Desktop/xczprob2' imageinfo



winXP 운영체제를 사용한다.


 vol.py -f '/root/Desktop/xczprob2' --profile=WinXPSP3x86 connections

프로세스 하나가 사용한것을 확인할 수 있다.




vol.py -f '/root/Desktop/xczprob2' --profile=WinXPSP3x86 pstree


범인은 nc.exe였다.



authkey : nc.exe_1124_80_Fri-Nov-02-09:06:48-2012





반응형

'WAR GAME > XCZ.kr' 카테고리의 다른 글

XCZ.kr [prob 26] 풀이  (0) 2018.09.11
XCZ.kr [prob 25] 풀이  (0) 2018.09.11
XCZ.kr [prob 23] 풀이  (0) 2018.09.11
XCZ.kr [prob 22] 풀이  (0) 2018.09.11
XCZ.kr [prob 21] 풀이  (0) 2018.09.10
반응형

Title
Zero & One

Description



제목이 0과 1이다.





파일명이 0과 1로 된 파일들이 여러개 들어있는데 내용을 보면 어떤 값이 들어 있다.





이 값은 md5해쉬값이다. 디코딩을 하면 정수가 나온다. 파일 순서인듯 하다. 파일 순서를 맞추어 파일명을 정렬해보았다.


1111111011010111101111111

1000001010101010001000001

1011101011011001101011101

1011101010011101001011101

1011101001010101001011101

1000001010101110001000001

1111111010101010101011111

0000000001110010100000000

1100111000011000100101111

0110110001010111100010110

0000101100010011101011000

1010010010101011101001101

1011101000111000111000101

1111010001011011100011100

0011101001011011010001000

0000010010011010011000110

1100011001001101111110100

0000000010110001100010110

1111111000110111101010000

1000001010111010100010101

1011101011111000111111110

1011101001110111101000011

1011101000111111101101010

1000001011110000010111110

1111111010111000000000111



qr코드 같은 느낌이 난다.


qr코드로 만들어서 read하면 http://xcz.kr/prob23_pr0b1em_file.html

링크가 하나 나온다.


0111011001011111001100100
1011111011100100101111101
1110010101111101100111010
1111100110000010111110011
0000010111110110010001011
1110111001101011111011001
0101011111011011100101111
1011100110101111101100101


이게 키다.



이를 아스키로 변환하면 v_2_r_y_g_0_0_d_s_e_n_s_e


authkey : v_2_r_y_g_0_0_d_s_e_n_s_e


반응형

'WAR GAME > XCZ.kr' 카테고리의 다른 글

XCZ.kr [prob 25] 풀이  (0) 2018.09.11
XCZ.kr [prob 24] 풀이  (0) 2018.09.11
XCZ.kr [prob 22] 풀이  (0) 2018.09.11
XCZ.kr [prob 21] 풀이  (0) 2018.09.10
XCZ.kr [prob 20] 풀이  (0) 2018.09.10
반응형

Title
Who's Notebook?

Description
Korean
내친구 A는 어느날 출근길에 누군가 잃어버린 것 같은 노트북을 발견한다.
A는 이 노트북을 주인에게 찾아주고 싶지만 찾을 방법을 몰라서 포렌서인 나에게 노트북을 맡기게된다.
이 노트북의 주인을 찾아주자.

인증키 형식 : 출발지_거쳐가는곳(1곳)_최종도착지
인증키는 모두 대문자로, 띄어쓰기무시
예) PLACE1_PLACE2_PLACE3 


English
On the way to work one day, my friend found a laptop that someone lost like.
He wanted to give back to the owner laptop.
but, he doesn't know how to know owner.So, he leave laptop to me.

AuthKey : Origin_Stopover(1 Place)_Final Destination
AuthKey is composed of UpperCase and replace space with null
Ex) PLACE1_PLACE2_PLACE3




주어진 파일의 시그니처를 보자




ADSEGMENTEDFILE 이미지 파일임을 알 수 있다. 파일명에 확장자명 .ad1을 붙여주고 ftk imager로 열면 된다.





파일들을 살펴보던 중에 gps관련 파일을 찾을 수 있었다. 이 파일을 추출해 보았다.



gpsnote.net에 접속해 보았다.




프로그램이 있나보다 다운받아보았다. 이 프로그램에서 위 파일을 열기위해선 확장자명을 바꾸어 주어야 했다. .gpx로 바꾸었다. 그리고 열었다.






경로가 나온다. 공덕역 -> 김포공항역 -> 동부렌트카




그런데 이게 아니다.


authkey : GONGDEOK_GIMPOINTERNATIONALAIRPORT_7-ELEVEN

반응형

'WAR GAME > XCZ.kr' 카테고리의 다른 글

XCZ.kr [prob 24] 풀이  (0) 2018.09.11
XCZ.kr [prob 23] 풀이  (0) 2018.09.11
XCZ.kr [prob 21] 풀이  (0) 2018.09.10
XCZ.kr [prob 20] 풀이  (0) 2018.09.10
XCZ.kr [prob 19] 풀이  (0) 2018.09.10
반응형

Title
PHP Obfuscation Crack

Description

Wrong T.T




소스보기를 하면 php코드가 나온다.


<html>
<head>
<link rel="shortcut icon" href="../images/favicon.ico" type="image/x-icon">
<title>Prob21</title>
</head>
<body style="background-image:url('../images/content-tail.gif');">
<b>Title</b></br>
<i>PHP Obfuscation Crack</i></br></br>
<b>Description</b></br>
<font size="2px">
<a href="prob_files/prob21.html" target="_blank">View source</a></br></br>
<?
${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x67\x61\x73y\x61\x72\x6b\x6e\x64"]="\x62";${"\x47\x4c\x4f\x42AL\x53"}["r\x77\x6cii\x69\x71\x66\x76\x66\x70"]="i";function h($a){${"\x47\x4cO\x42\x41L\x53"}["\x70x\x7a\x77\x65\x61h\x72\x75\x71\x6f\x6b"]="\x62";${${"\x47LO\x42\x41\x4c\x53"}["\x70\x78z\x77\x65\x61\x68\x72u\x71\x6f\x6b"]}="";${"GL\x4fB\x41\x4c\x53"}["u\x78\x6fi\x69i\x6b\x61pcv"]="\x62";for(${${"\x47\x4c\x4f\x42A\x4c\x53"}["r\x77\x6c\x69\x69i\x71\x66\x76fp"]}=0;${${"\x47\x4c\x4f\x42A\x4cS"}["\x72\x77l\x69i\x69\x71\x66\x76\x66\x70"]}<5;${${"G\x4c\x4f\x42\x41\x4c\x53"}["\x72\x77\x6ci\x69\x69qf\x76\x66\x70"]}++){$ydzorvqk="\x61";$gflrozo="\x62";${"\x47\x4cOB\x41\x4cS"}["\x65\x72p\x78\x7a\x6fz\x64\x65y"]="i";${$gflrozo}=${${"G\x4c\x4f\x42AL\x53"}["\x67\x61sy\x61\x72k\x6e\x64"]}+ord(substr(${$ydzorvqk},${${"\x47\x4c\x4f\x42ALS"}["\x65rp\x78\x7a\x6fz\x64e\x79"]},1));}return${${"\x47\x4c\x4fBA\x4cS"}["\x75x\x6fi\x69i\x6b\x61\x70\x63v"]};}$jbojdbertutk="\x4b\x45\x59";$vtefigaylx="mu\x6e";${"G\x4cOB\x41L\x53"}["\x68p\x63eeyx\x74o"]="\x61";$ktjmdjm="a";${"\x47\x4c\x4f\x42ALS"}["\x6d\x69mt\x65\x6du\x63\x79\x62\x70c"]="\x6d\x75\x6e";${$jbojdbertutk}="\x43o\x6e\x67\x72a\x74\x75\x6ca\x74\x69\x6f\x6es\x21</\x62r\x3e\x4be\x79\x20i\x73 ?????????????????????";${"GL\x4f\x42\x41\x4cS"}["\x67\x6d\x66i\x66\x62f\x6c"]="\x61";${${"G\x4c\x4f\x42AL\x53"}["\x6d\x69\x6d\x74em\x75c\x79\x62p\x63"]}=@$_GET["\x6b\x65y"];${"GL\x4f\x42A\x4c\x53"}["w\x76d\x63\x78\x73\x64\x73\x71b"]="x";@${$ktjmdjm}=explode("-",${$vtefigaylx});$gfxqkfxurga="\x78";$dlmordkk="\x61";for(${${"\x47\x4c\x4fBA\x4cS"}["w\x76\x64\x63\x78\x73\x64\x73\x71b"]}=0;${${"\x47\x4c\x4f\x42\x41LS"}["\x77v\x64\x63\x78s\x64\x73\x71\x62"]}<5;${$gfxqkfxurga}++){if(preg_match("/[^a-\x7a\x41-\x5a\x30-\x39]/",@${${"\x47\x4cOB\x41\x4c\x53"}["\x68pc\x65e\x79\x78\x74\x6f"]}[${${"\x47\x4cO\x42A\x4c\x53"}["\x77vd\x63\x78\x73ds\x71\x62"]}])){exit("\x45rr\x6f\x72!");}}if(is_numeric(substr(${${"\x47LO\x42\x41\x4c\x53"}["\x68p\x63e\x65y\x78to"]}[0],0,2))&&!is_numeric(substr(${${"\x47\x4c\x4f\x42\x41\x4cS"}["\x68\x70\x63ee\x79\x78t\x6f"]}[0],4,1))&&h(${${"\x47\x4c\x4f\x42\x41\x4c\x53"}["gm\x66\x69fbfl"]}[0])>312&&h(${${"\x47L\x4f\x42A\x4cS"}["h\x70\x63e\x65yx\x74\x6f"]}[0])<333&&!is_numeric(substr(${$dlmordkk}[1],0,1))&&is_numeric(substr(${${"\x47\x4c\x4fB\x41LS"}["hpc\x65ey\x78to"]}[1],3,2))){$qcpkjlbgy="\x61";${"G\x4c\x4f\x42\x41\x4c\x53"}["\x6f\x71\x6f\x74\x6a\x62\x76\x6e"]="\x61";${"G\x4cO\x42ALS"}["bb\x67h\x7a\x6f\x74"]="\x61";if(h(${${"\x47\x4c\x4f\x42\x41LS"}["b\x62g\x68z\x6ft"]}[1])>300&&h(${$qcpkjlbgy}[1])<326&&!is_numeric(substr(${${"GL\x4f\x42\x41\x4c\x53"}["hp\x63\x65\x65yx\x74o"]}[2],0,1))&&is_numeric(substr(${${"\x47LO\x42AL\x53"}["\x68\x70c\x65e\x79xt\x6f"]}[2],1,1))&&h(${${"GLO\x42\x41L\x53"}["o\x71o\x74\x6a\x62\x76n"]}[2])>349&&h(${${"\x47\x4c\x4fB\x41\x4cS"}["h\x70c\x65\x65\x79x\x74o"]}[2])<407){${"\x47L\x4fBA\x4cS"}["\x77\x73ju\x78\x77\x78bz\x6d\x73"]="\x61";${"\x47\x4cOB\x41\x4c\x53"}["o\x66\x76\x6d\x69\x61\x74\x63\x64ko"]="a";$oqhejquzit="a";if(!is_numeric(substr(${${"G\x4c\x4fBA\x4cS"}["\x77\x73\x6au\x78\x77\x78bz\x6d\x73"]}[3],0,2))&&is_numeric(substr(${$oqhejquzit}[3],2,3))&&h(${${"GL\x4f\x42\x41\x4c\x53"}["o\x66\x76\x6di\x61\x74\x63\x64\x6b\x6f"]}[3])>357&&h(${${"\x47\x4c\x4fBA\x4cS"}["hp\x63\x65ey\x78\x74\x6f"]}[3])<359){${"G\x4c\x4f\x42\x41L\x53"}["\x65rq\x71jp\x63t"]="\x61";${"G\x4c\x4fBAL\x53"}["ok\x67\x6f\x6e\x64\x66\x69\x64\x6b\x79"]="\x61";if(round((h(${${"G\x4c\x4f\x42A\x4c\x53"}["\x68\x70c\x65\x65y\x78t\x6f"]}[0])+h(${${"\x47\x4c\x4f\x42\x41L\x53"}["\x6fkg\x6f\x6ed\x66\x69\x64\x6b\x79"]}[1])+h(${${"\x47\x4c\x4f\x42AL\x53"}["h\x70c\x65e\x79\x78\x74\x6f"]}[2])+h(${${"\x47L\x4f\x42A\x4cS"}["h\x70\x63e\x65\x79\x78\x74o"]}[3]))/4)==h(${${"\x47L\x4f\x42ALS"}["\x65\x72\x71\x71\x6a\x70ct"]}[4])){$oaqqkxn="\x4b\x45\x59";exit(${$oaqqkxn});}}}}echo"\x57\x72ong\x20\x54.T";
?>
</font>
</body>
</html>



hex인코딩 부분을 바꾸고, 코드를 예쁘게 정렬했다.


http://ddecode.com/hexdecoder/


http://www.phpformatter.com/




<?
${"GLOBALS"}["gasyarknd"]   = "b";
${
"GLOBALS"}["rwliiiqfvfp"] = "i";
function 
h($a)
{
    ${
"GLOBALS"}["pxzweahruqok"]    = "b";
    ${${
"GLOBALS"}["pxzweahruqok"]} = "";
    ${
"GLOBALS"}["uxoiiikapcv"]     = "b";
    for (${${
"GLOBALS"}["rwliiiqfvfp"]} = 0; ${${"GLOBALS"}["rwliiiqfvfp"]} < 5; ${${"GLOBALS"}["rwliiiqfvfp"]}++) {
        
$ydzorvqk                  "a";
        
$gflrozo                   "b";
        ${
"GLOBALS"}["erpxzozdey"] = "i";
        ${
$gflrozo}                = ${${"GLOBALS"}["gasyarknd"]} + ord(substr(${$ydzorvqk}, ${${"GLOBALS"}["erpxzozdey"]}, 1));
    }
    return ${${
"GLOBALS"}["uxoiiikapcv"]};
}
$jbojdbertutk                   "KEY";
$vtefigaylx                     "mun";
${
"GLOBALS"}["hpceeyxto"]       = "a";
$ktjmdjm                        "a";
${
"GLOBALS"}["mimtemucybpc"]    = "mun";
${
$jbojdbertutk}                = "Congratulations!</br>Key is ?????????????????????";
${
"GLOBALS"}["gmfifbfl"]        = "a";
${${
"GLOBALS"}["mimtemucybpc"]} = @$_GET["key"];
${
"GLOBALS"}["wvdcxsdsqb"]      = "x";
@${
$ktjmdjm} = explode("-", ${$vtefigaylx});
$gfxqkfxurga "x";
$dlmordkk    "a";
for (${${
"GLOBALS"}["wvdcxsdsqb"]} = 0; ${${"GLOBALS"}["wvdcxsdsqb"]} < 5; ${$gfxqkfxurga}++) {
    if (
preg_match("/[^a-zA-Z0-9]/", @${${"GLOBALS"}["hpceeyxto"]}[${${"GLOBALS"}["wvdcxsdsqb"]}])) {
        exit(
"Error!");
    }
}
if (
is_numeric(substr(${${"GLOBALS"}["hpceeyxto"]}[0], 02)) && !is_numeric(substr(${${"GLOBALS"}["hpceeyxto"]}[0], 41)) && h(${${"GLOBALS"}["gmfifbfl"]}[0]) > 312 && h(${${"GLOBALS"}["hpceeyxto"]}[0]) < 333 && !is_numeric(substr(${$dlmordkk}[1], 01)) && is_numeric(substr(${${"GLOBALS"}["hpceeyxto"]}[1], 32))) {
    
$qcpkjlbgy               "a";
    ${
"GLOBALS"}["oqotjbvn"] = "a";
    ${
"GLOBALS"}["bbghzot"]  = "a";
    if (
h(${${"GLOBALS"}["bbghzot"]}[1]) > 300 && h(${$qcpkjlbgy}[1]) < 326 && !is_numeric(substr(${${"GLOBALS"}["hpceeyxto"]}[2], 01)) && is_numeric(substr(${${"GLOBALS"}["hpceeyxto"]}[2], 11)) && h(${${"GLOBALS"}["oqotjbvn"]}[2]) > 349 && h(${${"GLOBALS"}["hpceeyxto"]}[2]) < 407) {
        ${
"GLOBALS"}["wsjuxwxbzms"] = "a";
        ${
"GLOBALS"}["ofvmiatcdko"] = "a";
        
$oqhejquzit                 "a";
        if (!
is_numeric(substr(${${"GLOBALS"}["wsjuxwxbzms"]}[3], 02)) && is_numeric(substr(${$oqhejquzit}[3], 23)) && h(${${"GLOBALS"}["ofvmiatcdko"]}[3]) > 357 && h(${${"GLOBALS"}["hpceeyxto"]}[3]) < 359) {
            ${
"GLOBALS"}["erqqjpct"]    = "a";
            ${
"GLOBALS"}["okgondfidky"] = "a";
            if (
round((h(${${"GLOBALS"}["hpceeyxto"]}[0]) + h(${${"GLOBALS"}["okgondfidky"]}[1]) + h(${${"GLOBALS"}["hpceeyxto"]}[2]) + h(${${"GLOBALS"}["hpceeyxto"]}[3])) / 4) == h(${${"GLOBALS"}["erqqjpct"]}[4])) {
                
$oaqqkxn "KEY";
                exit(${
$oaqqkxn});
            }
        }
    }
}
echo 
"Wrong T.T";
?>



흠... 이렇게 해도 알아보기 쉬운편은 아니다.



한글 프로그램을 이용해 난독화된 변수명을 간단하게 바꾸었다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php < ?
function h($a)
    {
    $b = "";
    for ($i = 0$i < 5$i++)
        {
        $b = $b + ord(substr($a$i1));
        }
 
    return $b;
    }
 
${"KEY"= "Congratulations! Key is ?????????????????????";
$mun = @$_GET["key"];
@$a = explode("-"$mun);
 
for ($x = 0$x < 5$x++)
    {
    if (preg_match("/[^a-zA-Z0-9]/", @$a[$x]))
        {
        exit("Error!");
        }
    }
 
if (is_numeric(substr($a[0], 02)) && !is_numeric(substr($a[0], 41)) && h($a[0]) > 312 && h($a[0]) < 333 && !is_numeric(substr($a[1], 01)) && is_numeric(substr($a[1], 32)))
    {
    if (h($a[1]) > 300 && h($a[1]) < 326 && !is_numeric(substr($a[2], 01)) && is_numeric(substr($a[2], 11)) && h($a[2]) > 349 && h($a[2]) < 407)
        {
        if (!is_numeric(substr($a[3], 02)) && is_numeric(substr($a[3], 23)) && h($a[3]) > 357 && h($a[3]) < 359)
            {
            if (round((h($a[0]) + h($a[1]) + h($a[2]) + h($a[3])) / 4== h($a[4]))
                {
                exit(${"KEY"});
                }
            }
        }
    }
 
echo "Wrong T.T";
?>
 
cs



함수 h는 문자5개를 아스키값으로 변환해 전부 더해준다.




get 방식으로 key값을 받고 이 값을 $mun에 담는다. 그리고 이 값을 -를 기준으로 잘라서 $a배열에 담는다.


그 다음 반복문을 보니 $a배열에 5개의 값이 들어있고, 알파벳과 숫자로만 이루어진 문자열이어야 한다.


그 다음 조건들에 맞아야 key를 얻을 수 있다.


is_numeric(substr($a[0], 02)) &&
!is_numeric(substr($a[0], 41)) &&
h($a[0]) > 312 && h($a[0]) < 333 &&


a[0]

- 1번째 2번째에 숫자가 와야한다.

- 5번째는 숫자가 아니어야 한다.

- 아스키값의 총합이 312초과, 333미만


 


!is_numeric(substr($a[1], 01)) &&
is_numeric(substr($a[1], 32)) &&
h($a[1]) > 300 && h($a[1]) < 326 && 


a[1]

- 1번째에 숫자가 아니어야 한다.

- 4번째 5번째는 숫자가 와야한다.

- 아스키값의 총합이 300초과, 326미만




!is_numeric(substr($a[2], 01)) && is_numeric(substr($a[2], 11)) && h($a[2]) > 349 && h($a[2]) < 407 &&

a[2]

- 1번째에 숫자가 아니어야 한다.

- 2번째는 숫자가 와야한다.

- 아스키값의 총합이 349초과, 407미만




!is_numeric(substr($a[3], 02)) && is_numeric(substr($a[3], 23)) && h($a[3]) > 357 && h($a[3]) < 359 &&


a[3]

- 1번째에 숫자가 아니어야 한다.

- 3번째 4번째 5번째는 숫자가 와야한다.

- 아스키값의 총합이 357초과, 359미만




round((h($a[0]) + h($a[1]) + h($a[2]) + h($a[3])) / 4== h($a[4]))

각 원소의 아스키값의 합의 평균이 a[4]의 아스키값의 합과 같아야 한다.



11X1a-a3399-a1d88-aa668-aa011



authkey : what_the_fuckin_0bfuscati0n


반응형

'WAR GAME > XCZ.kr' 카테고리의 다른 글

XCZ.kr [prob 23] 풀이  (0) 2018.09.11
XCZ.kr [prob 22] 풀이  (0) 2018.09.11
XCZ.kr [prob 20] 풀이  (0) 2018.09.10
XCZ.kr [prob 19] 풀이  (0) 2018.09.10
XCZ.kr [prob 18] 풀이  (0) 2018.09.10
반응형

Title
Bonus Problem!

Description
 



보너스 문제! 





속성 - 자세히 에 key가 있다.


authkey : tagtagtagDETAIL

반응형

'WAR GAME > XCZ.kr' 카테고리의 다른 글

XCZ.kr [prob 22] 풀이  (0) 2018.09.11
XCZ.kr [prob 21] 풀이  (0) 2018.09.10
XCZ.kr [prob 19] 풀이  (0) 2018.09.10
XCZ.kr [prob 18] 풀이  (0) 2018.09.10
XCZ.kr [prob 17] 풀이  (0) 2018.09.10

+ Recent posts