본문 바로가기

Programming/엑셀 VBA

(5)
엑셀 매크로 소스코드 비밀번호 없이 추출하는 방법 엑셀에 있는 (워드나 파워포인트도 마찬가지지만) 매크로 코드 (= VBA 코드, VBA: Visual Basic for Application)를 다른 사람이 함부로 볼 수 없게 하기 위해 비밀번호를 걸어 놓을 수 있다. 그러나, 이 방법은 너무 쉽게 무력화되고, 그 무력화하는 방법이 인터넷에 너무 많이 알려져서, 개발자 수준도 아니고 일반 사용자가 쉽게 암호를 모르고도 매크로 코드를 볼 수 있다. 그래서, 다른 방식으로 매크로 코드를 보호하는 툴이 있고, 유상으로 판매하기도 한다. 암호 없이 매크로 코드(VBA 소스코드)를 보는 방법 정리 가장 널리 알려지고 손쉬운 방법은, 엑셀 파일를 구성하는 부속 파일인 vbaProject.bin 파일의 내용 중 일부(암호에 관련된 값)를 수정하는 것이다. 이 방법을..
[파워포인트 팁]사용되지않는 마스터 장표 찾아서 자동 삭제하는 VBA 코드 쓰레기 마스터 장표가 쌓이는 경우 특히 회사에서 이런 경우가 많은데, 템플릿처럼 사용되는 파워포인트 파일을 계속 재활용하여 작성하다 보면, 슬라이드 마스터 장표가 계속해서 쌓이고, 어느 순간부터는 이 파일에 대해서 파워포인트가 버벅대며 동작을 잘 안하게 된다. 문제는 슬라이드 마스터 장표가 너무 많아서이다.!!! 그것도 실제 사용은 안되면서 자리만 차지하는. 이것을 수동으로 일일이 지울 수도 있는 데, 수십 개를 넘어가면 막노동이 된다. 일일이 지우다가 짜증이나서, 프로그램을 만들었다. 간단한 VBA 프로그래밍으로 해결할 수 있다. (Excel용 VBA는 꽤 많이 보이는데, 파워포인트로는 잘 안 보인다. 파워포인트에서도 VBA를 활용하면, 막노동을 줄일 수 있다.) 해결책 1. 수동으로 사용되지 않는 마..
엑셀 VBA 코드 보호 및 크랙 방법 엑셀 파일 자체를 보호하는 것은 파일을 저장할 때 패스워드를 지정하면 된다. Excel 2016까지는 패스워드를 무력화 시키는 쉬운 방법들이 있는데( 앞 글 참조), Excel 2019부터는 쉽지 않다. 엑셀 파일 자체를 보호하는 것과 별개로, VBA(Visual Basic for Application) 코드를 보호하는 것은 또 다른 일이다. 일반적으로 VBA코드에 암호화를 하는 이유는, 엑셀 파일 자체는 이용할 수 있게 배포하면서, VBA 코드는 자신의 노하우가 들어 있기에, 사용자가 볼 수 없게 하려는 것이 대부분의 이유 따라서, 엑셀 파일 암호화를 해도, 그 암호는 알려줘야하고, 단 VBA 코드에 대한 패스워드는 알려주지 않아서 사용자가 VBA 코드를 보지 못하게 해야 한다. 주식 거래용 기능을 엑..
비밀번호에 의해 보호된 엑셀 파일 보호 해제 방법(Excel 97 - 2016) 엑셀 파일을 저장할 때 비밀번호를 지정하면, 비밀번호를 암호화 키로해서 파일 전체가 암호화된다. 열기 암호: 파일 전체가 암호화된다. 쓰기 암호: 파일을 수정 후 저장하려고 할 때 인증용으로 사용 암호를 지정하는 방법은 : "다른 이름으로 저장 - 도구 - 일반 옵션"에서 사용할 암호를 입력 후 "확인"클릭 스펙상으로, 파일 암호화에 사용될 수 있는 방법은 4가지. (출처: MS사의 MS-OFFCRYPTO 문서) XOR RC4 CAPI or CryptoAPI ECMA-376 실제 엑셀 버전별 사용된 암호화 알고리즘은, Excel 97 - 2003: RC4 사용 RC4 알고리즘 자체의 취약성으로, password를 모르고도 Decryption 가능 (참조) Excel 2007 - 2013: AES-128 ..
엑셀 파일 종류별(통합문서, 매크로, 추가기능) 파일 포맷 자료 엑셀에서 자주 사용되는 파일 형태인 '통합 문서', '매크로 포함 통합문서', '엑셀 추가기능' 파일에 대해서, 각 포맷을 정리해 둔다. 파일 종류 확장자 지원되는 엑셀 버전 설명 통합 문서 .xls Excel 5.0, Excel 95 BIFF5 포맷 .xls Excel 97 - Excel 2003 BIFF8 포맷, 설명 페이지 .xlsx Excel 2007 부터 - 설명 페이지 매크로 통합 문서 .xlsm Excel 2007, Excel 2010, Excel 2013, Excel 2016 설명 페이지 추가 기능 .xla Excel 97 - Excel 2003 위 xls와 xlsm 설명 페이지와 동일 .xlam Excel 2007, Excel 2010 - - - MS Office 문서 암호화에 대한 설명..