UNIX (AIX, LINUX, HP-UX, SOLARIS, ...)/etc

Binary 를 통한 Build 환경 정보 알아내는 방법 (windows, aix, hpux, linux, sun)

아무일도없었다 2022. 12. 27. 11:52

 

Binary (execute file, so , dll ...)를 만들어서 배포를 하거나 다운받은 binary 의 빌드 환경을 알아야 할 일이 생긴다.

 

특히 과거 OS 버전과의 호환이 안 되는 Unix 환경일수록 더 그럴것이다.

 

이번 포스팅에서는 binary 만 있을때 해당 binary 가 어떤 환경에서 빌드가 됬는지 알아내는 방법을 다룬다.


[분석 환경]

OS : Linux

binary 에 대한 분석은 누구나 다 하나씩은 가지고 있을만한(?) Linux 환경에서 진행하였다.

 

대부분의 binary는 file 명령어를 사용하여 분석이 가능하다. (PE, ELF ... )

 

[Windows]

Windows 32 bit execute file

 

 

Windows 64 bit execute file

 

Windows 64 bit DLL file

 

[Linux]

Linux 32 bit file

 

Linux 64 bit file

 

[Aix]

aix 32 bit file

 

aix 64 bit file (상태가.. ?)

 

aix 64bit 는 제대로 된 정보가 나오질 않는다. 

 

linux 환경의 elf 가 아니라서 그런걸로 추측되는데 aix 환경에서 file 명령을 통해 확인하면 아래와 같이 확인이 가능하다.

 

aix 환경에서 file 명령어로 확인

 

하지만 굳이 linux 환경에서 aix 정보를 확인한다면 아래와 같은 명령어을 사용하면 된다.

 

 strings {Your File} | more | grep aix

 

strings 명령을 사용한 aix binary 정보 확인

 

[Hpux]

hpux 64 bit file

 

[Solaris]

solaris 64 bit file

 


 

file 명령어를 통해 binary의 빌드환경 중 OS 정보와 PowerPC 혹은 IA-64, SPARC, x86-64 등의 정보들을 확인할 수 있다.

반응형