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
                            
                        
                          
                          - Webhaking
- 알고리즘
- network
- 리버싱
- TCP
- XSS
- 소프트웨어
- reversing
- 시스템해킹
- 드림핵
- 네트워크보안
- webhacking
- 모의해킹
- 웹
- hacking
- 소프트웨어보안
- 네트워크
- 시스템
- 해킹
- ftz
- 순서도
- Web
- 워게임
- System
- CodeEngn
- WarGame
- bee-box
- 웹해킹
- 비박스
- dreamhack
                            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 | 
 
           
                   
                   
                  