본문 바로가기
728x90
반응형

dreamhack3

[Dreamhack] ROT128 #852 #!/usr/bin/env python3 hex_list = [(hex(i)[2:].zfill(2).upper()) for i in range(256)] with open('flag.png', 'rb') as f: plain_s = f.read() plain_list = [hex(i)[2:].zfill(2).upper() for i in plain_s] enc_list = list(range(len(plain_list))) for i in range(len(plain_list)): enc_list[i] = hex_list[(hex_list.index(plain_list[i]) + 128) % 256] enc_list = ''.join(enc_list) with open('encfile', 'w', enc.. 2024. 4. 3.
[DreamHack] addition-quiz #1114 랜덤한 2개의 숫자를 더한 결과가 입력 값과 일치하는지 확인하는 과정을 50번 반복하는 프로그램입니다. 모두 일치하면 flag 파일에 있는 플래그를 출력합니다. 알맞은 값을 입력하여 플래그를 획득하세요. 힌트로 pwntools를 줬다. 파이썬 모듈인데 확실히 파이썬은 신이다. 50번 덧셈을 1초 안에 해야하는데 이건 아인슈타인이 와도 못 할 것이다.. 무조건 프로그램을 만들어서 쓰라는 것 같다. int main(void) { int fd; char *flag; initialize(); srand(time(NULL)); flag = (char *)malloc(FLAG_SIZE); fd = open("./flag", O_RDONLY); read(fd, flag, FLAG_SIZE); close(fd); in.. 2024. 3. 30.
[DreamHack] Path Finder #702 처음으로 써보는 워게임 풀이이다. 시작한지 얼마 안 됐는데 시스템 해킹 너무 어렵다ㅜㅜ 이것저것 찾아보면서 하고 있긴 한데 이번 문제는 자료 찾아가면서 혼자서 풀어내서 그냥 기록용이나 공부용으로 풀이를 남겨보기로 했다. 물론 질문글들의 도움을 받긴 했다.. 아직 힌트 없이 혼자 뚫어내기에는 지식도 없고 쉽지 않다. int __fastcall main(int argc, const char **argv, const char **envp) { setresgid(0x3E9u, 0x3E9u, 0x3E9u); system("clear"); puts("Tada~!"); return 0; } 문제에서 준 chal 파일을 IDA에 돌려봤다. setresgid() 함수에 관한 정보를 좀 찾아봤는데 생각한 만큼 그리 많이 .. 2024. 3. 30.
728x90
반응형