기존에 Ojbect Pascal 로 빌드된 실행 파일들은 UPX 를 이용하여 striping 과 symbol remove 를 수행 하였습니다만, 64bit 로 넘어 오면서 만들어진 실행 파일들에 대해 UPX 를 적용하기가 어려웠습니다.
 그래서 찾아 보던 중 mpress 가 x86.64bit 실행파일들을 지원 한다는 것을 알게 되었고, 이를 64bit 용으로 만들어진 EXE 를 압축 하는데 테스트 해 보게 되었습니다.

제가 일어 윈도우를 쓰고 있어서 콘솔이 일어로 나오는건 양해를..

일단 FPK 로 빌드된 win64 용 실행파일은 무려 12MB 를 육박 하고 있습니다...
이런 바이너리 크기 차이가 상용 컴파일러와 OpenSource 의 차이이기도 합니다만 -_-;;;
아무튼 별거없이 만들어본 어플리케이션 하나가 12MB 의 크기를 가지고 있다는건 너무 heavy 한게 사실입니다.
이걸 열심히 줄여서 1.6MB 로 줄인거니 그 차이가 엄청나지요.
Delphi 로 만들어진 32bit 용 바이너리는 동일한 역활을 하도록 만들면 보통 600KB 인걸 비교 해 보면 무려 20배 차이가 납니다...(하지만 Delphi 는 64bit 용이 없습니다 !!! )

일단 이 mpress 의 다운로드는 http://www.matcode.com/mpress.htm 에서 가능하며 , free 입니다!
mpress 는 UPX 와 달리 출력 파일을 지정할 수 없으므로 압축을 할 exe 를 원본으로 부터 복사를 한 다음 mpress 로 exe 처리 해야 합니다.
예로 project1.exe 이란 파일을 test64win.exe 로 바꾸고자 한다면?
copy project1.exe test64win.exe
mpress test64win.exe
이 방법을 사용해야 하겠습니다.
압축율은 얼마나 좋던간에 12MB 짜릴 1.6MB 로 줄여 준다는데 감사해야지 어쩌겠습니까 ^^;
가장 좋은건 저처럼 delphi 코드를 이용해야 할 것이 아니라면 그냥 minGW 로 어플리케이션을 만드는 걸지도 모르죠.

Posted by 견족자K rageworx