이번에는 PE Header 구조 두번째 글입니다. 혹시 바로 들어오신 분들은 아래 첫번째 글 부터 읽어보시는 것을 추천드리겠습니다. 2018/05/08 - [Analysis/Reversing] - PE Header 구조 정리글 첫번째 자, 그럼 바로 이어서 IMAGE_OPTIONAL_HEADER 부터 설명해 보겠습니다. 첫번째 글 2.3에 이어서 연속되어 설명하므로 2.4로 넘버링하겠습니다. 2.4 IMAGE_OPTIONAL_HEADER PE 구조체 중 가장 크기가 큰 구조체이며 많은 정보를 학습해야 하는 구조체입니다. 파일 실행에 필수적인 값을 가지는 것들이 많아 이 값들이 잘못 되어있다면 정상 실행 되지 않습니다. 1. Magic / Address of Entry Point 가장 처음 있는 Magic..
PE Header 1. PE 란? Portable Executable라는 의미를 가지는 PE는 애초에는 다른 운영체제에 이식성을 좋게 하려는 의도였으나 실제로는 운영체제 윈도우에서 사용되는 실행 파일, DLL, object 코드, FON 폰트 파일 등을 위한 파일 형식입니다. 윈도우 로더가 실행 가능한 코드를 관리하는데 필요한 정보를 캡슐화한 데이터 구조체라고 할 수 있습니다. PE 파일은 32bit 형태의 실행 파일을 의미하며 PE+ 또는 PE32+ 라고 부르는 64bit 형태의 실행 파일이 있습니다. 우리가 PE를 알아야 하는 가장 큰 이유로 윈도우의 PE 헤더에는 파일을 구성하는 다양한 정보가 있고 이를 통해 파일의 구조를 알 수 있다는 점이며 따라서 학습을 통해 구조에 대하여 이해하고 활용해보도록..
이제 실제 Lena 문제풀이를 통하여 분석 실습을 진행하기 전에 파일을 실행해보겠습니다. 그림과 같은 메시지박스가 출력 됩니다. 이제 Ollydbg를 실행시켜 파일을 분석하겠습니다. 캡쳐와 같이 따라오다 보면 CreateFileA라는 함수가 보입니다. 다음 함수는 파일을 열거나 만들 때 사용 하는 함수인데, 파라미터에서 보면 OPEN_EXISTING 모드로 진행되는 것을 확인 할 수 있습니다. 따라서 keyfile.dat의 존재 할 때 열어보는 것을 알 수 있게 됩니다. 그렇다면 keyfile.dat 파일을 생성해보겠습니다. 파일을 생성하였습니다. 파일을 생성 한 후 CMP구문까지 진행하면 Register정보 창에 EAX를 보면 달라진 값을 확인 할 수 있습니다. CMP EAX, -1 구문을 설명하면 C..
ollydbg 사용하면서 정리해놓았던 단축키 입니다. 사용할때 자주 사용하고 분석에 필요한 단축키 정리해 놓았습니다. 명령어 단축키 설명 Restart Ctrl + F2 처음부터 다시 디버깅 시작 Step Into F7 하나의 OP code 실행 (CALL 명령을 만나면, 그 함수 코드 내부로 들어간다) Step Over F8 하나의 OP code 실행 (CALL 명령을 만나면, 그 함수 코드 내부로 들어가지 않고 함수 자체를 실행) Execute till Return Ctrl + F9 함수 코드 내에서 RETN 명령어까지 실행 (함수 탈출 목적) Go to Ctrl + G 원하는 주소를 찾아간다 Run F9 실행 (BP가 걸려있으면 그곳에서 실행이 정지) Execute till cursor F4 Cur..
이전의 네이버 블로그에서 썻던 글입니다. 캡쳐 화면이 어디있는지 알 수가 없네요 그래서 사진을 전부 가져왔습니다. 혹시나 사진이 깨진다면 이쪽 링크를 타고 가셔서 자세히 확인 가능하십니다. https://blog.naver.com/o0iwishu0o/220980159636 악성코드 분석, 리버싱에 관하여 공부를 하게 되면서 처음 보게 되는 실행파일이자 각종 언어에서 가장 처음 소스코드를 작업해보는 Helloworld.exe로 디버깅을 실습해볼텐데요 우선 기본적인 무료툴인 ollydbg에 대하여 설명드릴께요 ollydbg기본 화면 위 사진과 같이 왼쪽 상단이 Code Window창인데요 이곳에서 디셈블리 코드를 표시하여 각종 comment, label을 보여주며 코드를 분석하여 loop,jump 위치 등의..
1 정적 분석이란? 악성코드 분석 시 가장 먼저 진행되는 부분으로 악성코드 연구의 시작 단계라고 할 수 있다. 프로그램의 기능을 파악하고 코드나 프로그램의 구조를 분석하는 단계로 악성코드를 실제로 실행해보지 않고 분석하는 방법이다. 대부분의 경우 원시 코드의 형태를 가지고 분석을 수행하지만 목적 코드의 형태를 가지고 분석하는 경우도 있다. 예를 들어 악성 여부를 판단하는 안티 바이러스 도구를 사용하거나 판별 해시를 사용하는 방법, 파일의 문자열, 함수, 헤더에서 개략적인 분석을 진행하는 것을 의미한다. 또한 기초 정적 분석과 고급 정적 분석으로 나뉘어 볼 수 있는데 이에 따라 파일이 가진 특성을 파악하여 ‘어떤 식으로 동작할 것이다’라는 유추를 하고 패킹 여부를 확인하는 것이라면, IDA라는 툴을 사용,..
- Total
- Today
- Yesterday
- printf
- linux ping
- 기초
- 핑
- C언어
- 조커 해석
- ping option
- 악성코드
- VMware
- 영화 해석
- 영화 조커
- reversing
- AirCrack
- pingoption
- ping
- 정보처리기사
- PE
- Network Ping
- PE header 구조
- PE 구조체
- peview
- 정보처리기사실기
- ping 옵션
- OllyDbg
- pe header
- PE 구조
- 리버싱
- 올리디비지
- aircrack-ng
- 정보보안기사
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |