파이썬을 사용하여 바이너리 파일을 분석합니다. 디버거를 사용하여 동적 분석을 수행했습니다 (즉, 응용 프로그램을 실행하고 중단 점을 사용하여 런타임을 실행). 그러나 PIN과 같은 일부 이진 계측 fremework를 사용할 수 있다면 결과를 향상시킬 수 있습니다. PIN은 C++로 개발되었으며 폐쇄 소스 (DLL 만 제공)로 제공됩니다. 우리는 PinTools라고 불리는 것을 쓰고 있습니다 어디서 무엇을 우리는 가로 채기를 원합니다. 나는 PIN 기능을 파이썬에 포팅하여 파이썬을 계속 사용하고자한다. 나는 "ctypes"와 boost-python을 알고 있습니다.동적 바이너리 계측 프레임 워크에 대한 Python 인터페이스 PIN
내 문제는 PIN을 사용하기 위해 pintool을 작성하고 Pin과 pintool로 BINARY 실행 파일을 실행한다는 것입니다.이 파일은 JIT로 실행중인 애플리케이션과 같습니다. 이제는 ctypes 등을 사용하여 PIN 함수를 가져올 수 있는지, 이진 코드를 동적으로 분석하기 위해이 Python 코드를 사용할 수 있는지 전혀 알지 못합니다. 이 작업을 수행하는 방법에 대한 제안이나 지침을 제공해주십시오.
그래서 너트 앤 셸에서 PIN 프레임 워크에 대한 파이썬 인터페이스 (래퍼)를 만들고 싶습니다.
PIN이 출력 파일을 생성합니까? 출력 파일을 읽으려고하십니까? 그게 "바이너리"란 뜻인가요? PIN의 이진 형식 출력 파일은 무엇입니까? –
@ S.Lott : 'binary'는 컴파일 된 실행 파일을 의미합니다. –
예, 바이너리는 컴파일 된 실행 파일 (예 : PE, ELF 파일)을 의미합니다. 예를 들어, 실행 파일 abc.exe가 있다고 가정 해 봅시다. 동적으로 분석하고 싶다면 다음과 같이 실행합니다 : C : \> pin --my_pintool abc.exe. 여기에서 pintool은 C++ 언어를 사용하고 PIN dll에 정의 된 함수를 호출하고 계측을 즉석에서 수행하는 파일입니다. 런타임에 abc.exe에서. – Sanjay