VBA(Visual Basic for Applications) 코드를 보호하는 4가지 방법

당신이 작성하는 VBA 코드는 스프레드시트의 심장이자 영혼입니다. VBA 코드를 보호하는 것은 당신의 코드가 당신이 모르는 사이에 도난당하거나 사용되지 않도록 하기 위해 해야 할 일입니다. 이 게시물에서는 당신만이 쉽게 접근할 수 있도록 VBA 코드를 보호하는 몇 가지 다른 방법을 다룰 것입니다.
VBA 코드 보호에 관심을 가져야 하는 이유는 무엇입니까?
VBA는 Excel, Word, PowerPoint에서 자동화된 작업이나 동작을 만드는 데 사용할 수 있는 매크로 언어입니다. VBA 코드를 보호해야 하는 데에는 몇 가지 이유가 있습니다.
- 실수로 VBA 코드가 변경되지 않도록 보호합니다. VBA 코드는 Excel 사용자에게 강력한 도구이지만, 사용하지 않는 사람에게는 좌절의 원인이 될 수도 있습니다. 암호로 VBA를 보호하지 않으면 통합 문서를 사용하는 다른 사람이 코드에 액세스하여 실제로 무엇을 하는지 알지 못한 채 변경할 수 있습니다. VBA 코드를 디버깅하지 않으려는 이유는 고통스러울 수 있기 때문입니다. 이유를 알아내는 데 몇 시간이 걸리고 더 많은 시간이 걸릴 수 있습니다!
- 지적 재산을 보호하려면 VBA 코드가 일부 회사에 매우 귀중할 수 있습니다. 다른 사람이 귀하의 스프레드시트에 액세스하여 귀하가 사용하는 기능을 복사하면 잠재적으로 자신의 작업인 것처럼 속여 많은 회사에 판매할 수 있습니다. 보안 조치로 귀중한 소스 코드를 보호하세요. 누구나 쉽게 훔치거나 복사할 수 있도록 하지 마세요.
- 다른 사람이 당신의 작업을 사용하는 것으로부터 자신을 보호하기 위해서입니다. 당신의 작업을 더 쉽게 또는 더 효율적으로 만드는 귀중한 VBA 코드가 있다면, 개인적인 용도로만 보호하고 싶을 것입니다.
VBA 코드를 보호하는 데는 여러 가지 방법이 있지만, 모든 방법이 코드를 같은 방식으로 보호하는 것은 아니라는 점을 알아두는 것이 중요합니다. 이는 귀하에게 달려 있으며 귀하의 필요에 가장 적합하다고 생각하는 것이 무엇인지에 달려 있습니다.
#1 VBAProject 도구를 사용하여 Excel 내에서 VBA 코드를 암호로 보호
이 부분에서는 VBA 프로젝트 보호 설정을 사용하여 VBA 코드를 엿보는 눈과 손상으로부터 어느 정도 보호하는 방법을 설명합니다.
- 보안 수준: 약함; 다음과 같은 도구가 있습니다. VBA 비밀번호 제거기 몇 분 안에 비밀번호를 잠금 해제하는 데 사용할 수 있습니다.
- 난이도: 쉬움;
- 비용: 무료
1단계. Excel의 '개발자' 메뉴에서 'Visual Basic'을 선택합니다.
2단계. VBA 프로젝트를 잠그려면 막대에서 "도구"를 클릭한 다음 "VBAProject 속성"을 선택합니다.
이 메뉴 항목을 클릭하면 다음과 같은 대화 상자가 나타납니다.
기본적으로 "일반" 탭이 선택되어 있지만 "보호" 탭을 클릭합니다.
3단계. "프로젝트 보기 잠금"을 체크한 후 두 상자에 모두 비밀번호를 두 번 입력하고 "확인"을 누릅니다.
4단계. 저장하고 Excel 파일을 다시 엽니다. VBA 프로젝트를 두 번 클릭하면 VBA 암호 보호가 제대로 활성화되었는지 알 수 있습니다. 암호로 VBA 프로젝트를 보호하면 실수로 수정하는 것을 방지할 수 있습니다.
#2 VBA 난독화를 사용하여 매크로 코드 보호
VBA 난독화는 VBA 코드를 읽을 수 없지만 여전히 작동하도록 만드는 기술입니다. 기존 매크로를 여러 수준의 난독화로 수정하여 기본 논리를 이해하기 어렵게 만듭니다. 고급 VBA 난독화 도구는 여러 가지 고급 난독화 기술을 사용하여 역방향 추적 및 복구를 훨씬 더 어렵게 만듭니다.
- 보안 수준: 중간; 누군가가 여전히 시간을 들여 충분한 리소스를 투자해 코드를 복구할 수 있을 것입니다.
- 난이도: 보통; 레벨에 따라 다름;
- 비용: 무료 VBA 난독화기 /프리미엄;
#1 기술과 함께 VBA 난독화를 사용할 수 있습니다. 이 기술은 먼저 모듈을 난독화한 다음 암호로 보호합니다. 난독화는 되돌릴 수 없으므로 진행하기 전에 소스 파일을 백업하세요. 또한 난독화된 코드는 오류 없이 실행될 수 있다는 보장이 없습니다. 릴리스하기 전에 철저히 테스트하세요. 프로젝트의 한 부분을 사용하여 난독화합니다. 첫 번째 모듈 난독화 테스트가 성공한 후 두 번째로 넘어갑니다.
#3 VBA 코드를 동적 연결 라이브러리(DLL)로 변환
Visual C++ 및 Visual Basic과 같은 컴파일러는 크랙하기 어려운 애플리케이션을 생성합니다. 이는 코드가 실행 파일이나 동적 링크 라이브러리 파일로 컴파일되기 때문입니다. 따라서 VBA 코드를 동적 링크 라이브러리 파일로 컴파일한 다음 Excel에서 사용할 수도 있습니다.
- 보안 수준: 높음
- 난이도: 보통
- 비용: 무료
이 보호 방법은 강력히 권장되지만 100% 보장되지는 않습니다. 컴파일 방법을 알아보려면 VbaCompiler.com의 지침을 참조하세요. VBA 코드를 네이티브 Windows DLL로 컴파일하는 10단계 .
#4 VBA를 C 또는 C++로 변환
매크로를 C나 C++로 변환하는 것은 VBA보다 리버스 엔지니어링하기 어렵습니다. 코드를 보호하고 싶다면 이것이 가장 좋은 방법입니다.
- 보안 수준: 가장 높음; 권한이 없으면 코드를 얻는 게 거의 불가능; 하지만 다시 말하지만, 100% 보장되는 건 아닙니다.
- 난이도: 복잡하고 시간이 많이 걸립니다. VBA와 C/C++는 매우 다른 언어이기 때문에 많은 노력을 투자해야 하므로 더 어렵습니다.
결론
매크로를 사용하면 고급 기능 개발을 간소화하는 좋은 방법입니다. 안타깝게도 이렇게 하면 코드가 다른 사람에게 도난당하거나 복사될 위험이 있습니다. 이 문서에서는 다른 사용자가 VBA 코드를 도난하거나 변조하는 것을 방지하는 데 사용할 수 있는 방법에 대해 설명합니다. VBA 코드 보호는 완벽한 보안은 아니지만 일반 공격자에 대한 어느 정도의 보호 기능을 제공합니다.