전체 글 65

C++ 테트리스 게임 제작

때는 2022.12.29일 목요일 바킹독 선생님의 실전 알고리즘 강의 영상을 보던 중 C++ 공부 중인 해온이의 대결 신청 나도 C++ 익힐 겸 하기로 했다. 오랜만에 하루종일 앉아서 코드만 짠 것 같다. 이런 기분을 중학생 때 게임 만들 때 느꼈었는데, 고등학교 와서는 못 느꼈다. 노래 반복재생 - 코드짜기 - 버그 발생 - 노래 멈추고 디버깅 - 다시 노래 재생 시간은 대략 29일 하루종일 + 30일 반나절 정도 걸렸다. 클래스는 다음과 같이 나눴다 Tetromino / Tetris / TetrisUI / Display TetrisUI와 Display는 static method로 구성되어있고, TetrisUI는 미노 정보만 받아서 Display 내 함수를 호출하는 역할, Display 는 테트리스와 ..

Programming 2022.12.31

2022 Layer7 CTF Writeup

포너블 Secom 과 Mic Check 못 풀어서 전체 3등 고등부 2등으로 마무리 중 3 때부터 매년 레쎄 씨텦에서 상품 얻어간다. 중3 ssd 고1 게이밍 마우스 고2 왼쪽의 헤드셋 고3은 키보드를 얻게됐다. Layer7 짱! 1. tea-time (Reversing 6 solves) 역산 짜면 된다. def decrypt(): res = [0] * 40 cipher = [3250307192, 247655037, 3305444027, 3548992586, 2003171038, 1264307023, 3163410791, 1311205716, 3018127296, 2958048297] for i in range(5): v7 = cipher[9 - 2*i] v8 = cipher[8 - 2*i] for j ..

CTF Writeup 2022.12.19

2022 WhiteHatContest Junior Final Writeup

본선 날짜와 인하대 면접 날짜가 겹쳐서 1인팀하게 된 대회다. 예선은 5위로 본선 진출하였고 본선에서는 6위로 마무리 했다. 요즘들어 포너블을 자꾸 안 잡게 되는 경향이 있는 것 같아 마음가짐을 새로 해야할 것 같다. 내가 해킹 입문할 때 라이트업 보고 공부를 많이 했었는데 (물론 지금도 그렇지만), 볼 때 이 사람이 어떤 사고과정을 거쳐서 문제를 풀어나가는지가 녹아있으면 이해가 잘 됐었던 것 같다. 그래서 시간 들여서 자세하게 써보기로 했다. 1. messenger - Reversing 위 시계 이모지들을 복호화하면 플래그가 나올 것 같다. main 함수가 초라하다. main에 없으면 INIT이나 FINI 를 의심해볼만 하다. INIT 함수들이 쭉 있다. INIT 1 부터 16까지는 *DAT_1040b..

CTF Writeup 2022.11.20

2022 Codegate Junior Final

2022년 2월에 예선을 9위로 본선에 오게 되었고 10위로 마무리 짓게 되었다. 장소는 서울 코엑스. 7700으로 집 바로 앞에서 가양역 종점까지 간 후 9호선 타고 봉은사역까지 가면 된다. 네이버 지도상으로 1시간 30분정도 걸린다하길래 10시 대회 시작에 맞춰 8시에 집에서 나왔다. 하지만 버스가 서울에 진입하는 순간 차가 꽉꽉 막히고 9호선 급행이 아닌 일반 열차를 탑승해서 봉은사역까지 한참 걸려 9시 50분에 봉은사역에서 내렸다. 다행히 봉은사역 7번 출구로 나오면 코엑스가 바로 앞이라 바로 들어갔는데, 코엑스가 넓어서 어디로 가야할지 잘 몰랐다. 그렇게 10시 5분에 대회장 도착하고 허겁지겁 노트북을 꺼내서 접속하려는데 와이파이 비번이 안 맞는 이슈가 생겼지만 스탭 분이 와이파이 에그를 주셔서..

CTF Writeup 2022.11.08

2022 WACon CTF - babystack 2022 etc

올해 처음 열린 대회라 기대했고 본선도 가보면 좋겠다 싶었는데 아쉽게 못 갔다.. ㅎㅎ Pwn - babystack2022 이 문제를 오랫동안 봤고 Web 문제들은 Kunclen LFI까지 성공한 후 풀지 못하였다. 대회 시간은 위와같이 토요일 오전 9시부터 일요일 오후 9시까지 진행되었다. 원래 토요일날 고급물리학 수행보러 가기로했었는데 쌤이 기말끝나고로 미뤄주셨다. 먼저 babystack2022은 입력부터 지금까지 풀어온 문제들과 달랐다. #!/bin/bash -e CONN_ENV="$(mktemp -d -t challenv-XXXXXXXXXX)" FILE_NAME="exploit.md2" cd `dirname "$0"` trap 'rm -rf -- "$CONN_ENV"' EXIT echo "Give..

CTF Writeup 2022.06.26

Codegate 2022 Junior 예선 WriteUp

인생 첫 코게이자 마지막 학생부 코게 예선 결과는 9위 토요일 19시부터 일요일 19시까지 24시간인데, 토욜날 문제 분석하다가 냅다 자버렸다. 일욜 느긋하게 문제 맛이나 볼까 하다 생각보다 문제가 풀리니까 중후반부터는 열심히 했던 것 같다. 포너블 2문제 난이도가 그렇게 어렵지 않았는데 다른사람들 풀때 못풀었다. consukey 풀고 malware 천점짜리 문제 도전하다 못풀었다. 훼이크에 제대로 걸려서 2시간이 날라가고 나머지 한시간 정적분석하다 끝내 못했다. 생각 외로 내가 성장한건지 문제 난이도가 전체적으로 나쁘지 않았던 것 같다. 보통 이런 큰 대회면 손 못대는 문제가 꽤 많았는데, 이정도면 나쁘지 않다 생각한다. 본선에 가서 10위 안에 드는 걸 목표로 해봐야겠다. 1. maldoc 문서파일을..

CTF Writeup 2022.02.27

2021 Layer7 CTF 후기 / Writeup

선린인터넷고 Layer7에서 11/20 오전 9시부터 밤 12시까지 대회를 진행하였다. 작년엔 고등부 3위를 했었는데, 올해는 2위를 하게 되었다. 아침 9시에 학교에서 모임이 있어서 학교에서 웹 하나 풀고 1시에 집가서 대회를 진행하였다. 수상만 하자라는 생각이었는데 생각보다 오랜 시간 1등을 차지해서 괜히 욕심났지만 결ㄹ국 11시 반쯤 2위가 되었따. 요약하면 Easy_Rev (Rev) 문제랑 PocketMon (Pwn) 문제가 솔버가 많았는데 못 풀어서 1등을 못 했다. 그 대신 2솔버 문제 Time is Ticking... 을 풀었는데, 이 문제가 가장 재밌었던 것 같다. 작년에는 포너블 리버싱 VM문제를 재밌게 풀었는데, 올해는 리버싱 문제를 재밌게 풀었다. 또 웹 문제들도 재밌게 풀었다. 1...

CTF Writeup 2021.11.25