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를 실행한다 3. ...을 클릭해서 압축 해제할 파일(pgadmin4-5.0-x64.exe)를 불러 온다. 4. '확인'을 눌러 압축 해제를 시작한다. 5. 결과물 확인 왜 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파일의 구조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파일로 되어 있으면 난감하기 짝이 없습니다 BIN 혹은 ROM 파일을 얻기 위해서는 이 EXE 파일을 해체해야 합니다 이럴때 사용할 수 있는 것이 바로 유니익스트렉터(UniExtractor)입니다 https://www.legroom.net/software/uniextract#download Universal Extractor | LegRoom.net www.legroom.net 이곳이 공식사이트입니다 표시된 순서로 진행을 하시면 인스톨러를 얻으실 수가 있습니다 한글 지원도 되고 있는데요 사용방법은 무척 간단합니다 우선 압축을 해제하여 파일들을 추출할 EXE파일을 선택합니다 그 뒤에 압축이 해제될 대상 폴더를 선택해줘도 되고 그렇지 않으면 현재 파일이 존재하는 곳에 자동적으로 풀리게 됩니다 그럼 바이오스 파일 하나를 풀어보도록 할까요? exe로 되어 있던 파일을 풀었더니 fd 확장자의 파일을 얻을 수 있었습니다 bin이나 rom을 바랬던 것이지만 알 수 없는 확장자가 들어있기는 하네요 이것은 또 다른 고민이 될 것 같습니다 아무튼 이렇게 간단한 프로그램을 활용하면 exe에서도 쉽게 파일들을 추출해낼 수 있습니다 |