IT

어떤 컴파일러가 실행 파일을 컴파일하는 데 사용되었는지 결정하는 방법은 무엇입니까?

itgroup 2023. 11. 4. 10:34
반응형

어떤 컴파일러가 실행 파일을 컴파일하는 데 사용되었는지 결정하는 방법은 무엇입니까?

컴파일된 파일에서 어떤 컴파일러가 파일을 생성하는데 사용되었는지 알 수 있습니까?

또한 오래된 '끈'의 유용성도 있습니다.이진에서 찾은 모든 아스키-ish 모양 문자열을 덤프합니다.컴파일러마다 생성하는 바이너리에 서로 다른 양의 정보를 포함시키지만 실제로는 많은 컴파일러가 문자열을 식별하는 것을 포함합니다.

많은 컴파일러/링커들이 A를 삽입합니다..comment출력 파일의 섹션을 참조하여 식별할 수 있습니다.컴파일러 지문을 생성할 수 있는 몇 가지 미묘한 동작도 있지만, 이를 위한 기존 도구는 없습니다.

소스가 있는 경우 바이트 단위로 일치하는 바이너리를 얻을 때까지 해당 컴파일러를 사용하여 컴파일을 시도하는 것이 가장 쉬운 해결책입니다.

경우에 따라 실행할 수 있습니다.ldd바이너리에 접속해서 어떤 표준 라이브러리와 연결되어 있는지 알아보세요.예를 들어 Solaris gcc vs Sun CC vs what.

C++ 코드의 경우, 일부 기호를 덤프하고 망글 함수 이름을 찾은 다음 어떤 디맨글러가 올바른 원래 이름을 생성하는지 확인할 수도 있습니다.

실행 파일을 구축하는 데 사용되는 라이브러리와 도구를 식별하는 IDA Pro를 시도해 보십시오.

저는 블루팀 웹사이트에서 퀴즈를 맞추는데 문제였습니다.나는 그 해결책을 "라는 도구를 사용해서 찾았습니다.PE Detective, 그는 EXE에서 서명을 찾고 있고, 정말 잘 작동합니다.

https://www.softpedia.com/get/System/File-Management/PE-Detective.shtml

언급URL : https://stackoverflow.com/questions/4554510/how-to-determine-which-compiler-has-been-used-to-compile-an-executable

반응형