Lost Information!

엑셀 VBA 기본 - 엑셀VBA 프로젝트의 비밀번호 풀기 - 2편 본문

개인브랜드블로그를 만들어 보자/엑셀VBA

엑셀 VBA 기본 - 엑셀VBA 프로젝트의 비밀번호 풀기 - 2편

Lostinformation 2021. 2. 10. 16:33

모두가 칼퇴하는 그날까지~

 

지난 글에서는

엑셀 VBA가 잠겼을 때

또는 암호를 까먹었을 때 

해당 VBA를 푸는 방법을

알려드렸습니다.

 

만일 저번 내용을 모르시거나

기억이 나질 않으신다면

밑에 글을 참고해주세요.

red-s.tistory.com/2512

 

엑셀 VBA 기본 - 엑셀VBA 프로젝트의 비밀번호 풀기 - 1편

모두가 칼퇴하는 그날까지~ 지난 글에서는 엑셀 시트가 잠겼을 때 엑셀 VBA 사용하지 않고 푸는 방법을 알려드렸습니다. 만일 저번 내용을 모르시거나 기억이 나질 않으신다면 밑에 글을 참고

red-s.tistory.com

 

이번 글에서는 

저번 글에서 설명드리지 못한

VBA암호가 풀리는 과정과

암호를 변경하는 방법을

설명해드리겠습니다.

 

 

지난 글에서 알려드린

VBA가 상당히 길만큼

이를 일일이 알려드리기보다는

간단하게 설명드리도록 하겠습니다.

 

먼저 엑셀 PC 사용자

이렇게 3가지로 나누어서

설명드리도록 하겠습니다.

 

먼저 엑셀에 VBA코드를

만들었다고 가정하겠습니다.

 

그리고 사용자가 VBA에 

암호를 설정하였습니다.

 

이렇게 되면 해당 암호는

PC메모리에 기억됩니다.

 

 

그리고 우리가 흔히 아는 것처럼

암호를 입력하면

PC메모리에서 이를 비교하교

맞는 경우에는 1

틀린 경우에는 0

엑셀에 알려주게 되고

맞는 경우에 엑셀 VBA를 오픈하고

틀린 경우에는 닫혀버리게 됩니다.

 

그리고 저번 글에서 알려드린

VBA코드는 PC메모리가

1 또는 0을 던지는 시점을

차단하고 지워 버린 후에

무조건 1이라는 값을

엑셀에 주어 열리게 하는 것입니다.

 

그렇기 때문에 이러한 방법은

단점이 생기게 됩니다.

 

바로 까먹은 암호를 알 수 없고

암호를 변경할 수도 없는 것이죠.

 

그렇다면 매번 까먹은 암호 때문에

해당 엑셀은 매번 실행하여

VBA암호를 풀 수밖에 없는 걸까요?

 

 

일단 암호를 변경하고 싶다면

VBA로는 힘들지만 방법은 있습니다.

 

우선 저번과 같이 xlsm으로 된 

확장자를 zip로 변경해주세요.

 

 

이후 xl이라는 폴더로 들어가시고

 

 

VbaProject.bin이라는 파일을

바탕화면으로 꺼내 주세요.

 

그리고 구글에 HXD라고 검색하여

 

처음 나오는 사이트에서 

HXD라는 가벼운 프로그램을

다운로드하여야 합니다.

 

 

해당 프로그램을 실행시킨 뒤에

아까 바탕화면으로 옮겨놓은

VbaProject.bin파일을 드래그

해주면 위와 같은 화면이

나오게 됩니다.

 

이는 16진수로 암호화된 

내용을 나오게 되는 것이죠.

 

 

그리고 CTRL +F을 누른 뒤

DPB를 입력해주시고 

수락을 눌러주세요

 

 

그리고 DPB DPX로 

변경해주신 후에 저장해주시면

끝입니다.

 

 

이후 XLSM에서 zip로

이름을 변경한 파일 안에

바탕화면에 있던 VbaProject.bin을

덮어 씌우고 다시 확장자명을

XLSM으로 변경해주세요.

 

 

이후 엑셀을 실행하고 

ALT + F11을 눌러 확인하면

위와 같은 오류창이 나오면서

여전히 안쪽의 내용을 볼 수 없습니다.

 

 

하지만 다시 VBA암호 설정하는

도구 탭으로 들어가 암호를

새로 입력하게 된다면

암호가 변경되고 정상적으로 

엑셀을 사용할 수 있습니다.

 

앞으로 엑셀 VBA암호를 

까먹으셨어도 당황하지 마시고

잘 활용하셨으면 좋겠습니다.

 

그럼 여기까지 궁금하신 점은

댓글에 남겨주시고

공감구독도 부탁드립니다.

Comments