이문제는 이렇게푸는게나을것같습니다(5초내로풀림)
280
작성한 질문수 1
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
#pragma warning(disable:4996)
#pragma section("flag_data", read)
__declspec(allocate("flag_data")) char table[45] = { 102, 124, 124, 107, 78, 117, 17, 87, 100, 69, 114, 2, 80, 106, 65, 80, 6, 66, 103, 91, 6, 125, 4, 66, 125, 99, 2, 112, 76, 110, 103, 1, 98, 91, 106, 6, 18, 106, 115, 91, 69, 5, 113, 0, 76 };
char flags[45];
void genFlag(int key1, int key2, int key3) {
for(int i = 0; i<45; i++) {
if (i % 3 == 0)
flags[i] = table[i] ^ key1;
else if (i % 3 == 1)
flags[i] = table[i] ^ key2;
else if (i % 3 == 2) {
flags[i] = table[i] ^ key3;
}
}
}
int main() {
int key1;
int key2;
for(int i = 0; i<255;i++)
{
for(int j = 0; j<255;j++)
{
key1 = i;
key2 = j;
key1 ^= key2 ^= key1 ^= key2;
int key3 = (key1-3) ^ (key2+3);
key3 += 10;
key3 &= 0xff;
genFlag(key1,key2,key3);
if(flags[0] == (int)'D' && flags[1] == (int)'I' && flags[2] == (int)'M')
{
printf("Flag : %s\n", flags);
}
}
}
getchar();
}
답변 2
0
ezthread.exe 파일의 내부 로직을 잘 구현하셨네요.
저 같은 경우는 복잡한 부분은 최대한 안 건드리려다보니 파일 입출력 등이 코드에 포함되어 시간이 많이 소요되지만
능력이 되신다면 하신 것 처럼 직접 구현하시는 방법이 효율적입니다.
질문입니다.
0
817
1
커리큘럼 질문드립니다.
0
779
2
AWS 방화벽, WAF 패킷 로그 확인 방법 문의
0
1318
1
MAC 에서는 그냥 mysql로 하면 될까요?
1
536
1
챌린지 02번 문제와 static 메소드 강의 질문 사항
0
421
1
컬럼명 기반으로 테이블 개수를 출력
2
502
1
질문이 있습니다
1
422
1
common.php수정
1
522
1
pin brute force 시 앱 종료
0
544
1
외부 자료 학습중 질문사항-메타데이터 추출 불가한 상황
1
479
1
클라우드포메이션 VPC 생성 부분 yaml 중복이네요
2
309
0
세션하이제킹에서 태그
1
473
1
플래그테이블 name속성??
0
263
1
주석
0
269
1
login.php
0
235
1
작은 따옴표
0
266
1
PoC_5shared.jpg.pht에서 cmd
0
214
1
여전히 오류가 납니다.
0
394
2
x -> *x 궁금한점
0
232
1
오류가 납니다.
0
284
1
python pwntools 설치했는데도 안되네요,,,
0
2913
2
PoC_ezheap.py 오류가 나네요 ,,,,
0
289
1
sql injection부분도 오류가 있는거같습니다. 안되네요
0
227
1
wirte.php파일이 없습니다.
0
242
1





