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
- 리버싱
- bee-box
- 시스템해킹
- 모의해킹
- 워게임
- reversing
- ftz
- hacking
- System
- 시스템
- TCP
- 드림핵
- 네트워크보안
- Webhaking
- dreamhack
- 네트워크
- 알고리즘
- webhacking
- 비박스
- 웹해킹
- CodeEngn
- network
- WarGame
- 소프트웨어
- Web
- 웹
- 해킹
- 소프트웨어보안
- 순서도
- XSS
Archives
- Today
- Total
Without a Break
문자열 패치, Little Endian 실습 본문
문자열 패치 실습
HelloWorld.cpp를 작성해주고, 디버거에서 실행 파일을 열어준다.
먼저, 메인 함수로 들어간다.
www.reversecore.com --> www.swu.com 로 수정해야하기 때문에, Title 위치에서 더블클릭하면 해당 hex dump 위치를 알 수 있다.
Hex dump에서 빈 공간에 www.swu.com를 입력해준다.
문자열은 004030B8부터 입력됐다.
Title의 주소를 해당 위치로 변경해주고 assemble을 누르면
www.swu.com으로 제대로 바뀐 것을 확인할 수 있다.
변경 후 코드를 종료까지 실행하면 위 사진과 같이 www.swu.com으로 잘 변경된 것을 확인할 수있다.
Little Endian 실습
실행 파일을 디버거로 열어 F8로 실행하다보면 위 사진과 같이 arg3, arg2, arg1이 주석으로 달린 것이 보인다.
메인함수로 들어가는 포인트임이 예상되므로, breakpoint를 걸어놓고 계속 f8로 실행해보니 종료 함수로 점프된다.
즉, breakpoint를 걸어놓은 지점이 메인 함수로 이동하는 부분임을 알 수 있다.
메인함수로 이동하면 abcde를 출력하는 부분이 있다. F8로 해당 부분을 실행하면
위와 같이 abcde가 들어간 것이 보인다.
Hex dump를 살펴보면, 12345678(abcd)을 먼저 넣고 12를 나중에 넣은 것을 볼 수 있다.
이 때, 리틀엔디안이기 때문에 78 56 34 12로 거꾸로 저장된다.
'Reversing > 윈도우즈보안과악성코드기초' 카테고리의 다른 글
기초 정적 분석 - Lab01-01.exe, Lab01-01.dll (1) | 2024.04.12 |
---|---|
PE 파일헤더와 섹션 (1) | 2024.04.06 |
기초 정적 분석 (1) | 2024.04.06 |
PE 파일 구조 (1) | 2024.03.29 |
리틀 엔디안 표기법, Register 이해, assembly 언어 (0) | 2024.03.23 |