어떤 컴파일러가 실행 파일을 컴파일하는 데 사용되었는지 결정하는 방법은 무엇입니까?
컴파일된 파일에서 어떤 컴파일러가 파일을 생성하는데 사용되었는지 알 수 있습니까?
또한 오래된 '끈'의 유용성도 있습니다.이진에서 찾은 모든 아스키-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
'IT' 카테고리의 다른 글
케이크 pp에서 아약스 요청을 확인하는 방법은? (0) | 2023.11.04 |
---|---|
워드프레스:게시물의 특정 URL 자동 변경 (0) | 2023.11.04 |
jQuery 클릭 / 두 함수 간 전환 (0) | 2023.11.04 |
HttpContext.현재의.라우팅 요청 시 세션이 null입니다. (0) | 2023.10.30 |
텍스트 열을 고유 키로 만들기 (0) | 2023.10.30 |