본문 바로가기
Reversing/CTF

[HackCTF] Reversing Me

by L3m0n S0ju 2021. 9. 10.

 

 

#include <stdio.h>

#include <string.h>

int main()

{

    int i;

    char *serial = "H`cjCUFzhdy^stcbers^D1_x0t_jn1w^r2vdrre^3o9hndes1o9>}";

    char enter[54];

    printf("키를 입력하시게 : ");

    scanf("%s", enter);

    if (strlen(enter) == strlen(serial))

    {

        for (i = 0; i < strlen(serial) && (enter[i] ^ (i % 2)) == serial[i]; i++);

        if (i - 1 == strlen(enter)) printf("정답일세!\n");

    }

    else

        printf("그건 아닐세...\n");

        exit(0);

}

 

 

 

 


문제 코드는 위와 같다. 플래그를 획득하기 위한 조건은 for문에서 루프를 도는동안 if문 조건을 만족시키면 플래그를 획득할 수 있다. 아래 코드를 실행하면 플래그를 획득할 수 있다.

 

serial = "H`cjCUFzhdy^stcbers^D1_x0t_jn1w^r2vdrre^3o9hndes1o9>}"
for i in range(len(serial)):
    temp = ord(serial[i])^(i % 2)
    print(chr(temp),end='')

 

 

 

 

 


플래그

'Reversing > CTF' 카테고리의 다른 글

[HackCTF] Keygen  (0) 2021.10.09
[HackCTF] Strncmp  (0) 2021.09.12
[HackCTF] Handray  (0) 2021.09.11
[HackCTF] Welcome_REV  (0) 2021.09.10
[DIMI CTF] gorev  (0) 2021.08.06

댓글