일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 달고나bof
- 보안
- 신경망파이썬
- 신경망구현
- 항등함수
- 백준
- 스트림암호
- 8086CPU레지스터
- 신경망
- 인공지능
- BOJ
- C언어 알고리즘
- C알고리즘
- 머신러닝
- 딥러닝
- 소프트맥스함수
- 파이썬신경망
- FTZlevel10
- 딥러닝파이썬
- c언어
- 밑바닥부터시작하는딥러닝
- 파이썬
- C언어알고리즘
- 정보보안
- 신경망 학습
- 백준알고리즘
- 활성화함수파이썬
- BOF
- 버퍼오버플로우
- 알고리즘
- Today
- Total
목록<CTF>/<LENA tutorials> (4)
HeeJ's
문제 화면 아무 값이나 입력하고 실행파일을 설치한 후, 실행시켜주면 register가 등록되지 않았다는 문자열이 출력된다. 메인 화면에서 [?] - [Register]에 들어가면 키를 등록할 수 있으며, 설치 시 등록한 키 그대로 OK를 누르면 오류 문자열과 함께 팝업이 뜨게 된다. 올리디버거로 파일을 바로 열어보았다. 우선, UNREGISTERED! REGISTER NOW!라는 문자열을 없애 주려고 한다. 문자열 검색을 통해 위치로 이동해주었다. 바로 위에 분기문을 찾을 수 있었다. 실행을 시키며 FLAG를 보게되면 조건이 맞지 않기 때문에 분기가 진행되지 않는다. 조건을 따지지 않고 점프를 하기 위해 JNZ를 JMP로 고쳐준다. 실행 결과 그리고 아까 확인했던 register key를 register..
레나 3번 문제를 풀기 위해서는 nags를 제거하라는 문자열을 확인했다. nag를 제거하기 전에, PE 구조를 먼저 살펴본다. 레나 튜토리얼 3번 문제 RegisterMe.exe를 PEView를 이용해 열어주었다. PEView는 왼쪽에 PE 파일의 구조와 오른쪽에 파일들을 Byte로 표시한 것을 확인할 수 있다. 레지스터의 헤더 먼저 살펴보았다. 가장 위에는 윈도우 exe 파일의 헤더 시그니쳐인 MZ를 확인할 수 있다. MS-DOS Stub Program은 이 프로그램을 DOS 모드에서도 사용할 수 있는지 알려준다. 문자열을 보면 This program cannot be run in DOS mode 라고 적혀있다. 즉, 이 파일은 도스 모드에서 실행되지 않는다. 다시 IMAGE_DOS_HEADER에서 마..
2번 reverseMe.exe를 실행시켰는데, 바로 Congratz가 뜨기에 당황했지만, 잘 보면 폴더에 Keyfile이 존재한다. 이 파일을 만드는게 2번 문제의 목적이라고 한다. keyfile을 지워주고 다시 실행시켜보았다. 그러자 라이센스가 만료되었다고 새 라이센스를 구입하라는 창이 떴다. 올리디버거로 열어보았다. [F8]로 실행 시키다가 보니, CreateFileA라는 함수가 나왔다. CreateFileA 함수는 '파일 또는 I/O 장치를 만들거나 여는 것'을 수행한다. 여기서 "Keyfile.dat" 파일을 불러오는 것 같다. 계속하여 실행해주더니 Keyfile이 없어서인지 오류 메세지가 출력되고, 프로세스가 종료되었다. 그렇다면 Keyfile.dat를 생성하고, 이에 라이센스가 들어가 있다면 ..
레나 튜토리얼 다운로드 https://github.com/re4lfl0w/lena_reversing lena tutorial 01번 문제 Reverse Me.exe를 실행 시키면 위와 같은 창이 뜬다. Ollydbg로 열어준 후, 우선 프로그램의 흐름을 이해하기 위해 F8로 계속 실행시켜 보았다. 이 부분에서 Jump is NOT taken이라는 것을 보면, 위의 CALL 함수 내부에서 시리얼 값과 입력 값을 비교해 아래 CMP문을 통해 Jump로 구분된다는 것을 유추해볼 수 있다. 그 상태로 프로그램을 그냥 실행시켜 보았더니, 라이센스를 구매하라는 창과 함께 프로세스가 종료되었다. 다시 아까 그 JMP문으로 와서 Zflag를 0으로 바꾸어 JMP가 실행되도록 해주었다. 아래의 ReadFile 내에서도 ..