안녕하세요, 매번 눈팅만 하다가 프로그래머 게시판의 존재를 오늘에서 알고 평소에 궁금했던 질문 하나 남깁니다.
저는 컴퓨터나 코딩을 전공으로 하진 않지만, 평소 업무 중에 단순 반복의 일을 줄이고자 가벼운 코드를 종종 작성해서 사용하는 편입니다.
가끔은 간단한 배치파일 등을 exe 파일로 컴파일하여 동료와 공유하곤 하는데요.
문득, 개발자 입장에서 해당 배치파일의 라이센스 관리를 어떻게 할 수 있는지, 그 원리가 궁금합니다.
예를 들면 지금 중요한 내용의 코드는 비밀번호(라이센스 번호 같은 개념이죠)를 설정하여, 사용자가 해당 비밀번호를 입력하면 실행파일 하위 폴더에 텍스트 파일로 입력한 비밀번호를 저장해 두었다가, 다음 번에 실행할 때는 해당 파일에 저장되어 있는 비밀번호가 맞으면 더 이상 비밀번호를 묻지 않고 연산이 실행됩니다.
여기서 질문입니다. A라는 사람에게 해당 exe 파일과 비밀번호 1234를 알려주었을 때, A가 B에게 해당 파일과 비밀번호를 복사해서 넘겨주어 B가 새로이 해당 비밀번호를 등록할 때, A라는 사람은 해당 exe 파일을 사용할 수 없도록 하는 원리가 뭔가요?
즉, 비슷한 예로 윈도우 7 라이센스를 A컴퓨터에 등록했다가, 이후 B컴퓨터에 동일한 라이센스를 등록할 경우 A는 등록이 취소되도록 하는 원리가 궁금합니다.
해당 컴파일 파일의 마구잡이식 유포를 막고자 하는 목적인데..
제 생각에는(실제로 이 방법이 사용되는지는 잘 모르겠습니다만) A컴퓨터에서 처음 라이센스를 등록할 때, 라이센스와 해당PC의 고유번호를 자동으로 특정 서버에 전송받도록 하고, 향후 해당 파일을 실행할 때마다 서버에서 라이센스+고유번호를 확인하고 실행토록 하고.. B컴퓨터에서 등록을 하면 해당 라이센스+고유번호가 A 컴퓨터의 라이센스+고유번호를 덮어쓰도록(?) 해야할 것 같은데..
말로는 쉬운데, 구현이 어려울 것 같습니다.. 여기서 말하는 서버?의 개념이 뭔지.. 저 같은 전문가가 아닌 일반인도 라이센스 관리를 위한 서버를 무료로 운영할 수 있는지? 궁금합니다. 아니면 서버에 연결 없이도 저런 라이센스 관리가 가능한 것인지.. 관련 분야에 대해 아시는 분 계시면, 의견이든 참고자료든, 키워드든 큰 도움이 될 것 같습니다.
제 질문에 꼭 찝어 답을 해주시면 더욱 좋지만, 라이센스 관리에 관한 전반적인 의견이나 조언도 대환영입니다.
질문을 읽어주셔서 대단히 감사합니다.