2013-06-16 4 views
1

입력으로 제공된 변수에 대한 정보를 추출 할 수있는 libdwarf 라이브러리를 사용하여 Windows에서 C로 프로그램을 만들고 싶습니다. 프로그램은 변수의 바이트 수와 유형 (unsigned, signed, float)을 출력해야합니다.Libdwarf - ELF 파일에서 변수의 크기와 유형을 추출하는 방법

지금까지 Windows에서 라이브러리를 컴파일 할 수 있었지만 모든 라이브러리 기능을 파악하는 데 어려움을 겪고 있습니다. 필요한 것은 문자열 (변수의 이름)을 가져 와서 DIE 오프셋을 출력하는 함수입니다. 그런 다음 다른 함수를 사용하여 주어진 DIE 오프셋에서 type 특성을 추출 할 수 있습니다.

이러한 기능이 있습니까?

답변

0

Windows는 실행 파일에 ELF가 아닌 PE 형식을 사용하므로 Windows에서이 작업을 수행하는 것이 이상하게 보입니다.

libdwarf를 사용하면 변수의 크기와 유형을 파악할 수 있어야하지만 라이브러리에서 상위 수준에서 작동하는 기능이 없습니다. 나는 당신이해야 할 것은 dwarf_next_cu_header 2와 컴파일 단위에 걸쳐 약 1으로 반복이라고 생각 당신이에 대한 정보를 얻기 4. 필요한 DIE를 찾기 위해 DIE 트리 dwarf_siblingof 3. 워크와 CU에서 처음으로 DIE를 가져옵니다 DIE