Exe파일 뜯어보기 - exepail tteud-eobogi

exe파일을 비교해야 할 때 어떻게 비교할 수 있을까?

파일의 수정 날짜, 크기(용량), 이름?

이 방법으로는 파일의 내용이 어떻게 달라졌는지 알 수가 없다.

방법은 exe 파일을 분해해보는 것이다.

exe파일도 분해가 가능하다.

과거 윈도우xp, 윈도우7을 사용하던 때에는 [Universal Extractor](https://www.legroom.net/software/uniextract)라는 오픈소스 툴을 사용했다고 한다.

하지만 이 툴은 메인테이너가 더이상 유지보수를 하지 않겠다고 선언했다.

오픈소스인만큼 이 프로젝트를 복제(포크) 한 비공식 버전이 여러가지가 나타났고, 그 중 [Universal Extractor 2(UniExtract2)](https://github.com/Bioruebe/UniExtract2)라고 불리는 버전이 최근까지도 개발되고 있다.(글을 작성하는 시점 기준 2개월 전 수정 이력이 남아있다.)


pgadmin4-5.0-x64.exe 압축 해제 해보기

1. Universal Extractor 2를 다운받는다.

링크 : https://github.com/Bioruebe/UniExtract2

2. Universal Extractor 2를 실행한다

Exe파일 뜯어보기 - exepail tteud-eobogi

3. ...을 클릭해서 압축 해제할 파일(pgadmin4-5.0-x64.exe)를 불러 온다.

Exe파일 뜯어보기 - exepail tteud-eobogi

4. '확인'을 눌러 압축 해제를 시작한다.

5. 결과물 확인

Exe파일 뜯어보기 - exepail tteud-eobogi

왜 exe 파일은 분해가 가능할까?

exe 파일 분해에 대해 이해하려면 PE 포맷을 먼저 알아야 한다.

Portable Executable. 즉, 설치없이 실행가능한 이 형식은 Windows 3.1 부터 지원되는 실행 파일 형식 중 하나다.

Portable이라는 단어의 뜻처럼 Windows 뿐만 아니라 다른 운영체제에서도 사용가능하게 하려는 의도로 개발되었으나 Windows에서만 사용되고 있다.

PE형식의 파일

실행 파일 계역 : EXE, SCR(스크린세이버)

라이브러리 계열 : DLL, OCX(Active X), CPL, DRV

드라이버 계열 : SYS, VXD

오브젝트 파일 계열 : OBJ(OBJ파일은 오브젝트 파일이므로 실행 할 수 없다)

위 예시에 나온것처럼 윈도우 exe파일(executable 파일)은 PE 포맷을 사용한다. 파일 실행을 할 때 그 파일의 실행 가능한 크기를 계산하고 오버레이(overlay)라 부르는 데이터가 추가된 그 파일의 압축해제(unpack)를 푼다. 이때 해야 할 일은 오버레이 오프셋(offset)을 찾고 압축해제하는 것이다. 오버레이 오프셋을 찾기 위해서 헤더(header)와 세그먼트(segment)를 더한 크기를 계산해야 한다. 

PE파일의 구조

Exe파일 뜯어보기 - exepail tteud-eobogi
PE 파일의 구조. 출처 : https://corkamiwiki.github.io/PE

참고 링크

Extracting the files inside an EXE :

https://stackoverflow.com/questions/60464661/extracting-the-files-inside-an-exe

Break open an EXE file? :

https://superuser.com/questions/57635/break-open-an-exe-file

PE File Format :

https://8jz5.tistory.com/102

PE : corkamiwiki.github.io/PE

PE 101 Windows可执行文件详解 : imgur.com/gallery/t33Rr#pHjcI

인스톨러 exe 파일 을 풀어서 사용할 때가 있었는데 컴퓨터의 인스톨 실행 파일 ( .exe )

중에 필요한 파일만 몇개 추출하여 사용했던 유틸이죠 

참고로 모든 인스톨러 .exe 파일이 풀리는 지는 장담믈 못하겠지만 지금까지 사용했던 파일들은 대부분 잘 풀렸었습니다

대부분 소프트웨어는 하나의 .exe 파일에서 프로그램 설치를 하게 되죠 그렇지 않은 경우도 있긴 하지만, exe 인스톨러 실행 파일을 푸는 uniextract는 무료로 사용이 가능합니다

uniextract 는 exe 뿐만아니라 zip파일과 RAR파일등 압축도 풀수 있습니다

인스톨러 exe 파일 풀어내는 방법 / 인스톨러 파일 압축해제

universal Extractor v1.6.1 사용법

압축해제할 파일을 선택 /인스톨러 파일을 선택하고 , 

대상폴더 를 지정해 주면 됩니다

Exe파일 뜯어보기 - exepail tteud-eobogi

한글 메뉴로 변경하려면 편집(edit)- preferences(설정) 에서

korean으로 언어를 선택합니다

universal Extractor V1.6.1

uniextractor로 인스톨러 파일로 생성된 exe 파일을 특정폴더에 풀어내는 모습니다

파일 크기가 큰 파일은 시간이 약간 소요됩니다

다른 것도 인스톨러 exe 파일 한개를  테스트로 더 풀었더니 잘 풀립니다~

인스톨러 exe 파일 압축 해제하는 universal uniExtractor v1.6.1다운로드 (포터블버젼)

Exe파일 뜯어보기 - exepail tteud-eobogi
uniextract161_portable.rar

파일을 여러개로 나누는 반디집 분할압축 방법 분할압축 풀기 [zip분할]

대용량 파일복사 빠른 복사하기 fastcopy

robocopy 윈도우 복사 미러링- 윈도우용 견고한 파일복사 GUI 윈도우용

윈도우 리페어 툴박스 포터블 버젼 windows repair toolbox Portable version