2019. 9. 1. 19:02
728x90
다른 곳 볼필요 없다.
여기 두번쨰 while문이 돌아가는 것만 보면 된다.
uStack을 i로 바꿔보면
data[i*4] ^ i ^ input[i] ==comp[i*4] 여야 한다.
이걸 역연산 하면
input[i] = data[i*4] ^ i ^ com[i*4] 가 된다.
코드는
#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
int main()
{
char data[25] = { 0x72,0x9,0x4,0x10,0x49,0x19,0x3a,0x1C,0x34,0x3b,0x26,0x2a,0x15,0x30,0x52,0x1b,0x0d,0x0c,0x12,0x38,0x49,0x4,0x2,0x69,0x4b };
char comp[25] = { 0x43,0x6f,0x6e,0x67,0x72,0x61,0x74,0x7a,0x5f,0x59,0x6f,0x75,0x5f,0x46,0x6f,0x75,0x6e,0x64,0x5f,0x46,0x6c,0x61,0x67,0x21,0x21 };
char result[25] = { 0, };
for (int i = 0; i < 25; i++)
{
printf("%c", data[i] ^ comp[i]^i);
}
}
이렇게 실행하면 약간 섞여서 나오는데
7번쨰 부터 flag를 입력하면 된다.
반응형
'ctf 및 여러가지 문제들 > HackCTF' 카테고리의 다른 글
HackCTF - 마법봉 (0) | 2019.09.03 |
---|---|
HackCTF - Login (0) | 2019.09.02 |
HackCTF - Basic_FSB (0) | 2019.08.31 |
HackCTF - Poet (0) | 2019.08.31 |
HackCTF - g++ pwn (0) | 2019.08.30 |