문제

Mac OS X 10.5를 사용하여 DTRACE를 사용하여 Mach-O Binary의 실행을 추적하는 방법을 알아 내려고합니다. 그러나 기호가 모두 제거 된 것으로 보이므로 내부 클래스/메소드 이름을 기반으로 사용 프로브를 넣으려는 모든 시도가 실패합니다.

클래스 덤프를 사용하여 클래스, 메소드 이름 및 구현 된 주소를 덤프 할 수 있었으므로 이진의 기호를 재구성하는 데 사용할 수 있다고 가정합니다. 그조차도 가능합니까? 그렇다면 누구나 도움이 될 수있는 도구 나 내가 더 잘 이해하는 데 도움이되는 독서 자료를 알고 있습니까?

이것은이 수준에서 바이너리와 협력하려는 첫 번째 시도이므로 어떤 도움을 주었을 것입니다.

도움이 되었습니까?

해결책

GDB에서 사용하기위한 대상 C 기호 재구성 가능합니다. 클래스 덤프 정보를 GDB로 가져옵니다.

다른 팁

아니요, 불가능합니다. 기호가 제거되면 각 메소드의 코드가 정확히 시작되는 경우 정보가 손실됩니다. 이 정보를 재구성하려면 코드를 분해해야합니다. 각 클래스의 방법이 무엇인지 아는 경우, 코드에 위치한 위치를 알지 못합니다. 이것이 DTRACE가 필요로하는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top