이 특정 프로그램/도구를 설치하기 위해 make 명령을 어떻게 컴파일하고 사용합니까?

이 특정 프로그램/도구를 설치하기 위해 make 명령을 어떻게 컴파일하고 사용합니까?

소개하다

나는 이 책을 읽고 있다"리눅스 바이너리 분석 배우기". 책에서는 32비트 코드 예제를 사용합니다. 책에서는 내가에레시또는 자신의 도구라고퀘냐RET_REL 주입(재배치 가능한 코드 주입)에 사용됩니다.

이 책을 읽기 위해 Eresi에 대한 튜토리얼이 없기 때문에 나는 그의 도구를 다운로드하기로 결정했습니다. 파일 링크는 다음과 같습니다.Quenya_32bit.tgz

원천

This README file is very limited since Quenya was never meant to be  released.
Although Quenya is very functional, it is mostly available for research purposes
into the ELF format, and what it means to hack ELF binaries, and process images.
To compile:

cd libptrace;
./configure; make

cd libdasm-1.5; make

Then in top directory of quenya type make.

./quenya

Once at command prompt type help

elfmaster [at] bitlackeys [dot] org

디렉터리에 압축을 풀면 도구를 사용하기 위해 도구를 설치하고 구성하는 방법을 설명하는 "README" 파일이 있습니다. 지침에 표시된 디렉토리에 액세스하려면 해당 디렉토리에 액세스할 수 있도록 chmod를 사용해야 했습니다.

질문

최상위 디렉토리에서 실행 파일 ./quenya를 가져올 수 없는 것 같습니다. libptrace 및 libdasm-1.5에서 "make"를 실행하면 wimplicit 함수 선언이 표시됩니다. 마찬가지로 최상위 디렉토리에서 make를 입력하여 마지막 명령을 실행하면 다음과 같은 치명적인 오류가 발생합니다.

치명적인 오류:curses.h:해당 파일이나 디렉터리가 없습니다.

다른 사람이 시도해 보고 자신의 시스템에서 작동하는지 확인할 수 있는지, 아니면 이 문제를 해결하고 도구를 설치하는 데 도움이 되는 솔루션을 아는 사람이 있는지 궁금합니다. 이것은 기본적인 질문일 수도 있습니다. 이 책에서는 32비트 예제를 사용하므로 64비트 시스템에서 만드는 데 문제가 있을 수 있습니까?

답변1

(Dropbox에서 tarball을 다운로드하는 데 관심이 있는 다른 독자들을 위해 인터넷 아카이브에서도 코드를 사용할 수 있습니다.원본 웹사이트에서 보관됨.)

64비트 시스템에서 구축하고 실행하는 데 아무런 문제가 없어야 한다고 생각합니다. 오류를 수정하려면 설치 후 를 설치해야 합니다 libncurses5-dev.

make -C libdasm-1.5
make

나를 위해 작동합니다.

관련 정보