목록전체 글 (99)
간디의 세상

Lab 1-1Lab01-01.exeLab01-01.dll Questions1. Upload the files to http://www.VirusTotal.com/ and view the reports. Does either file match any existing antivirus signatures?두 파일 모두 VirusTotal에서 걸린다. 2. When were these files compiled?VirusTotal에서 확인해보면 Lab01-01.exe와 Lab01-01.dll 두 파일 모두 2010년 12월 19일 16시 16분에 컴파일되었다.PEview에서도 확인할 수 있다. HxD에서도 PE 헤더 부분을 확인할 수 있는데 각각 16진수로 변환하면 0x4D0E2FD3, 0x4D0E2F..

동아리에서 CTF 관심 있는 사람들은 팀 조인하라고 선배 한 명께서 톡방에 올리셔서 바로 이메일 등록했다. 동아리 들어와서 가장 해보고 싶었던 팀 꾸리고 CTF를 해볼 수 있게 되었다. 4월 6일부터 10일까지 꽤 오래 진행되었다. 그래서 그런지 문제도 계속해서 업데이트되서 엄청엄청 많았다. 난이도는 별로 어렵지 않다고 해서 안심했는데 역시나 초짜인 나에게는 어려웠다.. CTF가 시작하는 자정까지 대기타다가 정각에 새로고침을 했는데 아무 문제도 안 올라와있었다. 서버 오류인지 20분 정도 연기될거라고 디스코드에 공지가 올라왔다. 위에 디코 사진들은 채팅으로 드립 좀 쳤더니 누가 찐따 아니랄까봐 관심 받아서 신나서 캡쳐했다ㅎㅎ 아무튼 가징 쉬워 보이는 걸로 3문제 정도 풀었는데 복기를 좀 해보자 web/d..

[동아리] 팀프로젝트 과제 #1[어셈블리어 (Assembly Language)]1. 기계어와 어셈블리어CPU는 어떠한 프로세서에 명령을 내리기 위해서 고유의 명령어 세트들을 가지고 있다.이 명령어 세트를 기계어라고 하는데 숫자들의 규칙 조합이기 때문에 이대로 그냥 사용하기에는 어려움이 많다.때문에 이를 쉬운 기호 코드로 나타낸 것이 어셈블리어이다. 어셈블리어는 저급 언어에 속하는 기계어보다 위의 단계의 프로그래밍 언어이다.통일되어 있는 규격이 없어 컴퓨터 구조와 어셈블러에 따라 문법이나 표현 등이 다르다.본 글은 Intel 문법과 64비트 운영 체제를 기준으로 설명한다. 어셈블리어는 기계어와 일대일대응이기 때문에 어셈블리어를 공부하면 컴퓨터 시스템과 메모리 구조 등에 대해서 더 깊게 이해할 수 있다.반대..

#!/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..

랜덤한 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..