티스토리 뷰

볼라틸리티(Volatility)를 설치해서 정상적으로 사용하려면 다음 3가지가 선행되어야 합니다.

1. 리눅스 프로파일 생성을 위한 유틸 설치

2. 커널 헤더 패키지 설치

3. 개발에 필요한 기본 라이브러리와 헤더파일 등을 가지고 있는 패키지 설치


해당 내용에 대해서 자세히 알아보겠습니다.

[리눅스 프로파일 생성을 위한 유틸]

볼라틸리티(Volatility)를 설치하면 생각보다 기본 프로파일(Profile) 이 적습니다. 때문에 Profile 을 만드는 작업이 필요하며 profile 을 만드는 유틸을 설치해야합니다.

◎ Libdwarf And Dwarfdump 

원래는 DWARF 2/3/4 Debug 포맷을 가지는 것에서 디버깅 정보를 뽑아내는 유틸인데 여기에서는 리눅스 프로파일 생성에 사용됩니다.


◎ libdwarf 란 무엇입니까?

Libdwarf 는 DWARF2, DWARF3, DWARF4 을 사용하여 응용 프로그램의 읽기(쓰기)를 단순화하기위한 C 라이브러리입니다. SGI 의 컴파일러 작성자 및 디버거 작성자의 업무를 단순화하기 위해 1991년 초 SGI (Silicon Graphics, Inc.)에서 작성되었으며 1990년대 중반에 오픈 소스로 제작되었습니다. SGPL 은 LGPL 버전 2.1에 저작권이 있습니다. ELF 오브젝트 파일에서 DWARF2/3/4 정보를 읽는 용도로 다양한 프로젝트에서 사용됩니다. 또한 컴파일러에서 생성 된 DWARF 정보를 작성할 수 있습니다 (최소한 2개의 시스템 제조업체에서 사용하는 기능). 원래의 AT & T DWARF1 (현재는 그대로) 형식은 DWARF2/3/4 와 완전히 다른 방식으로 구현되어 읽을 수 없습니다.


◎ dwarfdump 란 무엇입니까?

Dwarfdump 는 DWARF 정보를 사람이 읽을 수 있는 형식으로 인쇄하기 위해 libdwarf 를 사용하는 응용 프로그램입니다. 또한 오픈 소스이며 SGI 가 저작권을 보유한 GPL 입니다. libdwarf 를 사용하여 DWARF2/3/4 정보를 읽거나 읽을 수있는 텍스트 출력을 제공하는 예제를 제공합니다.


◎ DWARF 란 무엇입니까?

널리 사용되는 표준화된 디버깅 자료 형식입니다. DWARF 는 원래 ELF 파일 형식을 위해 만들어 졌지만, 이것은 목적 파일과 독립적입니다. 이름은 중세 판타지인 "ELF" 같은 것으로서 공식적인 뜻은 없지만 이후에 배크로님(backronym-이미 존재하는 단어에 맞추기 위해 만들어진 약어)인 'Debugging With Attributed Record Formats' 이 제안되었습니다.

DWARF 의 첫 버전은 지나친 저장 공간을 사용하였지만 호환 불가능한 다음 버전인 DWARF-2 는 자료 크기를 줄이기 위해 다양한 인코딩 기법들을 추가하였습니다. DWARF 는 즉시 범용적으로 받아들여지지 않았습니다. 예를 들면 썬 마이크로시스템즈나 리눅스에서 DWARF-2는 1990년대 후반까지도 일반적으로 채택되지 않았습니다.


자유 표준 그룹(Free Standards Group)의 DWARF 워크그룹은 2006년 1월에 DWARF 버전 3을 릴리즈하였습니다. 이것은 C++ 이름공간과 추가적인 컴파일러 최적화 기법들의 지원을 추가하였습니다. DWARF 위원회는 2010년 버전 4를 공개하였으며 개선된 데이터 압축, 최적화된 코드에 대한 더 나은 명세 그리고 C++ 언어의 새로운 특징들을 지원합니다. 


[커널 헤더 패키지]

debian 계열에서는 linux-headers 커널 헤더 패키지를 설치해야하고

redhat 계열에서는 kernel-headers 커널 헤더 패키지를 설치해야합니다.


[개발에 필요한 기본 라이브러리와 헤더파일 등을 가지고 있는 패키지]

debian 계열에서는 build-essential 패키지를 설치해야하고

redhat 계열에서는 elfutils-libelf-devel 패키지를 설치해야합니다.

댓글
공지사항