잡다/크랙

엑셀(2010~2016) VBA Project 암호 해제 방법

산을좋아한라쯔 2020. 1. 7. 07:00
반응형

엑셀의 VBA 코드에 대해서 Protection이 되어 있는 경우 암호를 모르면 VBA코드를 읽을 수 없다.


암호를 모르는 상태에서도 해제하는 방법은 다음과 같다.


대상파일을 a.xlam이라고 한다면

1)a.xlam을 7zip을 이용해서 연다. (탐색기에서 a.xlam을 선택하고 7-zip - 압축파일 열기)

2)xl/vbaProject.bin 파일만 뽑아낸다. (7-zip 프로그램 화면에서 해당파일을 탐색기쪽으로 드래그앤 드롭하고 7-zip에 있는 vbaProject.bin은 삭제)

3)뽑아낸 vbaProject.bin 파일을 바이너리 에디터로 연다. (HxD 프로그램 사용. https://mh-nexus.de/en/hxd/)

4)vbaProject.bin파일에서 "DPB"를 찾은 후 이를 "DPx"로 수정하고 저장

5)수정된 vbaProject.bin 파일을 7-zip에 열려있는 a.xlam안에 집어넣는다. (탐색기의 vbaProject.bin을 선택하고 7-zip 화면으로 드래그앤드롭)

6)a.xlam을 더블클릭해서 연다. 경고메시지가 나오더라도 무시하고 파일 계속 연다.

7)Alt-F11 눌러서 VBA 에디터를 연다. 만약 "Unexpected error" 뜨더라도 무시하고 계속 OK 클릭한다. 끝.

8)근데 만약 이 파일을 열때마다 signature가 틀린다는 경고메시지가 뜬다면,

   . Alt-F11을 눌러 VBA 에디터 연다 

   . VBAProject 속성을 열어서 보호탭에서 '읽기 전용으로 프로젝트 잠금' 체크하고 새로운 암호를 입력한다.

   . 파일을 저장하고 벗어난 후, 위의 1)~3번까지 수행한후,

   . vbaProject.bin파일에서 DPx를 찾은 후, 이를 DPB로 수정하고 저장

   . 이제 이 파일의 VBA코드를 볼때는 새로 입력한 암호를 사용하면 된다. 끝.



-끝-

반응형