이 내 첫 번째 질문 그래서 부드러운 주시기 바랍니다 ...라이센스 방식 스푸핑 안전 및 취소 기능
내가 라이선스 방식의 일종을 사용하여 보호하고자하는 소프트웨어에 일하고 있습니다. 기본 구성표는 사용자에게 "고유 한"키를 생성하는 것입니다. 사용자는 소프트웨어를 등록하고 활성화 코드를 수신 할 때이 키와 등록 코드를 전송합니다.
응용 프로그램이 실행되면 활성화 코드를 해독하여 수신 한 "고유"키와 데이터 영역을 비교하여 활성화 코드의 유효성을 검사합니다.
이 하나의 등은 그러나이 계획은 두 가지 속성이 부족 다른 암호화 알고리즘을 선택할 수 있습니다, 공정하고 구현하기가 매우 간단합니다 : 사용자가 동일한 "고유의 생산 스푸핑 하드웨어 서명 등을 관리하는 경우
- 을 "다른 컴퓨터에서 키를 입력하면 동일한 라이센스 데이터를 사용할 수 있습니다.
- 사용자가 응용 프로그램을 제거하고 다른 컴퓨터로 이동하려는 경우 이전 컴퓨터에서 이전 라이센스 데이터를 다시 사용하지 않고 새 설치에 대한 새 라이센스 데이터를 계속 가져올 수 없습니다.
이러한 문제를 해결하는 방법에 대한 제안 사항이 있으십니까?
"고유 한"키에 임의의 데이터를 추가하는 것이 하나의 아이디어입니다.이 임의의 데이터는 애매한 방식으로 저장되며, 사용자가 응용 프로그램을 삭제하면 임의의 데이터가 제거되고 해시 이전의 무작위 데이터와 라이센스 데이터가 생성되어 나에게 전송되어 애플리케이션을 실제로 제거했는지 확인하고 무작위 데이터가 변경된 이후에 이전 라이선스 데이터를 다시 사용할 수 없도록 만들었습니다.
지금은 이상 밖으로, ...
편집 : 내가 현재 작동하는 방식을 가지고, 내가 하드웨어 변경은 매우 드문 경우 가장 일반적인 제품이 포함 된 환경에 설치되어 있다고 언급해야하고 하드웨어 오류가있는 경우 가장 확실한 기계 고장이 발생합니다. 그러나 하드웨어 키 계획을 수정하여 몇 가지 변경 사항을 고려할 수있었습니다.
또한이 때문에 소프트웨어는 VM 내부에서 실행되지 않을 가능성이 높습니다.하지만 좋은 점은 생각해 보지 않았습니다.
응용 프로그램이 정기적으로 호출하지 않는 경우 네트워크 연결을 사용할 수있는 경우 사용자는 더 자동 등록 옵션을 얻습니다. 그렇지 않으면 등록 키를 가져 와서 소프트웨어에 입력하고 설치 ID를 얻습니다. 나에게 제공되면, 등록 코드 + 설치 ID는 사용자가 소프트웨어를 잠금 해제하는 활성화 키를 생성합니다.
내가 찾고있는 것은 2 점에 대한 좋은/실현 가능한 해결책입니다. 하드웨어 스푸핑, 라이센스 키 해지, 즉 사용자가 동일한 regcode + activationcode를 사용할 수 없도록합니다.
당신이 보호하려고하는지 분명히해야한다,
앱이 단순히 키를 "비교"하는 경우 크래커는 단순히 JMP 명령을 삽입하여 비교를 건너 뛰거나 "VERIFIED"를 반환 할 수 있습니다. 앱을 중단하고 실행이 좋은 키 대 나쁜 키를 비교하는 것입니다. 이것은 작업을 수행하기 위해 코드를 실행해야하므로 보호하기가 매우 어렵습니다. –
크래커가 jz에서 jnz로 또는 그 반대로 변경해야하는 경우 활성화 키에 응용 프로그램이 제대로 작동하는 데 필요한 데이터 파일의 암호를 해독하기 위해 자동으로 사용되는 포함 된 암호화 키가 활성화 키에 포함될 수 있습니다. 소프트웨어가 올바르게 작동하도록 올바른 코드를 얻으십시오. 그런데 좋은 의견입니다! –
흠. 데이터 파일이 고객마다 고유하다는 뜻입니까? –