[태그:] #업무효율화

  • 엑셀 시트 보호 암호, 프로그램 없이 5분 만에 해제하는 ‘ZIP’ 우회 기법

    키보드에 자물쇠 아이콘이 겹쳐진 보안 강조 이미지
    사진: UnsplashFlyD

    회사 업무를 하거나 과거에 작업했던 파일을 열었을 때, 특정 셀을 수정하려고 하면 “변경하려는 셀 또는 차트가 보호되어 있습니다”라는 경고창과 함께 입력이 막히는 당황스러운 상황을 한 번쯤 겪어보셨을 겁니다. 인수인계를 제대로 받지 못했거나 본인이 설정한 암호를 도저히 기억해낼 수 없을 때, 우리는 흔히 유료 암호 해제 프로그램을 검색하곤 합니다.

    하지만 별도의 프로그램 설치 없이, 윈도우 기본 기능과 약간의 ‘확장자 변경’ 팁만으로도 이 견고한 시트 보호를 무력화할 수 있다는 사실을 알고 계셨나요? 오늘은 .xlsx 또는 .xlsm 파일을 .zip으로 변환하여 시트 보호 암호를 깨는 ‘마법 같은 팁테크’를 상세히 가이드해 드립니다.


    1. 시작 전 주의사항: 팩트 체크

    본격적인 절차에 들어가기 전, 이 방법이 해결할 수 있는 범위와 한계를 명확히 인지해야 합니다.

    • 해결 가능한 경우: 시트의 일부 셀 수정을 막아둔 ‘시트 보호’ 혹은 시트 삭제/이동을 막은 ‘통합 문서 보호’ 암호.
    • 해결 불가능한 경우: 파일을 더블클릭하자마자 암호를 묻는 ‘파일 열기 암호(보안 설정)’. 이는 파일 자체가 암호화된 것이라 ZIP 우회로는 뚫리지 않습니다.

    2. XLSX를 ZIP으로 바꿔 암호 해제하는 5단계

    준비물은 간단합니다. 암호가 걸린 엑셀 파일과 여러분의 침착함뿐입니다.

    1단계: 파일 확장자 변경하기

    가장 먼저 해당 엑셀 파일의 확장자를 .xlsx에서 .zip으로 바꿔야 합니다.

    1. 수정할 파일을 선택하고 F2(이름 바꾸기)를 누릅니다.
    2. 파일명 뒤의 xlsx를 지우고 zip을 입력한 뒤 엔터를 칩니다.
    3. “파일의 확장명을 변경하면 사용할 수 없게 될 수도 있습니다”라는 경고창이 뜨면 주저하지 말고 [예]를 누르세요.

    2단계: 압축 파일 내부 탐험

    이제 엑셀 파일이 노란색 폴더 아이콘의 압축 파일로 보일 것입니다. 압축을 풀 필요 없이 파일을 더블클릭해서 내부로 들어갑니다.

    • 이동 경로: xl 폴더 ➡️ worksheets 폴더 순으로 진입합니다.

    3단계: 문제의 시트 XML 파일 찾기

    worksheets 폴더 안에는 sheet1.xml, sheet2.xml 같은 파일들이 나열되어 있습니다.

    1. 암호를 풀고 싶은 해당 시트 번호를 찾습니다.
    2. 해당 XML 파일을 바탕화면이나 작업하기 편한 폴더로 잠시 복사(드래그)하여 꺼내주세요.
    xl/worksheets 폴더 내의 xml 파일들을 보여주는 화면

    4단계: ‘보안’ 태그 삭제하기 (핵심!)

    꺼낸 XML 파일을 메모장으로 엽니다. (우클릭 > 연결 프로그램 > 메모장)

    1. Ctrl + F를 눌러 sheetProtection이라는 단어를 찾습니다.
    2. <sheetProtection ... />로 시작해서 끝나는 태그 전체를 과감하게 삭제합니다.
      • 팁: < 기호부터 /> 기호까지 하나의 덩어리를 정확히 지워야 파일이 깨지지 않습니다.
    3. 메모장을 저장(Ctrl + S)하고 닫습니다.

    5단계: 파일 원상복구

    수정된 XML 파일을 다시 압축 파일 내부의 원래 위치(xl/worksheets/)로 드래그하여 집어넣어 덮어씌웁니다. 그 후, 다시 파일 확장자를 .zip에서 원래의 .xlsx로 되돌려 놓으세요.


    3. 결과 확인 및 마무리

    이제 엑셀 파일을 다시 열어보세요. 아까까지 여러분을 괴롭혔던 ‘시트 보호’가 감쪽같이 사라진 것을 확인할 수 있습니다. 암호를 묻지도 않고 자유롭게 셀 수정과 서식 변경이 가능해진 것을 보면 이 우회 기법의 강력함을 느끼실 수 있을 겁니다.

    이 방법은 엑셀의 내부 구조가 XML 기반의 압축 파일이라는 점을 이용한 일종의 ‘우회로’입니다. 정당하게 권한이 필요한 상황에서 소중한 데이터를 살려야 할 때 이보다 더 유용한 팁은 없을 것입니다. 다만, 타인의 파일을 허락 없이 수정하는 용도로는 절대 사용해서는 안 된다는 점, 꼭 기억해 주세요!

    우리가 흔히 쓰는 .xlsx.xlsm 파일의 내부를 ZIP으로 들여다보면, 일반적인 데이터와 시트 설정은 대부분 XML 형식으로 저장되어 있습니다. 텍스트 기반이라 메모장으로 열어서 특정 태그(sheetProtection)만 지우면 끝나는 구조죠.

    하지만 VBA 프로젝트는 다릅니다.

    • 저장 위치: xl 폴더 내부의 vbaProject.bin 파일에 담겨 있습니다.
    • 파일 형식: 이름에서 알 수 있듯 텍스트가 아닌 바이너리(Binary) 파일입니다.
    • 메모장으로 열면 외계어처럼 깨진 글자만 보일 뿐, 특정 태그를 수정할 수 있는 구조가 아닙니다. 그래서 ‘메모장’ 대신 ‘헥사 에디터’라는 특수 도구가 필요합니다.

    VBA 프로젝트 암호 해제 6단계 가이드

    이 작업은 파일의 ‘뇌’를 살짝 건드리는 작업이므로, 반드시 원본 파일의 복사본을 만들고 시작하세요!

    1단계: 확장자 변경 및 파일 추출

    1. 파일 확장자를 .xlsm에서 .zip으로 변경합니다.
    2. 압축 파일을 열고 xl 폴더로 들어갑니다.
    3. vbaProject.bin 파일을 바탕화면으로 복사(드래그)하여 꺼냅니다.
    xlsm 파일을 zip으로 변환
    xlsm 파일을 zip으로 변환하고 열면 이런게 나온다

    2단계: 헥사 에디터(Hex Editor)로 열기

    꺼낸 파일을 메모장이 아닌 HxD 같은 헥사 에디터 프로그램으로 엽니다.

    • 파일을 프로그램 위로 드래그하면 16진수 숫자들이 빼곡히 나타납니다.
    헥스에디터로 연 모습
    hxd로 bin파일을 연다

    3단계: 암호 인식 코드 찾기 및 변조 (핵심!)

    이제 프로그램 내의 찾기 기능(Ctrl + F)을 이용해 DPB=라는 문자열을 검색합니다.

    DPB=을 검색
    Ctrl+F 후 DPB를 검색하는 모습

    주의: 글자 수를 늘리거나 줄이면 파일이 완전히 깨집니다. 반드시 Bx로 바꾸기만 하세요. 수정을 마쳤다면 저장(Ctrl + S)합니다.

    찾은 DPB=DPx=로 딱 한 글자만 수정합니다.

    HxD 프로그램에서 DPB 문자열을 검색하여 DPx로 수정하는 정밀 작업 화면
    HxD 프로그램에서 DPB 문자열을 검색하여 DPx로 수정

    4단계: 파일 덮어쓰기 및 복구

    1. 수정된 vbaProject.bin 파일을 다시 ZIP 파일 내부의 원래 위치(xl/)로 드래그하여 덮어씌웁니다.
    2. ZIP 파일의 확장자를 다시 원래대로 .xlsm으로 돌려놓습니다.
    이차는 이제 제껍니다 짤 기자
    이 차는 이제 제껍니다?

    5단계: 엑셀 오류를 이용한 암호 초기화

    이제 파일을 실행합니다. 파일을 열 때 “프로젝트를 읽을 수 없습니다” 또는 “잘못된 키입니다”라는 식의 오류 메시지가 여러 번 뜰 텐데, 겁먹지 말고 모두 [예] 혹은 [확인]을 누르세요.

    1. Alt + F11을 눌러 VBA 에디터를 엽니다.
    2. [도구] > [VBAProject 속성] > [보호] 탭으로 이동합니다.
    3. 이미 설정된 암호가 깨져 있는 상태이므로, 여기서 새로운 암호를 입력하거나 암호 체크를 해제한 뒤 확인을 누릅니다.

    6단계: 저장 후 재실행

    파일을 저장하고 닫았다가 다시 열어보세요. 이제 여러분이 설정한 새 암호로 접속하거나, 암호 없이 코드를 볼 수 있게 됩니다.


    시트 보호가 ‘단순한 칸막이’라면, VBA 암호는 ‘금고’에 가깝습니다. 하지만 헥사 에디터라는 도구를 사용하면 잊어버린 금고 번호를 강제로 재설정하는 길이 열리죠.

    다시 한번 강조하지만, 이 기술은 본인의 소중한 코드를 복구하는 용도로만 사용해 주세요! 타인의 지적 재산권을 존중하는 마음이 멋진 개발자(혹은 사용자)의 첫걸음입니다.

    • 확장자를 .zip으로 변경
    • xl/worksheets/ 폴더 진입
    • sheet.xml 메모장으로 열기
    • sheetProtection 태그 삭제 후 저장
    • 다시 .xlsx로 복구!
    • 단, vba암호는 좀 더 복잡

    이제 더 이상 암호 때문에 엑셀 시트 앞에서 멍하니 있지 마세요! 시도해 보시고 안 되는 부분이 있다면 댓글로 남겨주세요.