이제 실제 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라는 툴을 사용,..
VM ware에서 가상머신 만들기 입니다. 사용하고 있는 운영체제가 아니라 가상 머신을 통하여 다른 운영체제, 같은 운영체제를 사용하기 위해 쓰고 있는 프로그램 중 하나인 VM ware에서 운영체제를 설치하기 전에 가장 먼저 해야할 가상 머신 설치를 설명하도록 하겠습니다. 우선 VM ware에서 파일을 선택한 후 'New Virtual Machine'을 선택합니다. 다음과 같은 팝업이 뜨게 될텐데요 이제 쭉 따라서 설치하시면 되겠습니다. 저희는 예제로 ubuntu용 가상 머신을 만들어 보도록 하겠습니다. custom을 선택하여 만들도록 하겠습니다. 'next'를 선택합니다. 다음은 Workstation 버전을 선택하는 창인데요 최신 버전을 선택한 후 Next를 누릅니다. 다음은 게스트 운영체제 설치인데요..
안녕하세요~ 오늘은 가상 머신에 ubuntu 16.04를 설치하는 과정을 설명드리려고 합니다. 한글로 설치를 진행 할 수 있기 때문에 큰 어려움이 있는 것은 아니지만 ubuntu부터 시작해서 kali, centos 설치 방법을 포스팅하고 virtual box에서 설치하는 방법도 올리려고 합니다. 지금은 아니지만 vagrant도 준비중입니다. 가상 머신 설치 부터 보시려면 아래글에서 설치하시면 됩니다. 2018/04/30 - [Utility] - VMware 가상 머신 만들기 자 그럼 이제 가장 처음 부터 시작해볼까요 ? Ubuntu 설치 화면입니다. 한국어 지원이 되기 때문에 바로 한국어로 선택하시고 진행하시면 됩니다. 여기서 설치로 바로 가시면 이후에 디스크 설정하는 곳에서 화면 크기가 맞지 않아 잘리..
이번에는 printf를 다양하게 사용해보면서 어떤 형식으로 출력이 가능한지 알아보도록 하겠습니다. printf는 사실 많은 기능을 담고 있으며 이러한 것을 알기 때문에 C를 배우기 시작할때 중요하게 다뤄지는 부분 중에 하나입니다. 우선 그렇다면 printf를 다양하게 사용하며 알아 두기 위해 먼저 예제를 한번 볼까요? 예제#include /*C언어 print 다양하게 사용하기 주석 항상 습관화 해두세요~!*/ int main(void) { //제어문자 사용하기 printf("줄 바꾸기\n"); printf("탭\t넣어주기\n"); printf("a를 b로 바꾸기 a -> a\bb"); printf("\n"); //가독성을 위해 줄바꿈 하겠습니다. printf("c입니다. c를 d로 바꾸기\rd \n");..
이번에는 주석에 관해서 설명 드릴려고 합니다. 주석이란 코드를 작성하여 프로그램을 만들 때 컴파일되지 않는 부분으로 보통 코드를 이해하기 위해서, 설명하기 위해서 작성됩니다. 왜? 왜 사용 해야하나? 코드를 작성하다보면 이 함수의 기능이나 함수를 사용한 이유 등등 단시간에 쭉 작성하여 만드는 것이 아닌 긴시간에 걸쳐 작성하고 혼자만의 작업이 아니라 협력하여 작업하게 되는 경우가 많습니다. 코드를 분석하고 이해해야 하는데 이럴 경우에 주석이 없다면 많은 시간을 투자하거나 분석을 잘못할 수 있는 경우도 발생할 수 있습니다. 따라서 주석은 필수적으로 작성하도록 습관화 하는 것이 좋습니다. 그렇다면 주석을 다는 방법에 대해서도 말씀드리겠습니다. 방법은 두가지가 존재합니다. 예제를 들어가며 설명하겠습니다. 예제#..
오늘은 C언어에 관련된 글을 쓰려고 합니다. C의 첫 글은 아무래도 기본 구성 부터 시작해야 하지 않을까 했습니다. 간단한 예제를 보여드리겠습니다. #include int main(void) { printf ("Hello world! \n"); return 0; } 우리가 어떤 언어를 배우던 가장 처음 접하 Hello world! 출력 문구 입니다. 가장 첫줄부터 설명하겠습니다. 헤더파일 선언#include 이 구문은 헤더파일 선언으로 printf와 같은 표준함수 출력을 위해 선언하는 구문입니다. 쉽게 설명하자면 stdio.h라는 헤더 파일에는 printf 함수가 호출되는데 필요한 정보를 가지고 있습니다. 따라서 printf함수를 사용하기 위해서는 정보를 가지고 있는 stdio.h를 선언하여야 합니다. ..
이번에는 Linux 에서 ping option 사용법 2번째 글을 쓰게 되었습니다. 현재 계획은 30개 가량의 옵션을 3번에 걸쳐 작성하려고 합니다. 아무래도 한번에 전부 다 쓰는 것은 무리가 되더군요 자 그럼 바로 1번째 다음 옵션 부터 설명하도록 하겠습니다. -l (preload) 옵션 (소문자 L) preload에 지정하는 값 만큼 응답을 기다리지 않고 바로 보내는 옵션입니다. 일단 캡처 먼저 보시죠 캡처는 작동이 시작하자마자 바로 종료한 것입니다. 맨 마지막에 pipe 10이 보이시나요? 10개를 한꺼번에 보냈다고 생각하시면 될 것 같습니다. 예를 들자면 preload 값에 3을 지정하게 되면 3개의 요청을 바로 보내고 10을 지정하게 되면 10개를 응답을 기다리지 않고 10개를 바로 보냅니다. ..
- Total
- Today
- Yesterday
- VMware
- printf
- linux ping
- PE
- PE header 구조
- 영화 조커
- PE 구조
- PE 구조체
- Network Ping
- 핑
- 조커 해석
- 정보보안기사
- pingoption
- pe header
- 정보처리기사
- 정보처리기사실기
- 리버싱
- aircrack-ng
- 영화 해석
- ping 옵션
- 악성코드
- reversing
- OllyDbg
- AirCrack
- ping option
- 기초
- 올리디비지
- peview
- ping
- C언어
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |