Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 스트림암호
- C언어 알고리즘
- 보안
- 딥러닝파이썬
- C알고리즘
- 소프트맥스함수
- C언어알고리즘
- 항등함수
- 파이썬신경망
- FTZlevel10
- 인공지능
- 신경망 학습
- 밑바닥부터시작하는딥러닝
- c언어
- 딥러닝
- BOF
- 파이썬
- 백준알고리즘
- 달고나bof
- 활성화함수파이썬
- 머신러닝
- 8086CPU레지스터
- BOJ
- 신경망
- 백준
- 신경망파이썬
- 정보보안
- 버퍼오버플로우
- 알고리즘
- 신경망구현
Archives
- Today
- Total
HeeJ's
[01] LENA reversing tutorial 본문
레나 튜토리얼 다운로드
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 내에서도 무엇이 이루어져 JUMP가 taken 되어야 할 것 같아,
아까와 동일하게 Z flag를 0으로 바꾸어주고 JMP를 해보았다.
일단은 성공 문자열이 담긴 Message Box를 실행시키는 것이 목표이기 때문에,
아래 부분의 문자열을 비교하는 부분을 전부 뛰어넘고, JMP문만을 건들여 성공 Message Box를 띄울 것이다.
우클릭의 New origin here 버튼을 이용해서 JMP 문부터 이어서 실행되도록 해준다.
성공 문자열이 담긴 창을 띄울 수 있다.
'<CTF> > <LENA tutorials>' 카테고리의 다른 글
[08] LENA reversing tutorial (0) | 2021.11.23 |
---|---|
[03] LENA reversing tutorial (0) | 2021.11.10 |
[02] LENA reversing tutorial (0) | 2021.11.07 |