목록분류 전체보기 (289)
촉촉한초코칩
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/eODb5t/btrNoLuqutp/AdJdsDye8k4xWKdl3609Sk/img.png)
OllyDbg에서 All referenced text strings를 확인한 결과 시리얼을 찾을 수 있다. 그리고 OEP를 찾아야 하는데 몰라서 찾아봤다. OEP : Original Entry Point - 패킹된 파일의 실제 프로그램 시작 부분 언패킹을 하고 OllyDbg에 넣었을 때 처음 나오는 주소라고 한다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dF3oET/btrMUSIakWH/WR6niK49BaQxhy3ft45JQk/img.png)
구글에 검색해본 결과 알파벳 표를 보고 힌트를 찾을 수 있었다. 문제에서 I < 3이라고 되어 있어서 WPI안에 있는 문자들을 3칸 앞당겨서 다시 써보았다. WPI{hwwxeuxwxv} → WPI{ettubrutus} jpeg 파일을 다운받았는데 HxD로 열어보니 JFIF라고 나왔다. 스테가노그래피 인 것 같아서 해당 도구를 다운받았다. https://www.codetd.com/en/article/10917173 다운받은 다음에 이미지 파일을 열고 화살표를 눌러서 플래그가 보이는지 확인했다. 이미지의 alpha, blue, green, red, xor 등등 다양한 값을 조정한 형태를 보여준다고 한다. https://incoherency.co.uk/image-steganography/#unhide http..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/mIkPR/btrMVG1sDKD/wj6enXT5kgqhk0kCVay1oK/img.png)
1) twitter 트위터가 힌트인 것 같아서 해당 CTF 트위터 계정이 있는지 검색해보았다. 계정 소개에 flag가 있어서 쉽게 찾을 수 있었다. 2) Rage! 파일을 다운로드 했더니 .wav 확장자의 동영상 파일이 나왔다. 구글에 검색해본 결과 .wav 파일은 Audacity 프로그램을 통해 분석하는 것 같아서 다운로드 받고 문제 파일을 열어보았다. rage를 누르고 스펙트로그램을 누르면 이런 화면이 나오는데, 문자가 보이는 것 같으면서도 안 보여서 구분하는 게 어려웠다. 스펙트로그램 설정에 들어가서 주파수를 400-600으로 설정하고 노이즈를 제거해준다. (효과-노이즈 리덕션) 민감도를 낮춰서 설정하니 모스 부호가 더 잘 들렸다. 그런데 소리를 듣는 것보다 직접 쓰는 것이 더 편한 것 같다.. ...
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/LSzpm/btrMNUMJlAE/0kZFAxxeEuOAJ0AmPKYhC0/img.png)
PEiD에 넣어보니 패킹되어 있는 파일이라고 떠서 (UPX1) upx로 unpacking 해주었다. 004412BC 주소에서 팝업창이 실행돼서 이 부분에 breakpoint를 걸어주고 F7로 들어가보았다. 그런데 계속 반복실행되고 실행키같은 문구는 보이지 않았다. 다시 재실행해서 코드 윗부분을 보다가 시리얼넘버로 보이는 문구와 user이름으로 보이는 것을 찾을 수 있었다. search for -> All referenced text strings에 들어가면 text string을 한눈에 볼 수 있다.
문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 처음에는 calloc으로 배열 크기대로 메모리 공간을 만들고 이중 for문을 사용해서 오름차순으로 다시 배열에 넣은 다음 출력했는데, 메모리 초과/런타임 에러 등 틀렸다고 나왔다. #include #include int main(void) { int a; int *num; scanf("%d", &a); num = (int *)calloc(a, sizeof(int)); fo..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/xlMu6/btrMzQdut4O/Hy2VcHl3lg49dxAjVAf5Dk/img.png)
OllyDBG에서 압축해제한 파일을 넣으면 cmd창도 같이 뜬다. F8을 눌러서 하나씩 실행하다보면 cmd창에 디버깅 당함이라는 메세지가 뜨는데, 이 주소에 Breakpoint를 걸어서 다시 실행한 뒤 F7을 누르고 함수 안으로 들어간다. 함수 안에서 다시 F8을 눌러서 실행하다 보면 주석 처리한 것처럼 옆에 쓰여진게 있는데, 함수인 것 같아서 답으로 제출했다. IsDebuggerPresent()는 해당 프로세스가 디버깅을 당하고있는지의 여부를 PEB구조체의 디버깅 상태값을 확인한다. (디버깅 당할때 리턴 값 = 1, 아닐경우 리턴 값 = 0) 출처: https://zrungee.tistory.com/56 [zrungee library:티스토리] 저번 문제에서 알게 된 API 함수들이 모여있는 All I..